Назад | Перейти на главную страницу

Используйте Solaris IPF для перенаправления определенных IP-адресов с порта 80 на порт 8080

Кто-нибудь достаточно ловок с брандмауэрами 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