溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳述Linux中Firewalld高級(jí)配置的使用

發(fā)布時(shí)間:2020-09-27 11:32:13 來源:腳本之家 閱讀:177 作者:SiceLc 欄目:服務(wù)器

IP偽裝與端口轉(zhuǎn)發(fā)

Firewalld支持兩種類型的網(wǎng)絡(luò)地址轉(zhuǎn)換

IP地址偽裝(masquerade)

  • 可以實(shí)現(xiàn)局域網(wǎng)多個(gè)地址共享單一公網(wǎng)地址上網(wǎng)
  • IP地址偽裝僅支持IPv4,不支持IPv6
  • 默認(rèn)external區(qū)域啟用地址偽裝

端口轉(zhuǎn)發(fā)(Forward-port)

  • 也稱為目的地址轉(zhuǎn)換或端口映射
  • 通過端口轉(zhuǎn)發(fā),指定IP地址及端口的流量將被轉(zhuǎn)發(fā)到相同計(jì)算機(jī)上的不同端口,或者轉(zhuǎn)發(fā)到不同計(jì)算機(jī)上的端口

地址偽裝配置

為指定區(qū)域增加地址偽裝功能

firewall-cmd [--permanent] [--zone= zone] --add-masquerade [--timeout seconds]
 //--timeout=seconds:在一段時(shí)間后自動(dòng)刪除該功能

為指定區(qū)域刪除地址偽裝功能

firewall-cmd [--permanent] [--zone= zone] --remove-masquerade

查詢指定區(qū)域是否開啟地址偽裝功能

firewall-cmd [--permanent] [--zone=zone] --query-masquerade

端口轉(zhuǎn)發(fā)配置

列出端口轉(zhuǎn)發(fā)配置

firewall-cmd [--permanent] [--zone=zone] --list-forward-ports

添加端口轉(zhuǎn)發(fā)規(guī)則

firewall-cmd [--permanent] [--zone=zone] --add-forward-port=port=portid[-portid]:proto=protocol[:toport-portid[-portid]][:toaddr-address[/mask]][--timeout=seconds]

刪除端口轉(zhuǎn)發(fā)規(guī)則

firewall-cmd [--permanent] [--zone=zone] --remove-forward-port=port=portid[-portid]:proto=protocol[:toport=portid[-portid]][:toaddr=address[/mask]]

查詢端口轉(zhuǎn)發(fā)規(guī)則

firewall-cmd [--permanent] [--zone=zone] --query-forward-port-port-portid[-portid]:proto=protocol[:toport-portid[-portid]][:toaddr=address[/mask]]

Firewalld直接規(guī)則

直接規(guī)則(direct interface)

  • 允許管理員手動(dòng)編寫的iptables、ip6tables和ebtables 規(guī)則插入到Firewalld管理的區(qū)域中
  • 通過firewall-cmd命令中的--direct選項(xiàng)實(shí)現(xiàn)
  • 除顯示插入方式之外,優(yōu)先匹配直接規(guī)則

自定義規(guī)則鏈

Firewalld自動(dòng)為配置”了 規(guī)則的區(qū)域創(chuàng)建自定義規(guī)則鏈

  • IN 區(qū)域名 deny: 存放拒絕語句,優(yōu)先于"IN 區(qū)域名 _allow" 的規(guī)則
  • IN 區(qū)域名 allow: 存放允許語句

允許TCP/9000端口的入站流量

irewall-cmd --direct --add-rule ipv4 filter IN work_ allow 0 -p tcp --dport 9000 j ACCEPT
  • IN work_ allow: 匹配work區(qū)域的規(guī)則鏈
  • 0:代表規(guī)則優(yōu)先級(jí)最高,放置在規(guī)則最前面
  • 可以增加 --permanent選項(xiàng)表示永久配置

查詢所有的直接規(guī)則

firewall-cmd --direct --get-all-rules
ipv4 filter IN_ work _allow 0 -p tcp --dport 9000 -j ACCEPT

可以增加 --permanent選項(xiàng)表示查看永久配置

Firewalld富語言規(guī)則

富語言(rich language)

表達(dá)性配置語言,無需了解iptables語法

用于表達(dá)基本的允許/拒絕規(guī)則、配置記錄(面向syslog和auditd)、端口轉(zhuǎn)發(fā)、偽裝和速率限制

rule [family="<rule family>"]
 [ source address="<address>" [invert "True"] ]
 [ destination address="<address>" [invert="True"] ]
 [ <element> ]
 [ log [prefix="<prefix text>"] [level="<log level>"] [limit value="rate/duration"] ]
 [ audit ]
 [ acceptlrejectldrop ]

理解富語言規(guī)則命令

firewall-cmd處理富語言規(guī)則的常用選項(xiàng)

選項(xiàng) 說明
-add-rich-rule= 'RULE' 向指定區(qū)域中添加RULE,如果沒有指定區(qū)域,則為默認(rèn)區(qū)域
--remove-rich-rule= 'RULE' 從指定區(qū)域中刪除RULE,如果沒有指定區(qū)域,則為默認(rèn)區(qū)域
--query-rich-rule= 'RULE' 查詢RULE是否已添加到指定區(qū)域,如果未指定區(qū)域,則為默認(rèn)區(qū)域。<br/>規(guī)則存在,則返回0,否則返回1
--list-rich-rules 輸出指定區(qū)域的所有富規(guī)則,如果未指定區(qū)域,則為默認(rèn)區(qū)域

已配置富語言規(guī)則顯示方式

firewall-cmd --list-all
firewall-cmd --list-all-zones
--list-rich-rules

富語言規(guī)則具體語法

source、destination、 element、 service、 port、 protocol、icmp-block、masquerade、 forward-port、 log、 audit、acceptlreject|drop

拒絕從192.168.8.101的所有流量

firewall-cmd --permanent --zone=work --add-rich-rule='rule family=ipv4 source address=192.168.8.101/32 reject'

ddress選項(xiàng)使用source或destination時(shí),必須用family= ipv4 | ipv6

接受192.168.1.0/24子網(wǎng)端口范置8000-9000的TCP流量

firewall-cmd --permanent --one=work --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=8000-9000 protocol=tcp accept'

丟棄所有icmp包

firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'

接受來自192.168.8.1的http流量,并記錄日志

firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.8.1/32 service name="http" log level=notice prefix= "NEW HTTP”limit value "3/s" accept'

以192.168.8.1訪問http,并觀察/var/log/messages

Apr 16 17:09:55 Server kernel: NEW HTTP IN=ens33 OUT=
MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131
LEN=52 TOS=0xOO PREC=0x00 TTL =64 ID=20582 DF PROTO=TCP SPT=65289 DPT=80
WINDOW=8192 RES=0x00 SYN URGP=0
Apr 16 17:09:55 Server kernel: NEW HTTP IN=ens33 OUT=
MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131
LEN=52 TOS=0x0O PREC=0x0O TTL =64 ID=20590 DF PROTO=TCP SPT=65291 DPT=80
WINDOW=8192 RES=0x00 SYN URGP=0
Apr 16 17:09:55 Server kernel: NEW HTTP IN=ens33 OUT=
MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131
LEN=52 TOS=0x0O PREC=0x0O TTL =64 ID=20602 DF PROTO=TCP SPT=65292 DPT=80
WINDOW=8192 RES=0x00 SYN URGP=0

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI