我正在尝试配置 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
我刚刚检查了ip6tables
CentOS 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-extensions
ArchLinux的手册页也表明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
您是否查看过实际的手册页而不是在线手册页?