Proxmox - один публичный ip с несколькими vms, контейнеры openvz работают, у kvm нет маршрута
В настоящее время у меня есть только блок /30 (1 используемый IP) (я только что заказал /28 для 13 доступных пользователей, ожидающих)
Я только что установил Proxmox, настроил несколько виртуальных контейнеров. Порт перенаправил необходимые услуги / порты. Все работает. Но когда я загружаю KVM, я не могу понять, что я делаю неправильно, чтобы получить только исходящие соединения или даже без соединений.
У всех контейнеров есть набор LAN ip и устройство veth0, подключенное к vmbr1. KVM также имеет сетевое устройство с мостовым подключением к набору vmbr1 (нет, где диктовать свой LAN ip в Proxmox, как контейнеры, вот где я думаю, что моя проблема)
вот /etc/network/interfaces
для квм
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.102
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.25
gateway 192.168.0.254
dns-nameserver 8.8.8.8
dns-search 8.8.8.8
вот /etc/network/interfaces
для хозяина
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
iface eth1 inet manual
iface eth2 inet manual
iface eth3 inet manual
auto vmbr0
iface vmbr0 inet static
address X.X.X.X
netmask 255.255.255.0
gateway X.X.X.Z
bridge_ports eth0
bridge_stp off
bridge_fd 0
auto vmbr1
iface vmbr1 inet static
address 192.168.0.254
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 '192.168.0.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE
# VM 100
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10022 -j DNAT --to 192.168.0.100:22
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 10022 -j DNAT --to 192.168.0.100:22
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.0.100:80
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.0.100:80
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 192.168.0.100:443
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 192.168.0.100:443
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 192.168.0.100:443
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 192.168.0.100:443
# VM101
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10122 -j DNAT --to 192.168.0.101:22
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 10122 -j DNAT --to 192.168.0.101:22
post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp --dport 9987 -j DNAT --to 192.168.0.101:9987
post-down iptables -t nat -D PREROUTING -i vmbr0 -p udp --dport 9987 -j DNAT --to 192.168.0.101:9987
**# VM102 (KVM)**
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10222 -j DNAT --to 192.168.0.102:22
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 10222 -j DNAT --to 192.168.0.102:22
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 25565 -j DNAT --to 192.168.0.102:25565
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 25565 -j DNAT --to 192.168.0.102:25565
# VM103
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10322 -j DNAT --to 192.168.0.103:22
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 10322 -j DNAT --to 192.168.0.103:22
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 3306 -j DNAT --to 192.168.0.103:3306
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 3306 -j DNAT --to 192.168.0.103:3306
1 ответ
У меня был неправильный IP-адрес для vmbr1 и, в свою очередь, неправильный шлюз для конфигурации интерфейса kvm eth0
исправленный квм /etc/network/interface
iface eth0 inet static
address 192.168.0.102
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.25
gateway 192.168.0.1
исправленный хост /etc/network/interface
iface vmbr1 inet static
address 192.168.0.1
netmask 255.255.255.0