ip6tables 只允许特定 IP 范围的包

ip6tables 只允许特定 IP 范围的包

我正在尝试配置 ip6tables 以仅允许到特定范围的 ssh 连接。在 iptables 中,命令如下:

iptables -A OUTPUT -p tcp --dport 22 -m iprange --dst-range 192.168.178.0-192.168.178.254

但根据手册页选项 -m iprange 似乎消失了。实现这种行为的正确命令是什么?一如既往,任何帮助都会受到感谢 :)

答案1

我刚刚检查了ip6tablesCentOS 6 和 Debian 7 的手册页,它们都包括iprange

iprange
   This matches on a given arbitrary range of IP addresses.

   [!] --src-range from[-to]
          Match source IP in the specified range.

   [!] --dst-range from[-to]
          Match destination IP in the specified range.

iptables-extensionsArchLinux的手册页也表明iprange应该存在。

在 CentOS 6 盒子上进行的快速测试表明它确实有效:

www1 $ sudo ip6tables -A OUTPUT -p tcp --dport ssh -m iprange --dst-range 2001:db8::1-2001:db8::ff -j LOG
[sudo] password for fukawi2: 
www1  $ sudo ip6tables -nvL OUTPUT
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        tcp      *      *       ::/0                 ::/0                tcp dpt:22 destination IP range 2001:db8::1-2001:db8::ff LOG flags 0 level 4 

您是否查看过实际的手册页而不是在线手册页?

相关内容