UFW - 允许 IP 地址范围?

Wil*_*ilf 10 configuration firewall networking ufw

我可以使用 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
Run Code Online (Sandbox Code Playgroud)

有没有办法可以添加一系列收件人(例如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.

小智 9

允许来自特定 IP 地址或子网的传入连接 要允许来自特定 IP 地址或子网的传入连接,请指定源。例如,运行以下命令:

sudo ufw allow from 192.168.1.0/24 to any port 22
Run Code Online (Sandbox Code Playgroud)

或者

sudo ufw allow from 192.168.1.0/24 to 192.168.1.48 port 80
Run Code Online (Sandbox Code Playgroud)


A.B*_*.B. 8

您需要使用二进制数 (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
    
    Run Code Online (Sandbox Code Playgroud)

    细节

    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
    
    Run Code Online (Sandbox Code Playgroud)
  • 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
    
    Run Code Online (Sandbox Code Playgroud)

    细节

    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
    
    Run Code Online (Sandbox Code Playgroud)
  • 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
    
    Run Code Online (Sandbox Code Playgroud)

    细节

    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
    
    Run Code Online (Sandbox Code Playgroud)

解释

我不能给出比维基百科更好的解释