新聞中心
centos 7中防火墻FirewallD是一個(gè)非常的強(qiáng)大的功能了, FirewallD 提供了支持網(wǎng)絡(luò)/防火墻區(qū)域(zone)定義網(wǎng)絡(luò)鏈接以及接口安全等級(jí)的動(dòng)態(tài)防火墻管理工具。

安裝與管理
啟動(dòng)服務(wù),并在系統(tǒng)引導(dǎo)時(shí)啟動(dòng)該服務(wù):
sudo systemctl start firewalld
sudo systemctl enable firewalld
要停止并禁用:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
檢查防火墻狀態(tài)。輸出應(yīng)該是 running 或者 not running
sudo firewall-cmd --state
要查看 FirewallD 守護(hù)進(jìn)程的狀態(tài):
sudo systemctl status firewalld
在開(kāi)機(jī)時(shí)啟用一個(gè)服務(wù)
systemctlenable firewalld.service
在開(kāi)機(jī)時(shí)禁用一個(gè)服務(wù)
systemctldisable firewalld.service
查看所有打開(kāi)的端口
firewall-cmd--zone=public --list-ports
更新防火墻規(guī)則
firewall-cmd --reload
查看區(qū)域信息
firewall-cmd--get-active-zones
查看指定接口所屬區(qū)域
firewall-cmd--get-zone-of-interface=eth0
重新加載 FirewallD 配置
sudo firewall-cmd --reload
配置集
將規(guī)則同時(shí)添加到持久規(guī)則集和運(yùn)行時(shí)規(guī)則集中
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=http
將規(guī)則添加到持久規(guī)則集中并重新加載 FirewallD
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
防火墻的區(qū)域
要找到默認(rèn)區(qū)域
sudo firewall-cmd --get-default-zone
要修改默認(rèn)區(qū)域
sudo firewall-cmd --set-default-zone=internal
要查看你網(wǎng)絡(luò)接口使用的區(qū)域
sudo firewall-cmd --get-active-zones
示例輸出
public
interfaces: eth0
要得到特定區(qū)域的所有配置
sudo firewall-cmd --zone=public --list-all
示例輸出
public (default, active)
interfaces: ens160
sources:
services: dhcpv6-client http ssh
ports: 12345/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
要得到所有區(qū)域的配置
sudo firewall-cmd --list-all-zones
示例輸出
block
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
...
work
interfaces:
sources:
services: dhcpv6-client ipp-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
與服務(wù)一起使用
要查看默認(rèn)的可用服務(wù)
sudo firewall-cmd --get-services
比如,要啟用或禁用 HTTP 服務(wù)
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --remove-service=http --permanent
允許或者拒絕任意端口/協(xié)議
比如:允許或者禁用 12345 端口的 TCP 流量
sudo firewall-cmd --zone=public --add-port=12345/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=12345/tcp --permanent
端口轉(zhuǎn)發(fā)
下面是在同一臺(tái)服務(wù)器上將 80 端口的流量轉(zhuǎn)發(fā)到 12345 端口
sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=12345
用 FirewallD 構(gòu)建規(guī)則集
將 eth0 的默認(rèn)區(qū)域設(shè)置為 dmz。 在所提供的默認(rèn)區(qū)域中,dmz(非軍事區(qū))是最適合于這個(gè)程序的,因?yàn)樗辉试S SSH 和 ICMP
sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0
把 HTTP 和 HTTPS 添加永久的服務(wù)規(guī)則到 dmz 區(qū)域中
sudo firewall-cmd --zone=dmz --add-service=http --permanent
sudo firewall-cmd --zone=dmz --add-service=https --permanent
重新加載 FirewallD 讓規(guī)則立即生效
sudo firewall-cmd --reload
如果你運(yùn)行 firewall-cmd –zone=dmz –list-all, 會(huì)有下面的輸出
dmz (default)
interfaces: eth0
sources:
services: http https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
高級(jí)配置
允許來(lái)自主機(jī) 192.168.0.14 的所有 IPv4 流量
sudo firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address=192.168.0.14 accept'
拒絕來(lái)自主機(jī) 192.168.1.10 到 22 端口的 IPv4 的 TCP 流量
sudo firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject'
允許來(lái)自主機(jī) 10.1.0.3 到 80 端口的 IPv4 的 TCP 流量,并將流量轉(zhuǎn)發(fā)到 6532 端口上
sudo firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=10.1.0.3 forward-port port=80 protocol=tcp to-port=6532'
將主機(jī) 172.31.4.2 上 80 端口的 IPv4 流量轉(zhuǎn)發(fā)到 8080 端口(需要在區(qū)域上激活 masquerade)
sudo firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 forward-port port=80 protocol=tcp to-port=8080 to-addr=172.31.4.2'
列出你目前的豐富規(guī)則
sudo firewall-cmd --list-rich-rules
iptables 的直接接口
要查看添加到 FirewallD 的所有自定義鏈或規(guī)則
firewall-cmd --direct --get-all-chains
firewall-cmd --direct --get-all-rules
本文標(biāo)題:詳解CentOS上的FirewallD
瀏覽路徑:http://www.dlmjj.cn/article/cdsoijg.html


咨詢
建站咨詢
