Я заменил IP на фиктивные IP.
1.2.3.4 - основной IP 5.6.7.194 - выделенный IP LXC
Детали для основного сервера:
Основной IP-сетевой интерфейс 1.2.3.4
auto lo
iface lo inet loopback
iface eth0 inet manual
auto eth1
iface eth1 inet manual
auto vmbr1
iface vmbr1 inet manual
bridge_ports dummy0
bridge_stp off
bridge_fd 0
post-up /etc/pve/kvm-networking.sh
auto vmbr0
iface vmbr0 inet static
address 1.2.3.4
netmask 255.255.255.0
gateway 1.2.3.254
broadcast 1.2.3.255
bridge_ports eth0
bridge_stp off
bridge_fd 0
network 1.2.3.0
iface vmbr0 inet6 static
address 2607:5300:120:00cc::
netmask 64
gateway 2607:5300:120:00FF:FF:FF:FF:FF
post-up /sbin/ip -f inet6 route add 2607:5300:120:00ff:ff:ff:ff:ff dev vmbr0
post-up /sbin/ip -f inet6 route add default via 2607:5300:120:00ff:ff:ff:ff:ff
pre-down /sbin/ip -f inet6 route del default via 2607:5300:120:00ff:ff:ff:ff:ff
pre-down /sbin/ip -f inet6 route del 2607:5300:120:00ff:ff:ff:ff:ff dev vmbr0
auto vmbr2
iface vmbr2 inet static
address 192.168.100.1
netmask 255.255.255.0
bridge_ports eth1
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.100.0/24' -o vmbr1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.100.0/24' -o vmbr1 -j MASQUERADE
Файл сетевого интерфейса контейнера LXC:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 5.6.7.194
netmask 255.255.255.255
broadcast 5.6.7.194
gateway 1.2.3.254
post-up ip route add 1.2.3.254 dev eth0
post-up ip route add default via 1.2.3.254
pre-down ip route del 1.2.3.254 dev eth0
pre-down ip route del default via 1.2.3.254
dns-nameservers 213.186.33.99 # OVH DNS Server
dns-search ovh.net # For faster hosts resolution on the OVH network
Основная таблица IP-маршрутизации
Main IP Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 1.2.3.254 0.0.0.0 UG 0 0 0 br0
default 1.2.3.254 0.0.0.0 UG 0 0 0 vmbr0
1.2.3.0 * 255.255.255.0 U 0 0 0 vmbr0
1.2.3.0 * 255.255.255.0 U 0 0 0 br0
192.168.100.0 * 255.255.255.0 U 0 0 0 vmbr2
LXC container Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 1.2.3.254 0.0.0.0 UG 0 0 0 eth0
1.2.3.254 * 255.255.255.255 UH 0 0 0 eth0
Я не могу решить проблему с сетью. Это на серверах OVH. Есть какие-нибудь идеи?
Я сам нашел решение. С настройкой сети все было правильно. Отсутствовал только адрес виртуального Mac, поэтому после его добавления виртуальная машина теперь начинает отвечать.
Проблема здесь в том, что ваша виртуальная машина находится в другой IP-сети. 5.6.7.0/24
чем шлюз по умолчанию 1.2.3.4
что вы пытаетесь использовать. Конечно, это могло быть просто ошибкой в вашем вопросе.
Однако, если они находятся в разных IP-сетях, у вас есть два варианта исправить это:
1) Подключите общедоступный сетевой интерфейс к виртуальному интерфейсу виртуальной машины и назначьте виртуальной машине общедоступный IP-адрес из основной IP-подсети, например 1.2.3.5
. Затем вы можете назначить 1.2.3.254
в качестве шлюза по умолчанию в виртуальной машине. Этот вариант требует наличия общедоступных IP-адресов.
2) Создайте отдельную IP-сеть между хостом и виртуальной машиной. В этом случае вы не соединяете общедоступный сетевой интерфейс с виртуальным интерфейсом виртуальной машины, но вы назначаете IP-адрес частной сети интерфейсу виртуальной машины хоста, например 192.168.121.1
.
Затем вы назначаете 192.168.121.2
в качестве IP-адреса в виртуальной машине и используйте 192.168.121.1
как шлюз по умолчанию.
Наконец, вам нужно добавить SNAT для трафика из частной сети, чтобы трафик из частной сети был изменен на исходящий из 1.2.3.4
IP. А для любого трафика, поступающего на виртуальную машину извне, вам необходимо добавить DNAT для этих портов на хосте.