
我可以使用 UFW 防火牆新增一條規則,以允許單一已知 IP192.168.1.32
存取192.168.1.48
Ubuntu 14.04 上的我的測試 Web 伺服器((在本地最受信任的網路上),使用:
sudo ufw allow proto tcp from 192.168.1.23 to 192.168.1.48 port 80
有沒有辦法增加一系列收件人(例如,192.168.1.30-192.168.1.50
允許我目前的網路上有更多機器)?使用192.168.1.30-192.168.1.50
和192.168.1.30-192.168.1.50
不起作用並導致ERROR: Bad source address
.
答案1
您需要使用二進制數(2,4,8,16,32),因此您可以使用更大或更小的範圍。確切地在單一規則中使用位元遮罩不可能有 20 個主機:
16 台主機(192.168.1.16 至 192.168.1.31):
sudo ufw allow proto tcp from 192.168.1.16/28 to 192.168.1.48 port 80
細節
Address: 192.168.1.16 11000000.10101000.00000001.0001 0000 Rule Mask: 255.255.255.240 = 28 11111111.11111111.11111111.1111 0000 Wildcard: 0.0.0.15 00000000.00000000.00000000.0000 1111 HostMin: 192.168.1.16 11000000.10101000.00000001.0001 0000 HostMax: 192.168.1.31 11000000.10101000.00000001.0000 1111
32 台主機 (192.168.1.0 - 192.168.1.31)
sudo ufw allow proto tcp from 192.168.1.0/27 to 192.168.1.48 port 80
細節
Address: 192.168.1.0 11000000.10101000.00000001.000 00000 Rule Mask: 255.255.255.224 = 27 11111111.11111111.11111111.111 00000 Wildcard: 0.0.0.31 00000000.00000000.00000000.000 11111 HostMin: 192.168.1.0 11000000.10101000.00000001.000 00000 HostMax: 192.168.1.31 11000000.10101000.00000001.000 11111
64 台主機 (192.168.1.0 - 192.168.1.63)
sudo ufw allow proto tcp from 192.168.1.0/26 to 192.168.1.48 port 80
細節
Address: 192.168.1.0 11000000.10101000.00000001.00 000000 Rule Mask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000 Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111 HostMin: 192.168.1.0 11000000.10101000.00000001.00 000000 HostMax: 192.168.1.63 11000000.10101000.00000001.00 111111
解釋
我無法給出比這更好的解釋維基百科
答案2
允許來自特定 IP 位址或子網路的傳入 若要允許來自特定 IP 位址或子網路的傳入連接,請指定來源。例如,執行以下命令:
sudo ufw allow from 192.168.1.0/24 to any port 22
或者
sudo ufw allow from 192.168.1.0/24 to 192.168.1.48 port 80
答案3
我喜歡這個
sudo ufw allow from 192.168.1.0/24 to any port 22
我一直使用 ufw,我也喜歡它的編號方案,它可以幫助我追蹤資料包流:
sudo ufw insert 1 allow in proto tcp from 192.168.1.0/24 to any port
22 comment "SSH Network Connection"
答案4
很老的問題但是如果仍然有人想知道這是我發現的一種方式
cat geolocationIpList.txt | awk '/^[^#]/ { print $1 }' | sudo xargs -I {} ufw deny from {} to any
它從文字中讀取每一行並更新防火牆規則
如果您想將其恢復回來,您可以將其更改為允許...