
Я использую Proxmox VE (Debian) для своей виртуальной машины. Чтобы получить доступ к моим компьютерам KVM извне, используется NAT с переадресацией портов.
К сожалению, ни одна виртуальная машина не может подключиться к внешнему IPv4 хоста.
Но все виртуальные машины могут подключаться к Интернету и к ним возможен внешний доступ.
В настоящее время соединение между двумя виртуальными машинами может быть установлено только через внутренний локальный IPv4.
Как исправить ошибку?
решение1
Эта ситуация известна как треугольник маршрутизации. Она может быть решена добавлением дополнительного правила SNAT
или MASQUERADE
. Это былоописан очень подробнов руководстве по iptables.
Универсальное правило:
iptables -t nat -A POSTROUTING \
--src <vm-net> --dst <vm-net> \
-m conntrack --ctstate DNAT --ctorigdst <ext-ip> \
-j MASQUERADE