UFW – 允许IP地址范围?

我可以使用UFW防火墙添加规则,允许单个已知的IP 192.168.1.32在Ubuntu 14.04上使用以下命令访问我的测试网络服务器( 192.168.1.48 (在本地主要受信任的网络上)):

 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.50192.168.1.30-192.168.1.50不起作用并导致ERROR: Bad source address

您需要使用二进制数(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 

说明

我无法给出比维基百科更好的解释