有谁对 Solaris 10 防火墙足够熟悉,能够为 ipf 重现以下 iptables 规则吗?
-A PREROUTING -p tcp -m tcp !--src-range 192.168.1.100-192.168.1.200 -dport 80 -j REDIRECT --to-ports 8080
基本上,我想将所有流向 IP 上端口 80 的流量重定向到端口 8080(理想情况下,我只想对不在特定范围内的源 IP 执行此操作)
答案1
从ipf.conf
手册页中:
..目前没有办法[..]来匹配不能轻易以位掩码形式表达的 IP 地址范围。
你可以使用多条规则让它工作,尽管这样不太好。下面的规则ipnat.conf
应该可以满足你的要求(假设e1000g0
是你的网络接口,并且假设我已经正确地完成了子网掩码计算):
rdr e1000g0 ! from 192.168.1.0/24 to any port = 80 -> 127.0.0.1 port 8080 tcp
rdr e1000g0 from 192.168.1.0/26 to any port = 80 -> 127.0.0.1 port 8080 tcp
rdr e1000g0 from 192.168.1.64/27 to any port = 80 -> 127.0.0.1 port 8080 tcp
rdr e1000g0 from 192.168.1.96/30 to any port = 80 -> 127.0.0.1 port 8080 tcp
rdr e1000g0 from 192.168.1.201/32 to any port = 80 -> 127.0.0.1 port 8080 tcp
rdr e1000g0 from 192.168.1.202/31 to any port = 80 -> 127.0.0.1 port 8080 tcp
rdr e1000g0 from 192.168.1.204/30 to any port = 80 -> 127.0.0.1 port 8080 tcp
rdr e1000g0 from 192.168.1.208/28 to any port = 80 -> 127.0.0.1 port 8080 tcp
rdr e1000g0 from 192.168.1.224/27 to any port = 80 -> 127.0.0.1 port 8080 tcp