Linux Firewall-cmd 防火牆 IP Port
Firewalld 防火牆常見用法介紹
Linux 常見防火牆有 iptables 與 firewalls ,這裡主要針對 firewalld安裝及常見用法進行說明,這裡以 CentOS7 來進行說明:
安裝 firewalld 及設定開機自動啟用
安裝防火牆
- sudo yum install firewall
複製代碼
安裝完成後,啟用防火牆
並且設定開機自動啟用
查看 firewalld 運行狀態
接著,就可以透過 firewall-cmd
state 查看狀態
透過 state 可以查看目前運行狀態,如果顯示 running 就表示正常運行
CVT2HUGO: 來進行設置及操作
查看目前防火牆名單
查看詳細內容
- firewall-cmd --list-rich-rules
複製代碼
重新載入防火牆規則
每次重新設定防火牆後,firewalld 並不會自動生效,需要透過 reload 重新載入規則讓設定生效
暫時開放白名單 或永久開放防火牆白名單
在只有設定允許的設定時,設定的內容會是暫時性的,例如,暫時開放 http
- firewall-cmd --add-service=http
複製代碼
可以透過 –permanent 設定為永久,例如,永久開放 http
- firewall-cmd --permanent --add-service=http
複製代碼
新增 port/tcp 白名單
增加一個 port 到防火牆白名單
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- firewall-cmd --reload
複製代碼
移除 port/tcp 禁止外部訪問
透過以下方式將指定的 port 關閉,禁止外部訪問
- firewall-cmd --zone=public --remove-port=3306/tcp --permanent
- firewall-cmd --reload
複製代碼
新增連線協議到白名單
可以針對協定來新增到防火牆白名單,例如,將 HTTP 協定增加到白名單
- firewall-cmd --zone=public --add-service=http --permanent
- firewall-cmd --reload
複製代碼
移除連線協議
從防火牆白名單刪除指定的連線協議
- firewall-cmd --zone=public --remove-service=http --permanent
- firewall-cmd --reload
複製代碼
允許區段 port
可以設定某區間的 port 進入白名單
- firewall-cmd --zone=public --add-port=20000-20100/tcp --permanent
複製代碼
允許特定IP訪問
允許指定的 IP 可訪問,這裡可以設定 IP 掩碼
- firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.77.100/32" accept' --permanent
複製代碼
或者允許 192.168.77.1~ 254
- firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.77.100/24" accept' --permanent
複製代碼
備註,IP 掩碼 (Subnet Masks)
32表示子網掩碼:255.255.255.255
24表示子網掩碼:255.255.255.0
16表示子網掩碼:255.255.0.0
8表示子網掩碼:255.0.0.0
禁止特定IP訪問
可以透過 reject 來禁止特定IP訪問
- firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.77.100/32" reject' --permanent
複製代碼
或者禁止某區段
- firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.77.100/24" reject' --permanent
複製代碼
允許特定 IP 訪問指定 port
有時我們只希望指定IP只能訪問特定 port ,可以透過 port 來達成
- firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port="3306/tcp" source address="192.168.77.100/32" accept' --permanent
複製代碼
或者
- firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.77.100" port port=22 protocol=tcp accept' --permanent
複製代碼
禁止特定IP訪問port
禁止特定IP訪問指定的 port
- firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port="3306/tcp" source address="192.168.77.100/32" reject' --permanent
複製代碼
或者
- firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.77.100" port port=22 protocol=tcp reject' --permanent
複製代碼
查看所有 zone 資訊
- firewall-cmd --list-all-zones
複製代碼 |