IPSec через iptables
2951
2
Доброе утро, господа...
Третий день бьюсь над следующей проблемой. Имеется роутер Cisco 871 с белым IP, находящийся за шлюзом с Ubuntu Server 10.10. В удаленном офисе имеется точно такой же роутер. Междту двумя цисками поднят Site-to-Site VPN.

Беда в том, что при перезагрузке шлюза с Ubuntu канал с удаленным офисом падает.
Судя по выводу команды tcpdump, пакет уходит туда, а отбратно не попадает - admin prohibited filter

Через несколько часов (если сильно повезет, минут) связь самопроизвольно поднимается.

На Убунте используется iptables, где хождение трафика для белой сети с Cisco обеспечено следующими правилами:

$IPTABLES -A FORWARD -p ALL -s 0/0 -d $БЕЛАЯ_СЕТЬ_С_CISCO -j ACCEPT
$IPTABLES -A FORWARD -p ALL -s $БЕЛАЯ_СЕТЬ_С_CISCO -d 0/0 -j ACCEPT

$IPTABLES -t nat -A POSTROUTING -o $ВНЕШНИЙ_ИНТЕРФЕЙС_UBUNTU ! -s $БЕЛАЯ_СЕТЬ_С_CISCO -j SNAT --to-source $ВНЕШНИЙ_IP_UBUNTU

Таким образом, белая сеть ходит НЕ через нат, остальные пользователи - через нат.

Подскажите, куда копать?.. Сегодня с удовольствем выслушаю все советы, начитаюсь про IPSec, а на выходных буду реализовывать. Сегодня канал пока есть, перезагружаться страшно :улыб:
Midsummer
Схемку вот приложу для ясности
Midsummer
Немного странные правила для NAT.
Почему не использовать -s $ВНУТР. СЕТЬ или -o $ИНТЕРФЕЙС ВНУТРИСЕТИ.
Но в общем, не принципиально.
Когда туннеля нет, кошки друга видят по ICMP хотя бы ?
С MTU на интерфейсах, все хорошо ?
Надо более конкретно смотреть, чего говорит tcpdump, и желательно конфиги кошек.