Мне нужна помощь, потому что я действительно застрял и не знаю почему.
Я использую 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 см от ПК, но где я так ужасно ошибаюсь?
Привет и заранее спасибо
Дениз