[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

multiple ppp links, multiple ethX, iptables



День добрый, уважаемые.

Естл роутер с Sarge, который рулит двумя отдельными сегментами ethernet (причем меня попросили запретить прямую комуникацию между ними), и выходит в инет по 2-ум линкам ppp (adsl с динамическим адресом, но как я понимаю принципиально не важно, это может бытй dialup и vpn). Идея в том, чтобы по одному, толстому, линку давать выход в инет вообще, а по другому, потоньше, давать выход критическим интерактивным приложениям (текстовые терминалы, VoIP, и т.д.). Мне известно, что для таких целей два канала необязательны, можно обойтись одним и установить QoS, но что-то я в ней так запутался, что лутше так. В любом случае, линков таки будет именно два, это изменить не в моих силах, изначально предполагалось что один сегмент будет висеть на одном линке, а другой на втором, но такое использование которое я изложил мне кажется более эфективным.

По этому поводу несколько вопросов:

1. В /etc/network/interfaces я указываю ppp0 и ppp1. Если по какой-то причине ppp0 не поднят, при поднятии ppp1 как заставить pppd называть интерфейс ppp1? Если поднимать просто так, то я делаю ifup ppp1 а ifconfig говорит что поднят ppp0. Как я понял, такие вещи записаны в /etc/network/ifstate, так что мне его, каждый раз парсить скриптом который устанавливает правила iptables?

2. В данный момент активен только один линк, второй скоро будет, так что протестировать по полной программе не получается. Пока готовлю скрипты. Правильно ли я понимаю, что при моем раскладе я плюю на default gateway, и маскирую по имени наружного интерфейса?
Так:
iptables -t nat -A POSTROUTING -s $NET1 [фильтр приоритета] \
	-o $EXT_PRIORIT_IF -j MASQUERADE
iptables -t nat -A POSTROUTING -s $NET1 [фильтр приоритета]\
	-o $EXT_PRIORIT_IF -j MASQUERADE
iptables -t nat -A POSTROUTING -s $NET1 -o $EXT_GENERAL_IF -j MASQUERADE
iptables -t nat -A POSTROUTING -s $INT2 -o $EXT_GENERAL_IF -j MASQUERADE
Или надо строго перенаправлять запросы на gateway ISP?

3. Запрещаю комуникацию между сегментами так:
iptables -t filter -A PREROUTING -s $NET1 -d $NET2 -j DROP
iptables -t filter -A PREROUTING -s $NET1 -d $NET1 -j DROP
Я пересолил?

4. Если стоят n>1 одинаковых сетевых карт, они активируются одним и тем-же модулем. Чем определяется, има какого интерфейса ethX будет им присвоено? По возрастанию номера слота? А с ISA тоже? Это надежно (что всегда будут одни и те-же имена)? Если карты разные, то я это жестко контролирую через "alias ethX модуль" либо по порядку загрузки модулей. А серваков с одинаковыми картами как-то пока не попадалось... (:

5. Есть ли готовые не слишком навороченные решения для этой задачи? Или еще лутше полуфабрикаты. А то я даже не знаю по каким ключевым словам искать.

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

Greetings.



Reply to: