iproute2 и проброс портов (Проблмма с пробросом портов в случае с двумя провайдерами.)
Модераторы: SLEDopit, Модераторы разделов
-
mirlas
- Сообщения: 158
- ОС: Gentoo; Mandriva; FreeBSD
Re: iproute2 и проброс портов
Решил с помощью ipfw (FreeBSD), предварительно сделав PBR на основе setfib (наверно можно и по старинке, через ipfw fwd, но я не проверял):
setfib 1 route add default gw_internet_prov_2
....
setfib 8 route add default gw_internet_prov_8
ipfw nat 1 config redirect_addr lan_ip internet_ip1 redirect_addr lan_ip internet_ip2 ... redirect_addr lan_ip internet_ip8
ipfw add nat 1 from any to internet_ip1 PORT
ipfw add nat 1 from any to internet_ip2 PORT
....
ipfw add nat 1 from any to internet_ip8 PORT
ipfw add nat 1 from local_ip PORT to any
Вот как-то так
Все красиво, быстро и без костылей.
lan_ip - хост внутри локальной сети
internet_ip - адреса роутера, смотрящие в интернет
Остальное, думаю, понятно
Небольшое пояснение: setfib 1 - это задание маршрута через _ВТОРОГО_ провайдера. Первый провайдер является маршрутом по умолчанию, что равно команде setfib 0.
setfib 1 route add default gw_internet_prov_2
....
setfib 8 route add default gw_internet_prov_8
ipfw nat 1 config redirect_addr lan_ip internet_ip1 redirect_addr lan_ip internet_ip2 ... redirect_addr lan_ip internet_ip8
ipfw add nat 1 from any to internet_ip1 PORT
ipfw add nat 1 from any to internet_ip2 PORT
....
ipfw add nat 1 from any to internet_ip8 PORT
ipfw add nat 1 from local_ip PORT to any
Вот как-то так
lan_ip - хост внутри локальной сети
internet_ip - адреса роутера, смотрящие в интернет
Остальное, думаю, понятно
Небольшое пояснение: setfib 1 - это задание маршрута через _ВТОРОГО_ провайдера. Первый провайдер является маршрутом по умолчанию, что равно команде setfib 0.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: iproute2 и проброс портов
чёрт возьми, я страшно рад, что freebsd хоть на что-то способна (улыбка).
ну а в gnu/linux вопрос с обращениями от двух (и более) провайдеров решается даже вовсе не пакетным фильтром, а таблицей маршрутизации.
http://www.google.ru/search?q=linux+multi+homed+routing
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: iproute2 и проброс портов
Вот только опции у ip rule в точности как у пакетного фильтра. И options ROUTETABLES относится только к пакетному фильтру и совсем не относится к таблицам маршрутизации. И то что для задания правил, какую таблицу маршрутизации когда выбрать, просто дополнили существующий инструмент, а не стали придумывать новый, это автоматически превратило таблицу маршрутизации в пакетный фильтр.sash-kan писал(а): ↑05.11.2009 00:32чёрт возьми, я страшно рад, что freebsd хоть на что-то способна (улыбка).
ну а в gnu/linux вопрос с обращениями от двух (и более) провайдеров решается даже вовсе не пакетным фильтром, а таблицей маршрутизации.
http://www.google.ru/search?q=linux+multi+homed+routing
ЗЫ: Вы это вообще всерьёз написали? Или шутка какая-то?
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: iproute2 и проброс портов
как бы так поточнее…
в каждой шутке… и т.д.
p.s. а выводы на основании схожести синтаксиса — это даже интересно (улыбка).
но вообще-то какая разница, как там в глубине механизм называется, который делает нужную работу…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог