UFW-允许 IP 地址范围?

UFW-允许 IP 地址范围?

我可以使用 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.50192.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

它读取文本的每一行并更新防火墙规则

如果您想将其恢复,您可以将其更改为允许...

相关内容