Назад | Перейти на главную страницу

proxmox: NAT 1 публичный IP из 2 публичных IP

Мне нужна помощь, потому что я действительно застрял и не знаю почему.

Я использую proxmox, у меня 4 виртуальных машины. Три из них хорошо работают с собственным публичным IP-адресом, но я также хочу установить mailcleaner. Сам Mailcleaner, похоже, работает только с IP-адресом класса C (192.168.1.2). Так что у меня для NAT один IP.

На данный момент я могу пинговать и использовать SSH виртуальную машину (Mailcleaner) с Proxmox-Server, а также с виртуальной машины на Proxmox. Но NAT кажется неправильным. Я не могу пинговать Google и не могу подключиться к виртуальной машине (Mailcleaner) по SSH со своего домашнего компьютера.

Конфигурации:

proxmox-сервер / etc / network / interfaces:

auto lo
iface lo inet loopback

allow-hotplug enp2s0

auto enp2s0
iface enp2s0 inet manual
        address  85.114.141.175
        netmask  255.255.255.255
        dns-nameservers 62.141.32.5 62.141.32.4 62.141.32.3
        dns-search dus2.servdiscount-customer.com
        up ip route add 89.163.247.209/32 dev enp2s0

auto vmbr0
iface vmbr0 inet static
        address  85.114.141.175
        netmask  32
        gateway  85.114.141.1
        bridge-ports enp2s0
        bridge-stp off
        bridge-fd 0


iface vmbr0 inet6 static
        address  2001:4ba0:fff6:00a3::0
        netmask  64
        gateway  2001:4ba0:fff6:1:beef::1

auto vmbr1
iface vmbr1 inet static
        address  89.163.247.209
        netmask  32
        gateway  85.114.141.1
        bridge-ports enp2s0
        bridge-stp off
        bridge-fd 0


auto vmbr2
iface vmbr2 inet static
        address  192.168.1.1
        netmask  24
        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 vmbr1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr1 -j MASQUERADE
        post-up iptables -t nat -A PREROUTING -i vmbr1 -p tcp --dport 1022 -j DNAT --to 192.168.1.2:22
        post-down iptables -t nat -D PREROUTING -i vmbr1 -p tcp --dport 1022 -j DNAT --to 192.168.1.2:22
        post-up iptables -t nat -A PREROUTING -i vmbr1 -p tcp --dport 1443 -j DNAT --to 192.168.1.2:443
        post-down iptables -t nat -D PREROUTING -i vmbr1 -p tcp --dport 1443 -j DNAT --to 192.168.1.2:443

Мои решения для этой конфигурации следующие: - IP-адрес vmbr1 должен быть доступен из INet. Итак, он также добавлен в enp2s0 (~ eth0). Пакеты из Интернета поступают на сервер по IP 89.163.247.209. Proxmox-Server принимает пакеты, а vmbr1 принимает пакеты, потому что он отвечает за этот IP. Тогда это должно быть NAT.

Таблица маршрутизации на Proxmox выглядит так:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ve26-s1-h3ec6.i 0.0.0.0         UG    0      0        0 vmbr0
mailcleaner.dus 0.0.0.0         255.255.255.255 UH    0      0        0 enp2s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 vmbr2

и iptables -L -t nat показывает

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             anywhere             tcp dpt:1022 to:192.168.1.2:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:1443 to:192.168.1.2:443

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  192.168.1.0/24       anywhere

На виртуальной машине (MailClient) сетевая конфигурация выглядит так:

auto lo
iface lo inet loopback
pre-up modprobe ipv6
pre-up echo 0 > /proc/sys/net/ipv6/conf/lo/disable_ipv6

allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
pre-up echo 0 > /proc/sys/net/ipv6/conf/lo/disable_ipv6

Знаю: проблема в том, что сидит в 40 см от ПК, но где я так ужасно ошибаюсь?

Привет и заранее спасибо

Дениз