LINUX.ORG.RU
ФорумAdmin

Разруливание маскарадинга


0

0

Есть такая проблема.

Имеется линукс-роутер с 2мя каналами в интернет. задача такая - асечку и вконтактик пустить через ppp0, все остальное через eth0.

iptables -t nat -A POSTROUTING -o ppp0 -p udp --dport 5190 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

вот это не дает должного результата, к сожалению. Все равно подключение к ...:5190 продолжает происходить через eth0.

Заранее спасибо за помощь.


Т.е. делаете отдельную таблицу для второго провайдера (или как там у вас этот ppp0 организован). Пишете туда
ip route add default via <gateway#2_IP> table Provider_2
Добавить в Provider_2 определение сети, прилежащей к ppp0
ip rule add to <vkontakt_IP> table Provider_2
ip rule add to <login.icq.com_IP> table Provider_2 (тут можно по адресу ICQ-сервера, а можно файрволлом пометить пакеты с dst port tcp 5190 и использовать метку)

markevichus ★★★
()
Ответ на: комментарий от markevichus

Проще фаерволом метить :)
Ибо и у вконтакта, и у аськи серверов много.

nnz ★★★★
()
Ответ на: комментарий от oguretz

> Только не понятно - как задать соответствие на возвращение пакетов туда же?

Пакет вернется на тот ип, который стоит в пакете как адрес отправителя. Соответственно, понятней было бы пользовать не маскарад а снат с четким указанием адреса.

azure ★★
()
Ответ на: комментарий от azure

Да, спасибо, я уже догуглил до этого :) Алсо, как айпитейблсами пометить все сервера поддомена vkontakte.ru? Всякие cs2461.vkontakte.ru и прочая

oguretz
() автор топика
Ответ на: комментарий от oguretz

>Алсо, как айпитейблсами пометить все сервера поддомена vkontakte.ru? Всякие cs2461.vkontakte.ru и прочая

Никак :)
Запрещать трансфер зоны они таки научились. Но whois еще никто не отменял, так что -s 93.186.224.0/21 (на текущий момент).

nnz ★★★★
()
Ответ на: комментарий от oguretz

Сорри, вчера тупил по жуткому недосыпу... Да и сейчас не вполне проснулся.

Да, можно. В том же кальмаре (если адрес на ppp0 статический)

acl vkont dstdomain vkontakte.ru
tcp_outgoing_address ip.addr.of.ppp0 vkont

Ну и роутинг настроить

ip rule add from ip.addr.of.ppp0 table 101
ip route add default dev ppp0 table 101

nnz ★★★★
()
Ответ на: комментарий от nnz

Огромное спасибо! Ым. Настроил, вроде работает. Но обещают динамический адрес повесить, как к интерфейсу привязать?

oguretz
() автор топика
Ответ на: комментарий от oguretz

Думаю, что можно будет взять любой интерфейс со статическим адресом (например, локалка или второй пров), налепить на него второй айпишник и пускать трафик через него. Главное, чтобы в ip route был dev ppp0. Ну и маскарад, наверное, понадобится.

Другой вариант — использовать ToS. В squid есть директива tcp_outgoing_tos, и ip rule тоже по ToS ловить умеет. Например,

tcp_outgoing_tos 0x2 vkont
ip rule add tos 0x2 table 101
nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.