Задать вопрос
@Taurus

Как настроить хост, чтобы IP контейнера Openvz определялся корректно?

Система работает под управлением Proxmox 3.4
У контейнера есть доступ к интернету. К нему можно подключиться по адресу y.y.y.120.
Но при исходящих соединениях с него IP определяется хоста, а не контейнера.
Как решить проблему?
Подозреваю, нужно прописать правила iptables.

Настройки сети на хосте:
auto vmbr1
iface vmbr1 inet static
        address  y.y.y.119
        netmask  255.255.255.0
        bridge_ports none
        bridge_stp off
        bridge_fd 0

post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s 'y.y.y.119/24' -o eth0 -j MASQUERADE


Контейнер:
cat /etc/network/

# Auto gerated 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 y.y.y.120
        netmask 255.255.255.255
  • Вопрос задан
  • 694 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@Taurus Автор вопроса
Полный рабочий конфиг в итоге выглядит так.

auto eth0
iface eth0 inet static

        address x.x.x.107 
        netmask  255.255.255.0
        network x.x.x.0
        broadcast x.x.x.255
        gateway x.x.x.254

auto vmbr1
iface vmbr1 inet static
        address  y.y.y.119
        netmask  255.255.255.0
        bridge_ports none
        bridge_stp off
        bridge_fd 0

        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A POSTROUTING -s 'y.y.y.119/24' -o vmbr1 -j SNAT --to x.x.x.107
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Mystray
@Mystray
NOC
Но при исходящих соединениях с него IP определяется хоста, а не контейнера.

А что вы собственно хотели?
post-up iptables -t nat -A POSTROUTING -s 'y.y.y.119/24' -o eth0 -j MASQUERADE

MASQUERADE и подменяет в исходящих соединениях source адрес на адрес хоста
Ответ написан
Ваш ответ на вопрос

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

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