我可以使用 UFW 防火墙添加一条规则,允许单个已知 IP192.168.1.32
访问我的测试网络服务器(192.168.1.48
(在本地最受信任的网络上)在 Ubuntu 14.04 上使用:
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
它读取文本的每一行并更新防火墙规则
如果您想将其恢复,您可以将其更改为允许...