LINUX.ORG.RU

История изменений

Исправление aicg, (текущая версия) :

#iptables -vn -L FORWARD
Chain FORWARD (policy ACCEPT 101M packets, 93G bytes)
 pkts bytes target     prot opt in     out     source               destination

sysctl net.bridge.bridge-nf-call-iptables = 1

Интерфейсов куча, суть в том что на хосте есть куча физ интерфейсов, которые прокинуты в контейнер и вот контейнере уже рулит всем трафиком и не только.

Т.е. в оригинале это все шло именно в него, и на нем уже настроены iptables’ы и прочие, а на хосте вообще у всего этого даже IP нету и iptables пустой, только на одном из мостов IP прокинут в безопасную зону.

И вот для чистоты экспиримента я закинул сам. физ интерфейс на хосте в отдельный netns без моста (а net.bridge.bridge-nf-filter-vlan-tagged вообще везьде 0), и в этом же netns сделал ip link add … eth80.5 Так что родительский iptables влиять на него никак не должен вообще, хотя и он и в этом netns они пустые с полным разрешением. И в мостах интерфейс не состоит.

Более того, как я уже писал, если в том же netns все тоже, просто без vlan напрямую IP на интерфейсе получить выключив тэгирование, то все работает.

И конструкция вида host:vlan - netns - мост - veth - lxc - veth - netns - cont:vlan (netns’ы делал, что бы IP не пересикались) нормально пропускала трафик между host-cont vlan’ами, но выдавали ту же картину для gw.

При этом на другой машине, тоже с lxc, тоже с nf-call…iptables, так же выдавив все в netns в том же vlan на том же свитче, все работает (в смысле тестовая может tcp шлюзу и gw, но server не может tcp к gw и тестовой машине).

Т.е. еще раз: в рамках одного netns iptables пустой все в accept, и нет моста, и route/rule девственно чист кроме шлюза этого самого 192.168.66.1, другие мосты и контейнеры не имеют к нему отношения.

Но на всякий я вообще во всех iptables’а делал accept на все, и маркировку пакетов отключал в контейнере (хотя и не знаю каким боком оно может влиять).

Если бы сервер был не рабочий и можно было бы все погасить остальное вопросов бы не было… Может это вообще глюк, я на как-том из позапрошлогодних ядер центоси ловил странные вещи с netns’ами лечащиеся только ребутом, но пока ищу логическое объяснение.

Исходная версия aicg, :

#iptables -vn -L FORWARD
Chain FORWARD (policy ACCEPT 101M packets, 93G bytes)
 pkts bytes target     prot opt in     out     source               destination

sysctl net.bridge.bridge-nf-call-iptables = 1

Интерфейсов куча, суть в том что на хосте есть куча физ интерфейсов, которые прокинуты в контейнер и вот контейнере уже рулит всем трафиком и не только.

Т.е. в оригинале это все шло именно в него, и на нем уже настроены iptables’ы и прочие, а на хосте вообще у всего этого даже IP нету и iptables пустой, только на одном из мостов IP прокинут в безопасную зону.

И вот для чистоты экспиримента я закинул сам. физ интерфейс на хосте в отдельный netns без моста (net.bridge.bridge-nf-filter-vlan-tagged = 0), и в этом же netns сделал ip link add … eth80.5 Так что родительский iptables влиять на него никак не должен вообще, хотя и он и в этом netns они пустые с полным разрешением. И в мостах интерфейс не состоит.

Более того, как я уже писал, если в том же netns все тоже, просто без vlan напрямую IP на интерфейсе получить выключив тэгирование, то все работает.

И конструкция вида host:vlan - netns - мост - veth - lxc - veth - netns - cont:vlan (netns’ы делал, что бы IP не пересикались) нормально пропускала трафик между host-cont vlan’ами, но выдавали ту же картину для gw.

При этом на другой машине, тоже с lxc, тоже с nf-call…iptables, так же выдавив все в netns в том же vlan на том же свитче, все работает (в смысле тестовая может tcp шлюзу и gw, но server не может tcp к gw и тестовой машине).

Т.е. еще раз: в рамках одного netns iptables пустой все в accept, и нет моста, и route/rule девственно чист кроме шлюза этого самого 192.168.66.1, другие мосты и контейнеры не имеют к нему отношения.

Но на всякий я вообще во всех iptables’а делал accept на все, и маркировку пакетов отключал в контейнере (хотя и не знаю каким боком оно может влиять).

Если бы сервер был не рабочий и можно было бы все погасить остальное вопросов бы не было… Может это вообще глюк, я на как-том из позапрошлогодних ядер центоси ловил странные вещи с netns’ами лечащиеся только ребутом, но пока ищу логическое объяснение.