Кто-нибудь достаточно ловок с брандмауэрами Solaris 10, чтобы воспроизвести следующее правило iptables для ipf?
-A PREROUTING -p tcp -m tcp !--src-range 192.168.1.100-192.168.1.200 -dport 80 -j REDIRECT --to-ports 8080
В основном я хочу взять весь трафик, идущий на порт 80 на IP-адресе, и перенаправить его на порт 8080 (и в идеале я хотел бы сделать это только для исходных IP-адресов, которые не находятся в определенном диапазоне)
Из 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