查看已經開放的端口:
[root@localhost liuzhen]# firewall-cmd --list-ports
開啓端口
[root@localhost liuzhen]# firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含義:
--zone : 作用域,網絡區域定義了網絡連接的可信等級。這是一個一對多的關係,這意味着一次連接可以僅僅是一個區域的一部分,而一個區域可以用於很多連接
--add-port : 添加端口與通信協議,格式爲:端口/通訊協議,協議是tcp 或 udp
--permanent : 永久生效,沒有此參數系統重啓後端口訪問失效
重啓防火牆
[root@localhost liuzhen]# firewall-cmd --reload
停止firewall
[root@localhost liuzhen]# systemctl stop firewalld.service
禁止firewall開機啓動
[root@localhost liuzhen]# systemctl disable firewalld.service
firewall防火牆默認的幾個zone(由firewalld 提供的區域按照從不信任到信任的順序排序):
drop
任何流入網絡的包都被丟棄,不作出任何響應,只允許流出的網絡連接。即使開放了某些服務(比如http),這些服務的數據也是不允許通過的。
block
任何進入的網絡連接都被拒絕,並返回 IPv4 的 icmp-host-prohibited 報文或者 IPv6 的 icmp6-adm-prohibited 報文。只允許由該系統初始化的網絡連接。
public(默認)
用以可以公開的部分。你認爲網絡中其他的計算機不可信並且可能傷害你的計算機,只允許選中的服務通過。
external
用在路由器等啓用僞裝的外部網絡。你認爲網絡中其他的計算機不可信並且可能傷害你的計算機,只允許選中的服務通過。
dmz
用以允許隔離區(dmz)中的電腦有限地被外界網絡訪問,只允許選中的服務通過。
work
用在工作網絡。你信任網絡中的大多數計算機不會影響你的計算機,只允許選中的服務通過。
home
用在家庭網絡。你信任網絡中的大多數計算機不會影響你的計算機,只允許選中的服務通過。
internal
用在內部網絡。你信任網絡中的大多數計算機不會影響你的計算機,只允許選中的服務通過。
trusted
允許所有網絡連接,即使沒有開放任何服務,那麼使用此zone的流量照樣通過(一路綠燈)。
-----------------------------------------------------------------------------
CentOS7棄用以前的iptables使用firewall做防火牆,如果要嘗試之前防火牆修改開放端口方式可以關閉firewall,安裝以前的iptables
停止firewall,與之對應的是開啓。systemctl start firewalld
systemctl stop firewalld
禁止firewall開機啓動
systemctl disable firewalld
安裝iptables-services
yum install iptables-services
打開iptables的配置文件
vi文本編輯器
輸入以下內容後保存
# 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 80 -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
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
如果配置文件中已有內容則只需添加要打開的端口號即可,添加如下行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
添加打開的端口號一定在-A INPUT -j REJECT --reject-with icmp-host-prohibited和-A FORWARD -j REJECT --reject-with icmp-host-prohibited之前
vi /etc/sysconfig/iptables
:wq! #保存退出後重啓,對應的開始命令是systemctl start iptables
systemctl restart iptables
設置iptables防火牆開機啓動
systemctl enable iptables