一、防火牆基礎命令
1、開啟防火牆
[root@server ~]# systemctl start firewalld
2、查看防火牆狀態
[root@server ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-05-17 06:31:53 EDT; 1 weeks 1 days ago Docs: man:firewalld(1) Main PID: 710 (firewalld) Tasks: 2 Memory: 1.4M CGroup: /system.slice/firewalld.service └─710 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
3、關閉防火牆
[root@server ~]# systemctl stop firewalld
4、開機啟動
[root@server ~]# systemctl enable firewalld
5、關閉開機啟動
[root@server ~]# systemctl disable firewalld
6、添加防火牆規則
添加192.168.0.0/16網段訪問本機80端口
[root@server ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" port protocol="tcp" port="80" accept"
7、查看防火牆規則
[root@server ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.0.0/16" port port="80" protocol="tcp" accept
8、刪除防火牆規則
[root@server ~]# firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.0.0/16" port port="80" protocol="tcp" accept"
9、添加單個端口開放訪問
firewall-cmd --zone=public --permanent --add-port=3389/tcp --permanent
10、添加指定范圍端口開放訪問
[root@server ~]# firewall-cmd --zone=public --add-port=10001-11999/tcp --permanent
11、刪除開放端口規則
firewall-cmd --permanent --remove-port=10001-11999/tcp
12、重新加載防火牆規則
[root@server ~]# firewall-cmd --reload success
二、防火牆命令進階
Firewalld 一般已經默認內置了 9 個區域(zone),大部分情況下,這些已經足夠使用,按從最不信任到最受信任的順序為:
drop:最低信任級別。所有傳入的連接都將被丟棄而不會回復,並且只能進行傳出連接。
block:與上述類似,但不是簡單地刪除連接,而是使用 icmp-host-prohibitedor 和 icmp6-adm-prohibited 消息拒絕傳入的請求。
public:表示不信任的公共網絡。您不信任其他計算機,但可能會視情況允許選擇的傳入連接。默認情況下,此區域為激活狀態。
external:如果你使用防火牆作為網關,則為外部網絡。將其配置為 NAT 轉發,以便你的內部網絡保持私有但可訪問。
internal:external 區域的另一側,用於網關的內部。這些計算機值得信賴,並且可以使用一些其他服務。
dmz:用於 DMZ (DeMilitarized Zone) 中的計算機(將無法訪問網絡其余部分的隔離計算機),僅允許某些傳入連接。
work:用於工作機。信任網絡中的大多數計算機。可能還允許其他一些服務。
home:家庭環境。通常,這意味着您信任其他大多數計算機,並且將接受其他一些服務。
trusted:信任網絡中的所有計算機。可用選項中最開放的,應謹慎使用。
1、添加指定IP段訪問
[root@server ~]# firewall-cmd --permanent --zone=trusted --add-source=173.245.48.0/24
2、添加指定IP訪問
[root@server ~]# firewall-cmd --permanent --zone=trusted --add-source=173.245.48.1
3、重新加載防火牆規則 (添加永久參數 --permanent 一定要重啟,否則不生效)
[root@server ~]# firewall-cmd --reload
4、查看規則
[root@server ~]# firewall-cmd --zone=trusted --list-all
5、刪除規則
[root@server ~]# firewall-cmd --permanent --zone=trusted --remove-source=173.245.48.1