CentOS中防火墻相關的命令(CentOS7中演示)
CentOS中防火墻程序主要是firewall和iptables,CentOS7中firewall服務已經默認安裝好了,而iptables服務需要自己用yum install iptabes-services來安裝。
說明:以下演示均在CentOS7中進行,其他版本也大同小異
1、firewall相關的操作
查看防火墻狀態
firewall-cmd --state
關閉防火墻
systemctl stop firewalld.service
開啟防火墻
systemctl start firewalld.service
禁止開機啟動啟動防火墻
systemctl disable firewalld.service
2、iptables相關的操作
2.1常規命令
iptables服務需要自己安裝,命令是:
yum install iptables-services
如圖:
開啟iptables防火墻的命令是:
systemctl start iptables.service
重啟iptables防火墻的命令是:
systemctl restart iptables.service
關閉iptables防火墻的命令是:
systemctl stop iptables.service
查看iptables防火墻狀態的命令是:
systemctl status iptables.service
如圖:
2.2使用編輯文件的方式開放特定的端口
很多時候,需要開啟防火墻,但是放行某些特定的端口,如何在防火墻開啟的狀態下,放行50007端口?按照下面的步驟做。
2.2.1修改規則
主要是編輯/etc/sysconfig/iptables文件,編輯方法很多,可以使用vim編輯,也可以直接把該文件下載到本地,用本地工具編輯。
將原來的內容 :INPUTACCEPT [0:0] 修改為 :INPUT DROP[0:0]
將原來的內容 :FORWARDACCEPT [0:0] 修改為 :FORWARD DROP[0:0]
將原來的內容 :OUTPUT ACCEPT [0:0] 修改為 :OUTPUTACCEPT [0:480]
2.2.2添加放行的端口
iptables文件的末尾有如下三行內容:
-A INPUT -j REJECT--reject-with icmp-host-prohibited
-A FORWARD -j REJECT--reject-with icmp-host-prohibited
COMMIT
在這這三行的前面添加一行放行50070端口的配置內容:
-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT
同理,如果要放行80端口,就添加一行:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
修改完成後,我的/etc/sysconfig/iptables文件是這樣的:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:480]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22-j ACCEPT
-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
2.2.3重啟iptables防火墻
執行重啟iptables防火墻的命令,命令是:
systemctl restart iptables.service
如圖:
2.2.4測試端口放行效果
在使用命令systemctl stop firewalld.service關閉防火墻,使用命令systemctl start iptables.service開啟防火墻,但是為配置/etc/sysconfig/iptables文件,未放行50070端口的情況下,訪問以下地址http://192.168.27.134:50070/dfshealth.html#tab-overview
是訪問不了的,如圖:
在配置了/etc/sysconfig/iptables文件,添加了放行50070端口,並且重啟了iptables防火墻的情況下,在訪問該地址:http://192.168.27.134:50070/
發現OK了,如圖:
2.3使用執行命令的方式開放特定端口
2.3.1執行命令
在不手動修改iptables防火墻的配置文件的情況下,使用命令做到放行某些常用端口,命令集合是:
iptables -P INPUT ACCEPT
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -i lo -jACCEPT
iptables -A INPUT -p tcp --dport22 -j ACCEPT
iptables -A INPUT -p tcp --dport21 -j ACCEPT
iptables -A INPUT -p tcp --dport80 -j ACCEPT
iptables -A INPUT -p tcp --dport8080 -j ACCEPT
iptables -A INPUT -p tcp --dport8088 -j ACCEPT
iptables -A INPUT -p tcp --dport443 -j ACCEPT
iptables -A INPUT -p icmp--icmp-type 8 -j ACCEPT
iptables -A INPUT -p tcp --dport50070 -j ACCEPT
iptables -A INPUT -m state --stateRELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
service iptables save
systemctl restart iptables.service
如圖:
CentOS中防火墻相關的命令(CentOS7中演示)