1、 永久關閉防火牆,重啟后生效
開啟:chkconfig iptables on
關閉:chkconfig iptables off
2、當時生效,重啟后失效
開啟:service iptables start
失效:service iptables stop
狀態:service iptables status
3、查看iptables文件
vim /etc/sysconfig/iptables
-----------------------------------------------------------------------------------------------------
CentOS 7 使用firewalld代替了原來的iptables,使用方法如下:
>>>關閉防火牆
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
>>>開啟端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含義
--zone #作用域
--add-port=80/tcp #添加端口,格式為:端口/通訊協議
--permanent #永久生效,沒有此參數重啟后失效
>>>重啟防火牆
firewall-cmd --reload
其他常用命令:
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
如果要修改防火牆配置,如增加防火牆端口3306
vi /etc/sysconfig/iptables
增加規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出后
systemctl restart iptables.service #重啟防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啟動
最后重啟系統使設置生效即可。
二、只開放某個端口
linux系統(centos、redhat等)的防火牆是默認只對外開放了22端口。
1、手動修改配置文件
修改Linux系統防火牆配置需要修改 /etc/sysconfig/iptables 這個文件,如果要開放哪個端口,在里面添加一條
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 就可以了,其中 8080 是要開放的端口號,然后重新啟動linux的防火牆服務,
/etc/init.d/iptables restart。或service iptables restart
配置:view plain c
- # Firewall configuration written by system-config-firewall
- # Manual customization of this file is not recommended.
- *filter
- :INPUT ACCEPT [0:0]
- :FORWARD ACCEPT [0:0]
- :OUTPUT ACCEPT [0:0]
- -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- -A INPUT -p icmp -j ACCEPT
- -A INPUT -i lo -j ACCEPT
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
- -A INPUT -j REJECT --reject-with icmp-host-prohibited
- -A FORWARD -j REJECT --reject-with icmp-host-prohibited
- COMMIT
- /sbin/iptables -L -n
2、命令行方式
在命令行添加外網端口訪問 linux開啟允許外網訪問的端口 LINUX開啟允許對外訪問的網絡端口 LINUX通過下面的命令可以開啟允許對外訪問的網絡端口:
/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
#開啟8000端口 /etc/rc.d/init.d/iptables save
#保存配置 /etc/rc.d/init.d/iptables restart
#重啟服務 查看端口是否已經開放 /etc/init.d/iptables status