|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alexander Burylov 2:5054/75.1 03 Nov 2005 23:04:03 To : Gleb Smirnoff Subject : Re: ping: sendto: Network is down -------------------------------------------------------------------------------- 03 Hоя 05 00:17, Gleb Smirnoff -> Alexander Burylov: AB>> 6.0RC1, одни проблемы... AB>> стандартный gre туннель, до этого работал на 5.4 нормально, после AB>> обновления такая бяка: AB>> ping: sendto: Network is down AB>> Судя по логам ipfw пакет идёт правильно - out via gre0 AB>> Счётчик на интерфейсе обновлется с каждым пакетом AB>> Если смотреть tcpdump-ом то пакеты не уходят. AB>> В чём может быть проблема? Или может какие идеи будут, всё уже AB>> перепробовал... GS> Покажите пожалуйста ifconfig полностью и rc.conf, ту часть что GS> относится к интерфейсам. Разобрался в чём собака зарыта. Косяк за косяком в этой 6-ке :-( Коротко: туннельный интерфейс создаётся при загрузке системы подобным образом: ifconfig gre0 create ifconfig gre0 tunnel MY_IP PEER_IP ifconfig gre0 up ifconfig gre0 inet MY_TUNNEL_IP PEER_TUNNEL_IP netmask 255.255.255.255 route add MY_TUNNEL_IP -iface lo0 ---- ifconfig gre0 gre0: flags=9051<UP,POINTOPOINT,RUNNING,LINK0,MULTICAST> mtu 1476 tunnel inet MY_IP --> PEER_IP inet MY_TUNNEL_IP --> PEER_TUNNEL_IP netmask 0xffffffff Далее mpd поднимает линк, через который и будет туннель. При поднятии в up-script прописывается прямой роутинг на тот адрес куда прокидываем туннель, тут всё стандартно, данная схема стабильно работала на 5-ке, всё было обкатано. Собака на 6-ке зарыта вот в чём: После того, как mpd поднимает линк, прописывает прямой роутинг и тд, мне необходимо было прописать default gateway на PEER_TUNNEL_IP. По некоторым соображениям в конфиге mpd у меня прописана опция set iface route default, т.е. в конце концов мне надо этот шлюз сменить на PEER_TUNNEL_IP. Я делал это так (из up-script в mpd): route change default PEER_TUNNEL_IP После этого получалась вышеописанная картина... Если сначала удальть шлюз по-умолчанию, а потом прописать новый - то всё работает. Проверял раз 10, все 10 раз получал такую бяку... Причём такая бяка получается только на туннельном интерфейсе. Hу примерно так (все линки подняты, необходимые мпрямые маршруты прописаны и тд, меняю просто шлюз по-умочланию): Имеем текуший шлюз, который нужно сменить на PEER_TUNNEL_IP: Destination Gateway Flags Refs Use Netif Expire default Gateway_IP UGS 0 0 ng0 ввожу следующее, в том порядке что написано ниже, и сразу проверяю. route change default PEER_TUNNEL_IP - глюк route change default Gateway_IP - норма route delete default route add default PEER_TUNNEL_IP - норма route change default Gateway_IP - норма route change default PEER_TUNNEL_IP - глюк route delete default route add default PEER_TUNNEL_IP - норма Короче route change default ... на туннельный интерфейс даёт такой косяк. До свидания, Alexander. --- GoldED+/W32 1.1.5-30228 * Origin: Homenet Gate (2:5054/75.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/2775436a4bbd.html, оценка из 5, голосов 10
|