Почему пакеты ответов не пересылаются между интерфейсами?

У меня на хосте следующая ситуация:

veth5 10.0.0.3 o | ----------------- ------------ ----------------- eth0 | veth1 o--| ---- | br0 |----|--o o--|----o o------o------ internet | 10.0.0.2 | ------------ | veth3 veth6 | veth7 ppp0 | | | | 192.168.1.2 192.168.100.169 | client | | helper | ----------------- -----------------

Конфигурация маршрутизации была выполнена с использованием маршрутизации на основе политик. В соответствии с этим пакет, отправленный с хоста в Интернет (например, используя ping), входит в мою сеть через veth5, затем идет в помощнике пространства имен. Отсюда он отправляется в veth7, затем в ppp0 и достигает Интернета.

Вывод команды ip rule:

0: from all lookup local 2997: from 192.168.1.2 lookup T2 2998: from 192.168.100.169 lookup T2 2999: from all iif lo lookup T3 3000: from all iif veth7 lookup T1 3001: from all iif ppp0 lookup T1 4000: from all lookup T4 32766: from all lookup main 32767: from all lookup default

helper записи:

default dev ppp0 scope link 10.0.0.0.0/24 via 192.168.1.1 dev veth7 192.168.1.0/24 dev veth7 scope link 192.168.100.180 dev ppp0 scope link

Записи таблицы T2:

default dev ppp0 scope link 10.0.0.0.0/24 via 192.168.1.1 dev veth7 192.168.1.0/24 dev veth7 scope link 192.168.100.180 dev ppp0 scope link

Таблица T2 записи:

default via 10.0.0.1 dev veth5 10.0.0.0/24 dev veth5 scope link

Записи таблицы T4:

broadcast 10.0.0.0 dev veth5 proto kernel scope link src 10.0.0.3 local 10.0.0.3 dev veth5 proto kernel scope host src 10.0.0.3 broadcast 10.0.0.255 dev veth5 proto kernel scope link src 10.0.0.3

Таблица T4 entries:

broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1 local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1 local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 broadcast 192.168.1.0 dev veth7 proto kernel scope link src 192.168.1.2 local 192.168.1.2 dev veth7 proto kernel scope host src 192.168.1.2 broadcast 192.168.1.255 dev veth7 proto kernel scope link src 192.168.1.2 broadcast 192.168.100.0 dev ppp0 proto kernel scope link src 192.168.100.169 local 192.168.100.169 dev ppp0 proto kernel scope host src 192.168.100.169

Основная таблица и таблица по умолчанию пусты.

Если я пинг 8.8.8.8 с хоста, у меня есть ответ, но если я пингу, например, www.google.com, ответ DNS поступает на ppp0, но он не перенаправляется на veth7. У меня такая же проблема, когда я отправляю пакеты TCP: пакет SYN-ACK с сервера достигает интерфейса ppp0, но он не перенаправляется на интерфейс veth7 в соответствии с правилами маршрутизации. Я предполагаю, что эта проблема каким-то образом связана со слоем 4 пакетов, но я не могу понять, как это сделать.

Однако, если я выполню команду ping wwww.google.com из основной таблицы namespece ! d15], я возвращаю ответ.

Я использую Ubuntu 14.04.1 с версией ядра 4.4.0-96.

Может кто-нибудь мне помочь? Любое предложение / помощь приветствуется.

0
задан 11 October 2017 в 17:48

0 ответов

Другие вопросы по тегам:

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