Proxmox и контейнер с внутренней сетью

Что пытаюсь сделать:
Создать контейнер, с IP например 192.168.2.2, чтобы из него был доступ в инет и пробросить на него впоследствии порт с хостовой машины.

Что сделал:
Завел контейнер, в нем bridge1 c 192.168.2.1
параметры сети такие:
# Auto generated lo interface
auto lo
iface lo inet loopback

# Auto generated venet0 interface
auto venet0
iface venet0 inet manual
        up ifconfig venet0 up
        up ifconfig venet0 127.0.0.2
        up route add default dev venet0
        down route del default dev venet0
        down ifconfig venet0 down


iface venet0 inet6 manual
        up route -A inet6 add default dev venet0
        down route -A inet6 del default dev venet0

auto venet0:0
iface venet0:0 inet static
        address 192.168.2.2
        netmask 255.255.255.255


Конфигурация сети хостовой машины
# network interface settings
auto lo
iface lo inet loopback

iface eth0 inet manual
        broadcast  155.76.167.159
        up route add -net 155.76.167.128 netmask 255.255.255.224 gw 155.76.167.129 eth0
# default route to access subnet

auto vmbr0
iface vmbr0 inet static
        address  155.76.167.155
        netmask  255.255.255.224
        gateway  155.76.167.129
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0

auto vmbr1
iface vmbr1 inet static
        address  192.168.2.1
        netmask  255.255.255.0
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0


Доступ из хостовой в контейнер по ip 192.168.2.2 - есть.
Из контейнера на 192.168.2.1 ping тоже идет, а вот инета в контейнере нету.

Пробовал добавить route add default gw 192.168.2.1 , результат тотже.
Особого понимания в настройки сети нет, требуется помощь.
  • Вопрос задан
  • 5081 просмотр
Пригласить эксперта
Ответы на вопрос 2
RicoX
@RicoX
Ушел на http://ru.stackoverflow.com/
Настройте NAT на гипервизоре.
Ответ написан
Комментировать
@Constin
Курите man iptables
на гипервизоре надо сделать следующее:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to внешний_ип_на_гипервизоре
( и где eth0 - это интерфейс внешнего IP на гипервизоре)
это даст нам инет на всех контейнерах

затем пробрасываем порты на примере 25 порта
iptables -t nat -A PREROUTING -p tcp -d внешний_ип --dport 25 -j DNAT --to-destination локальный_IP_контейнера:25
iptables -A FORWARD -i eth0 -d внешний_IP -p tcp --dport 25 -j ACCEPT

Затем надо сделать , чтобы все эти правила не слетали при перезагрузке
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы