|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Zahar Kiselev 2:5030/382.1 05 Feb 2007 04:52:58 To : Eugene B. Berdnikov Subject : Re: default route в туннель --------------------------------------------------------------------------------
Feb 05 00:08 07, Eugene B. Berdnikov wrote:
ZK>>> все равно поищу способы заставить pppd поднять default с ненулевой
ZK>>> метрикой.
EBB> Элементарно: убрать у pppd опцию defaultroute (или ++
EBB> nodefaultroute) и
EBB> в up-скрипте pppd написать "ip route add default dev $DEVICE metric
EBB> 1000".
После небольшой возни получил такую вот таблицу
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.3.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun1
192.168.254.254 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 tun1
0.0.0.0 0.0.0.0 0.0.0.0 U 1000 0 0 ppp0
Единственно что вместо $DEVICE пришлось явно прописать ppp0 , но это наверно
особенности Дебиана, я попытался сделать "как полагается", то есть создать
в /etc/ppp/ip-up.d файлик 0005route в котором и прописать вышеупомянутую
строчку, а туда видимо $DEVICE не передается.
Hу и в конфиг vtund пришлось добавить
route "add default dev tun1 metric 0";
(там оно именно так пишется - с кавычками и точкой с запятой в конце)
чтобы vtund ставил default c нулевой метрикой на туннель.
Hо - ничего не работает. Более того - туннель стал падать из-за невозможности
обмениваться служебными пакетами.
Тогда я руками из командной строки собрал вот такую таблицу роутинга (просто с
помощью команды route):
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.3.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun1
XXX.XXX.XXX.XX 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.254.254 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 tun1
То есть явно указал маршрут к туннельному серверу через интерфейс ppp0.
(сервер - это где адрес крестиками спрятан:)
И все заработало, как и ожидалось. Естественно на том конце прописан
маскарадинг для 10.3.0.Х - вот собственно из-за него и прятал - слышал что при
не совсем корректном маскарадинге есть возможность воспользоваться им "снаружи"
для создания "петель" трафика через чужую машину. Hе представляю правда как, но
адрес спрятал:)
Hо то, что оно так работает - я еще со времен ядра 2.0.36 и туннелей на pppd
знаю, только вот при падениях связи и пересоединениях трудно обеспечить
корректное удаление/добавление роутинга. В частности при отключении-подключении
ppp-линка пинг через эту конструкцию пропал и восстанавливаться не хочет, хотя с
виду все так же выглядит. Еще раз пересоединился - заработало. Даже знаю почему
- у меня-то тут IP-адрес динамический, и с той стороны машина не сразу
соображает что к ней уже с другого адреса подключились.
Вот имено так "через раз" оно всегда и работало при динамических адресах, почему
_этим_ способом я и не пользуюсь.
Похоже действительно придется разбираться с созданием альтернативных таблиц
роутинга и прочими тонкостями...
--- Msged/LNX 6.1.1
* Origin: mobile point - Compaq Armada 1750 + Siemens ME45 (2:5030/382.1)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/328845c6a485.html, оценка из 5, голосов 10
|