Итак, у меня есть куча интерфейсов моста, связанная с моим основным сетевым устройством (em1, обвинение HP). Они обслуживают различные контейнеры LXC, которые у меня запущены на моем сервере, и позволяют мне получить доступ к ним с других физических устройств в сети.
name id STP interfaces IP
br0 8000.989096db8b8a no em1 10.10.0.2
veth236T4V 10.10.0.15
veth269GNR 10.10.0.16
vethBYBC0Y 10.10.0.17
Все они получают свои IP-адреса из главной сети DHCP (которая назначает статические лизинг).
Я хочу перенести службу, которая была запущена на основном хосте (em1, 10.10.0.2, порты 9000, 9001) в первый контейнер LXC. Я сделал это и теперь могу получить доступ к вещам через 10.10.0.15:9000-9001, но все остальное в сети ожидает увидеть его на 10.10.0.2:9000-9001.
Традиционная переадресация портов через iptables, похоже, не работает. Я попытался:
-A PREROUTING -i em1 -p tcp --dport 9000 -j DNAT --to 10.10.0.15:9000
-A PREROUTING -i em1 -p tcp --dport 9001 -j DNAT --to 10.10.0.15:9001
И я попробовал br0 вместо em1, но не работал.
В град 3am-исследований я обнаружил нагрузку что мне нужно ebtables, но я даже не слышал об этом раньше. Половина проблемы, похоже, заключается в том, что большинство людей используют устройства lxcbrN с LXC, но мне нужен внешний IP. Я не уверен, что мне нужно. Это не помогает документации ebtables, которая, по-видимому, определяет слово «порт» как что-то еще.
Я не в своей глубине. Я больше ничего не чувствую, и я начинаю протираться водой. Может кто-нибудь бросить мне строку и сказать наверняка, что мне нужно перенаправить пару портов между мостиковыми интерфейсами?