CentOS7用firewall防火牆替代了原來的iptables,所以我們應該使用firewall的一些命令。
如下:
1.關閉防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
2.開啟某個端口(80)
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含義:
–zone #作用域
–add-port=80/tcp #添加端口,格式為:端口/通訊協議
–permanent #永久生效,沒有此參數重啟后失效
比如不攔截redis的6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
3.重啟防火牆
firewall-cmd --reload
4.其他常用命令:
firewall-cmd --state ##查看防火牆狀態,是否是running firewall-cmd --reload ##重新載入配置,比如添加規則之后,需要執行此命令 firewall-cmd --get-zones ##列出支持的zone firewall-cmd --get-services ##列出支持的服務,在列表中的服務是放行的 firewall-cmd --query-service ftp ##查看ftp服務是否支持,返回yes或者no firewall-cmd --add-service=ftp ##臨時開放ftp服務 firewall-cmd --add-service=ftp --permanent ##永久開放ftp服務 firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服務 firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口 iptables -L -n ##查看規則,這個命令是和iptables的相同的 man firewall-cmd ##查看幫助 更多命令,使用 firewall-cmd --help 查看幫助文件
CentOS 7.0默認使用的是firewall作為防火牆,使用iptables必須重新設置一下
1、直接關閉防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
2、設置 iptables service
yum -y install iptables-services
(1)如果要修改防火牆配置,如增加防火牆端口3306
vi /etc/sysconfig/iptables
(2)增加規則--開放3306端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
(3)保存退出后(:wq)
systemctl restart iptables.service #重啟防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啟動
最后重啟系統使設置生效即可。
比如使用iptables開放6379端口
開放6379端口 /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT 保存配置 /etc/rc.d/init.d/iptables save