如果防火牆開啓,我們pingLinux服務器的IP會ping不通,所以我們要對防火牆進行設置(一般情況下只需執行1裏邊的命令就可以了):
1、firewalld的基本使用
啓動防火牆: systemctl start firewalld
查看防火牆狀態: systemctl status firewalld
停止防火牆: systemctl disable firewalld
禁用防火牆: systemctl stop firewalld
屏蔽:systemctl mask firewalld 屏蔽防火牆服務(讓它不能啓動) ln -s '/dev/null''/etc/systemd/system/firewalld.service' 取消屏蔽:systemctl unmask firewalld 顯示服務(如 firewalld.service) rm '/etc/systemd/system/firewalld.service'
2.systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能於一體。
啓動一個服務:systemctl start firewalld.service
關閉一個服務:systemctl stop firewalld.service
重啓一個服務:systemctl restart firewalld.service
顯示一個服務的狀態:systemctl status firewalld.service
在開機時啓用一個服務:systemctl enable firewalld.service
在開機時禁用一個服務:systemctl disable firewalld.service
查看服務是否開機啓動:systemctl is-enabled firewalld.service
查看已啓動的服務列表:systemctl list-unit-files|grep enabled
查看啓動失敗的服務列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看幫助: firewall-cmd --help
顯示狀態: firewall-cmd --state
查看所有打開的端口: firewall-cmd --zone=public --list-ports
更新防火牆規則: firewall-cmd --reload
查看區域信息: firewall-cmd --get-active-zones
查看指定接口所屬區域: firewall-cmd --get-zone-of-interface=eth0
拒絕所有包:firewall-cmd --panic-on
取消拒絕狀態: firewall-cmd --panic-off
查看是否拒絕: firewall-cmd --query-panic
那怎麼開啓一個端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重啓後失效)
重新載入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
刪除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
修改端口啓用
在每次修改 端口和服務後 /etc/firewalld/zones/public.xml 文件就會被修改 所以也可以在文件中之間修改 然後重新加載
#systemctl start firewalld.service //開啓服務
#systemctl enable firewalld.service //開機制動啓動
#systemctl stop firewalld.service //關閉服務
#systemctl disable firewalld.service //禁止開機啓動
獲取 firewalld 狀態
firewall-cmd --state
此舉返回 firewalld 的狀態,沒有任何輸出。可以使用以下方式獲得狀態輸出:
firewall-cmd --state && echo "Running" || echo "Not running"
在 Fedora 19 中, 狀態輸出比此前直觀:
# rpm -qf $( which firewall-cmd ) firewalld-0.3.3-2.fc19.noarch# firewall-cmd --state not running
在不改變狀態的條件下重新加載防火牆:
firewall-cmd --reload
如果你使用–complete-reload,狀態信息將會丟失。這個選項應當僅用於處理防火牆問題時,例如,狀態信息和防火牆規則都正常,但是不能建立任何連接的情況。
獲取支持的區域列表
firewall-cmd --get-zones
這條命令輸出用空格分隔的列表。
獲取所有支持的服務
firewall-cmd --get-services
這條命令輸出用空格分隔的列表。
獲取所有支持的ICMP類型
firewall-cmd --get-icmptypes
這條命令輸出用空格分隔的列表。
列出全部啓用的區域的特性
firewall-cmd --list-all-zones
輸出格式是:
<zone> interfaces: <interface1> .. services: <service1> .. ports: <port1> .. forward-ports: <forward port1> .. icmp-blocks: <icmp type1> ....
輸出區域 <zone> 全部啓用的特性。如果生略區域,將顯示默認區域的信息。
firewall-cmd [--zone=<zone>] --list-all
獲取默認區域的網絡設置
firewall-cmd --get-default-zone
設置默認區域
firewall-cmd --set-default-zone=<zone>
流入默認區域中配置的接口的新訪問請求將被置入新的默認區域。當前活動的連接將不受影響。
獲取活動的區域
firewall-cmd --get-active-zones
這條命令將用以下格式輸出每個區域所含接口:
<zone1>: <interface1> <interface2> ..<zone2>: <interface3> ..
根據接口獲取區域
firewall-cmd --get-zone-of-interface=<interface>
這條命令將輸出接口所屬的區域名稱。
將接口增加到區域
firewall-cmd [--zone=<zone>] --add-interface=<interface>
如果接口不屬於區域,接口將被增加到區域。如果區域被省略了,將使用默認區域。接口在重新加載後將重新應用。
修改接口所屬區域
firewall-cmd [--zone=<zone>] --change-interface=<interface>
這個選項與 –add-interface 選項相似,但是當接口已經存在於另一個區域的時候,該接口將被添加到新的區域。
從區域中刪除一個接口
firewall-cmd [--zone=<zone>] --remove-interface=<interface>
查詢區域中是否包含某接口
firewall-cmd [--zone=<zone>] --query-interface=<interface>
返回接口是否存在於該區域。沒有輸出。
列舉區域中啓用的服務
firewall-cmd [ --zone=<zone> ] --list-services
啓用應急模式阻斷所有網絡連接,以防出現緊急狀況
firewall-cmd --panic-on
禁用應急模式
firewall-cmd --panic-off
應急模式在 0.3.0 版本中發生了變化 在 0.3.0 之前的 FirewallD版本中, panic 選項是 –enable-panic 與 –disable-panic.
查詢應急模式
firewall-cmd --query-panic
此命令返回應急模式的狀態,沒有輸出。可以使用以下方式獲得狀態輸出:
firewall-cmd --query-panic && echo "On" || echo "Off"
service iptables status可以查看到iptables服務的當前狀態。
但是即使服務運行了,防火牆也不一定起作用,你還得看防火牆規則的設置 iptables -L
在此說一下關於啓動和關閉防火牆的命令:
1) 重啓後生效
開啓: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重啓後失效
開啓: service iptables start
關閉: service iptables stop