遠端連線centos7的mysql5.7+ 更改iptables方法
本文僅供參考
1.首先開啟mysql許可權
mysql -u root -p
use mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION;
flush privileges;
第一句中"%"表示任何主機都可以遠端登入到該伺服器上訪問。如果要限制只有某臺機器可以訪問,將其換成相應的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO [email protected]"172.168.193.25" IDENTIFIED BY "root";
select * from user where user='root';
檢視是否有%這條記錄
2.開啟3306埠及常用的其它埠
檢視是否有這個檔案/etc/sysconfig/iptables,如果沒有
iptables -P OUTPUT ACCEPT
service iptables save 進行儲存,預設就儲存到了/etc/sysconfig目錄下的iptables檔案中
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允許3306資料庫埠通過防火牆
service iptables save
cat /etc/sysconfig/iptables有3306這條資訊
service iptables restart就ok咯
注:
新增允許3306埠:
#-A RH-Firewall-1-INPUT -m state -state NEW -m tcp -p tcp -d port 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT (注意:新增在-A INPUT -j REJECT --reject-with icmp-host-prohibited之前,否則可能不起作用)
其它常用埠:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允許80web埠通過防火牆
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT #email
iptables -A INPUT -p tcp --dport 25-j ACCEPT #email
iptables -A INPUT -p tcp --dport 20-j ACCEPT #ftp
iptables -A INPUT -p tcp --dport 21-j ACCEPT #ftp
iptables -A INPUT -p icmp -j ACCEPT #ping
iptables -A INPUT -p udp --dport 53 -j ACCEPT #DNS
3.檢視防火牆是否開啟:
active表示開啟,inactive表示關閉
firewall-cmd --state
norunning
4.關於防火牆的命令
重啟後永久性生效:
開啟:chkconfig iptables on
關閉:chkconfig iptables off
即時生效,重啟後失效:
開啟:service iptables start
關閉:
service iptables stop
重啟:service iptables restart
儲存配置:service iptables save
或者/etc/rc.d/init.d/iptables save
#設定防火牆開機啟動
systemctl enable iptables.service
禁止防火牆在系統啟動時啟動
/sbin/chkconfig --level 2345 iptables off
5.刪除iptables規則
檢視當前規則
iptables -L -n
iptables -L -n --line-number
iptables -D INPUT 3
新增:
vim ~/firewalld_iptables_rules
檢視路由規則
iptables -S
詳細請看(https://www.digitalocean.com/community/tutorials/how-to-migrate-from-firewalld-to-iptables-on-centos-7)