LINUX.ORG.RU
ФорумAdmin

Роутинг в Linux и FreeBSD


0

0

Не флейма ради, а для личностного развития. Есть задачка - два провайдера с разными внешними IP висят на интерфейсах. Есть рутер на фре или линуксе. Требуется сделать проброс с обоих интерфейсов на внутреннюю машину так, чтобы исходящие пакеты уходили на тот канал, через который пришёл запрос. Как это сделать на фре понятно. Можно ли подобное реализовать на Линуксовом гейте? Смысл в том, что есть некоторой сервис, работу через который надо вести с клиентскими машинами в инете через разных провайдеров одновременно. Недопустимо, чтобы исходящие пакеты летели через маршрут по-умолчанию.

☆☆☆☆

Ответ на: Re: Роутинг в Linux и FreeBSD от Hokum

Re: Роутинг в Linux и FreeBSD

http://linux-ip.net/html/routing-tables.html#ftn.id2551950

> Linux kernel 2.2 and 2.4 support multiple routing tables [22]. Beyond the two commonly used routing tables (the local and main routing tables), the kernel supports up to 252 additional routing tables.

>[22] The kernel must be compiled with the option CONFIG_IP_MULTIPLE_TABLES=y. This is common in vendor and stock kernels, both 2.2 and 2.4.

mutronix ★★★★ ()
Ответ на: Re: Роутинг в Linux и FreeBSD от Hokum

Re: Роутинг в Linux и FreeBSD

правильно тебе написали, все в мане есть.
смысл в том, чтобы создавать несколько разных таблиц маршрутизации.
лукап производиться по определенным правилам попадания в таблицы.
более детально в мане.

chocholl ★★ ()
Ответ на: Re: Роутинг в Linux и FreeBSD от Hokum

Re: Роутинг в Linux и FreeBSD

А стоп.

>Требуется сделать проброс с обоих интерфейсов на внутреннюю машину так, чтобы исходящие пакеты уходили на тот канал, через который пришёл запрос.

Тут по идее достаточно простого DNAT со шлюза на сервер, а при преобразовании ответа в цепочке SNAT iptables сам разрулит через какой интерфейс слать ответ клиенту.

Т.е. достаточно указать на шлюзе что-то типа iptables -t nat -A PREROUTING -d $GATE_INET_IP --dport $PORT -p tcp -m tcp -j DNAT --to-destination $LOCAL_SRV_IP

mutronix ★★★★ ()
Ответ на: Re: Роутинг в Linux и FreeBSD от mutronix

Re: Роутинг в Linux и FreeBSD

вот трабла то в том, что он в таком варианте гонит все исходящие пакеты через дефолт

Hokum ☆☆☆☆ ()
Ответ на: Re: Роутинг в Linux и FreeBSD от chocholl

Re: Роутинг в Linux и FreeBSD

Ну так работать то это будет только с подсетками которые на интерфейсах.

похоже, единственный вариант - привязывать конкретные внешние ip на конкретные внешние интерфейсы...

Hokum ☆☆☆☆ ()
Ответ на: Re: Роутинг в Linux и FreeBSD от Hokum

Re: Роутинг в Linux и FreeBSD

там можно сделать все, что угодно.
точного синтаксиса уже не помню но как-то так

ip rule add from .. lookup to table2 <- тут даже конкретные порты можно указывать или flhtcf


ip route add .../.. gw ... table table2

читай ман, там все есть

chocholl ★★ ()

Re: Роутинг в Linux и FreeBSD

xinetd может быть?

Sharp777 ()

Re: Роутинг в Linux и FreeBSD

inet -> DNAT -> internal host -> NAT -> !!source based routing!! -> inet

по-моему так. man ip должно быть реализуемо средствами iptables, но это как одноколесный велосипед. Вроде и велосипед, но как-то что-то не так

azure ★★ ()
Ответ на: Re: Роутинг в Linux и FreeBSD от Hokum

Re: Роутинг в Linux и FreeBSD

> А силами iptables этого, выходит, не сделать?
Если заведёте "iptables -j ROUTE" (а на 2.4.x ядрах оно хорошо заводится) - получится сделать.

Ещё такое делается через CONNMARK и маршрутизацию:
http://routeskeeper.sourceforge.net/Routeskeeper/MultihomingWithLinux.html
Суть:
1) создаём по таблице (ip route add table XXX) с единственным default маршрутом, для каждого провайдера;
2) в mangle PREROUTING с помощью CONNMARK маркируем/восстанавливаем_маркировку соединения на основе входящего интерфейса (провайдера);
3) добавляем правила маршрутизации, отправляющие пакет маршрутизироваться на основе маркировок в ту или иную таблицу (см. пункт 1).
Для транзитного трафика такое работать будет.

spirit ★★★★★ ()
Ответ на: Re: Роутинг в Linux и FreeBSD от Hokum

Re: Роутинг в Linux и FreeBSD

в итоге на внутренней машине просто два айпишника на интерфейс и проброс с каждого из провов на соответствующий отдельный айпи. Работает РедХат 9, спасибо, Фряху удалили.

Hokum ☆☆☆☆ ()
Ответ на: Re: Роутинг в Linux и FreeBSD от spirit

Re: Роутинг в Linux и FreeBSD

А почему в статье по ссылке маркировка происходит в цепочки POSTROUTING ???? не понятно.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.