Назад | Перейти на главную страницу

Туннель IPv6 периодически сбрасывает входящие сообщения

У меня есть туннель ipv6, который отказывается работать, пока трафик не уйдет на исходящий. если я включаю устройство и пингуюсь, я не получаю ответа до того момента, пока не начну пинговать. если я затем уйду на несколько часов и снова попытаюсь войти, я не получу ответа.

Я использую Debian Lenny и Hurricane Electric для своего туннеля. Я даже не уверен, с чего начать отладку этого поведения, потому что это настолько необычно. Я использовал обе конфигурации Debian из http://www.tunnelbroker.net/forums/index.php?topic=18.0 и конфиги из http://wiki.debian.org/DebianIPv6 и различные настройки между ними, но я все еще не могу заставить устройство постоянно принимать входящий трафик. нет ip6tables, но у меня есть множество правил iptable. Кто-нибудь еще сталкивался с такой проблемой? что я мог сделать, чтобы отладить или решить эту проблему?

edit: NAT не задействован, и все это инфраструктура Cisco IPv4. Я не думаю, что между мной, коммутаторами и маршрутизатором есть IPv6.

Не зная больше о структуре вашей сети, я предполагаю, что конечная точка туннеля находится на устройстве в вашей локальной сети за вашим интернет-маршрутизатором. Я также предполагаю, что устройство получает доступ к Интернету через NAT на маршрутизаторе.

Вероятная причина вашей входящей проблемы - таблица NAT на маршрутизаторе. Маршрутизатор не знает, как маршрутизировать входящий трафик v6 (протокол 41) на устройство конечной точки туннеля. Как только вы отправляете исходящий трафик v6 через туннель, в таблице NAT создается запись. Эта запись позволяет маршрутизатору также отправлять входящий трафик обратно в конечную точку туннеля.

Через некоторое время без трафика маршрутизатор удаляет запись и удаляет ее из своей таблицы NAT, поэтому входящий трафик больше не может достигать конечной точки туннеля.

Как вы решите эту проблему, зависит от возможностей вашего маршрутизатора.

  1. Либо создайте правило переадресации на своем маршрутизаторе, которое перенаправляет входящий трафик «протокола 41» на конечное устройство туннеля в вашей локальной сети. Большинство потребительских маршрутизаторов не могут этого сделать.
  2. или убедитесь, что исходящего трафика достаточно, чтобы маршрутизатор никогда не истекал сроком действия записи таблицы NAT. Этого можно добиться, задав задание cron для ping6 внешнего сервера каждые 5 минут.

Пример решения 2. Поместите в crontab следующее:

# Ping6 every 5 minutes to keep NAT open
*/5 * * * * ping6 -c1 -q www.sixxs.net 2>&1  >/dev/null

Настоящий ответ дан в FAQ по SixXS:

http://www.sixxs.net/faq/connectivity/?faq=conntracking

См. Эту статью для полного объяснения.