Firewalld:僅允許來自特定 IP 的 SSH 不起作用
我正在嘗試使用 Firewalld 來限制對 Linux 伺服器的訪問
環境:
a) Linux 伺服器有一個單一的網路介面:ens160
要求:
a) 只允許 IP 地址為 192.168.3.0/24 的機器能夠使用 SSH 連接到這個 Linux 伺服器
b) 它應該允許這個 Linux 伺服器只能夠使用 SSH 連接到 IP 地址 192.168.3.0 /24
c) 任何其他 IP 地址或服務(包括 Ping)都不能連接/到達此 Linux 伺服器
d) 此 Linux 伺服器不應連接/到達其他 IP 地址或服務(包括 Ping)。
進行的配置(在安裝 firewalld 之後,據我所知,firewalld 預設阻止所有連接):
a)sudo firewall-cmd –set-default-zone=internal
b)sudo firewall-cmd –zone=internal –add -interface=ens160 –permanent
c) sudo firewall-cmd –permanent –zone=internal –add-rich-rule=‘rule family=“ipv4” source address=“192.168.3.0/24” service name=“ssh “ 接受’
配置狀態:
user@server:~$ sudo firewall-cmd –list-all
內部(活動)
目標:預設
icmp-block-inversion:無
介面:ens160
源:
服務:
埠:
協議:
偽裝:無
轉發埠:
源埠:
icmp-blocks:
豐富規則:
規則族 =“ipv4”源地址=“192.168.3.0/24” 服務名稱=“ssh” 接受
使用者@伺服器:~$
驗證結果:
在某些方面有效:
a) IP 地址 192.168.2.0/24 無法使用 SSH 連接到 Linux 伺服器。
它似乎在其他方面不起作用:
a)IP 地址 192.168.2.0/24 可以 ping Linux 伺服器(這不是預期的,因為沒有其他 IP 地址或服務(包括 Ping)應該能夠連接/到達此伺服器)
b)Linux 伺服器可以 ping google.com(這是不應該的,因為此 Linux 伺服器應該無法連接/訪問其他 IP 地址或服務(包括 Ping))。
有人可以幫我嗎?非常感激。
“ping”是 ICMP 回顯(RFC 792)。您尚未設置任何 ICMP 塊:
internal (active) icmp-blocks:
試試例如
firewall-cmd --zone=internal --add-icmp-block={echo-request,echo-reply}