Ограничительный брандмауэр ICMPv6: потеря подключения со временем

Проблема:

Потеря возможности подключения IPv6 к удаленному IP через определенный период времени без установления соединения с удаленным IP.

Мои настройки :

Я использую сервер с брандмауэром ip6tables , который фильтрует входящие пакеты ICMPv6. Я установил этот межсетевой экран в соответствии с RFC 4890 для трафика локальной конфигурации. Следующие ICMPv6 разрешены в цепочке INPUT для интерфейса eth0 :

type 1 (destination unreachable)
type 2 (packet too big)
type 3 (time exceeded)
type 4 (parameter problem)
type 128 limit 100/sec limit-burst 500 (Echo)
type 129 (Echo reply)
type 133 (Router Solicitation)
type 134 (Router Advertisement)
type 135 (Neighbor Solicitation)
type 136 (Neighbor Advertisement)
type 141 (Inverse Neighbor Discovery Solicitation)
type 142 (Inverse Neighbor Discovery Advertisement)
type 148 (Certificate Path Solicitation)
type 149 (Certificate Path Advertisement
type 151 (Multicast Router Advertisement)
type 152 (Multicast Router Solicitation)
type 153 (Multicast Router Termination)

Все остальные типы отбрасываются. Все пакеты ICMPv6 разрешены в цепочке OUTPUT для интерфейса eth0 .

Что я пробовал:

После включения правил ip6tables весь трафик IPv6 проходит гладко. Однако после прибл. В течение 1 дня без подключения к удаленному IP-адресу он внезапно становится недоступным.

Выполнение tcpdump в удаленном месте показывает, что эхо-сигнал ICMPv6 от сервера с брандмауэром успешно поступает и отправляется ответ. Однако эхо-ответ не приходит.

Если политика брандмауэра ослаблена, чтобы пропускать все пакеты ICMPv6, соединение устанавливается, а затем исходный брандмауэр перезапускается - все продолжает работать.

Мой вопрос:

Как мне предотвратить потерю соединения?

Я полагаю, что я должен отбрасывать какой-то тип пакета ICMPv6, важного для установления соединения.

0
задан 5 December 2017 в 12:33
1 ответ

Я пропустил правило, импортированное из брандмауэра IPv4, оно находилось выше в цепочке INPUT и блокировало все многоадресные пакеты:

-t filter -A INPUT -m pkttype --pkt-type multicast

После удаления этого правила подключение было восстановлен.

Я обнаружил это, внимательно изучив трафик ICMPv6 на сервере с брандмауэром. Сервер получал пакеты Neighbor Solicitation, но не отправлял Neighbor Advertising в ответ.

Я все еще нахожу это странным, поскольку правило отбрасывания многоадресной рассылки находилось в цепочке INPUT , поэтому оно не должно препятствовать передаче пакета Advertising. Вместо этого я думаю, что мне даже не следует получать запрос на обращение ...

Извините за шум.

0
ответ дан 5 December 2019 в 07:05

Теги

Похожие вопросы