Check that all public IPs are set on the external interface of your physical host, with the correct netmask
Check that all the VMs have as default gateway the IP address of the bridge they're connected to (check that the bridges correct have IPs)
Check that ip_forwarding is enabled
Use SNAT to mask the VMs behind the correct public IPs
Use DNAT to forward incoming traffic to the correct VMs
Маршрутизация SNAP Iptables к контейнерам openVZ
Чтобы это имело смысл, мне нужно немного установить сцену.
У меня есть выделенный сервер с 5 общедоступными Ips: от ABC1 до ABC5
ABC1 управляет самим выделенным сервером, а ABC2 - 5 используются для контейнеров OpenVZ. Я хочу, чтобы каждый общедоступный IP-адрес был связан с несколькими контейнерами. Например, ABC2 должен перенаправлять трафик через порт 80 в контейнер в 192.168.2.1 и трафик через порт 21 в контейнер в 192.168.2.2.
Используя IPTables для NAT, трафик работает, если используется только один внешний IP, однако, если я пытаюсь добавить несколько общедоступных IP-адресов для маршрутизации, я теряю все сетевое подключение ко всем контейнерам, они не могут пропинговать и не могут получать входящий трафик. Однако доступ к узлу хоста остается.
Вывод iptables -t nat -L на хост-узле ниже:
Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT udp -- anywhere A.B.C.2 udp dpt:9987 to:192.168.2.1:9987 DNAT tcp -- anywhere A.B.C.2 tcp dpt:10011 to:192.168.2.2:10011 DNAT tcp -- anywhere A.B.C.2 tcp dpt:30033 to:192.168.2.2:30033 DNAT tcp -- anywhere A.B.C.3 tcp dpt:80 to:192.168.3.1:80 DNAT tcp -- anywhere A.B.C.4 tcp dpt:25565 to:192.168.4.1:25565 Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT all -- 192.168.2.0/24 anywhere to:A.B.C.2 SNAT all -- 192.168.3.0/24 anywhere to:A.B.C.3 SNAT all -- 192.168.4.0/24 anywhere to:A.B.C.4 Chain OUTPUT (policy ACCEPT) target prot opt source destination
Узел хоста имеет один физический NIC - eth0, который имеет IP ABC1
Хост работает под управлением Centos 6.3, а каждая виртуальная машина работает под управлением Debian 7.
Моя версия ядра OpenVZ - 2.6.32-042stab108.2
1 ответ на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
3
Каковы различия между оконными менеджерами Linux?
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?