Есть сервер Hetzner с установленным proxmox, чтобы создавать виртуальные машины для тестирования скриптов, проверки сайтов. То есть необходимо создавать несколько виртуалок с установленными вебсерверами доступными из интернета.
Проблема: При текущих настройках сети доступна только первая ВМ с адресом test1.com, при обращении к любой другой ВМ, например test2.com, загружается сайт с test1.com. Я так понимаю, что проблемав маршрутизации. Как сделать так, чтобы при обращении к любой ВМ грузился соответствующий сайт/приложение на стандартных портах 80 и 443?
ВМ получают адреса 192.168.1.xxx по DHCP при создании. Сервер имеет один дополнительный ip 136.yyy.yyy.yyy и виртуальный mac на нем.
iptables -A PREROUTING -t nat -i
hosts
192.168.1.10 test1.com
192.168.1.13 test2.com
iptables
iptables -A PREROUTING -t nat -i vmbr0 -p tcp -d 136.xxx.xxx.xxx --dport 80 -j DNAT --to 192.168.1.10:80
iptables -A PREROUTING -t nat -i vmbr0 -p tcp -d 136.xxx.xxx.xxx --dport 443 -j DNAT --to 192.168.1.10:443
iptables -A PREROUTING -t nat -i vmbr0 -p tcp -d 136.xxx.xxx.xxx --dport 80 -j DNAT --to 192.168.1.13:80
iptables -A PREROUTING -t nat -i vmbr0 -p tcp -d 136.xxx.xxx.xxx --dport 443 -j DNAT --to 192.168.1.13:443
interfaces
iface enp2s0 inet6 manual
address 2xx1:4xxx:2xx1:1xx5:xxx:2
netmask 64
gateway fexx:xx:1
auto vmbr0
iface vmbr0 inet static
address 136.xxx.xxx.xxx
netmask 255.255.255.192
pointopoint 136.yyy.yyy.yyy
gateway 136.yyy.yyy.yyy
bridge_ports enp2s0
bridge_stp off
bridge_fd 1
bridge_hello 2
bridge_maxage 12
up ip route add 136.xxx.xxx.xxx/32 dev vmbr0
auto vmbr1
iface vmbr1 inet static
address 192.168.1.1
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.1.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE