Я настроил xen таким образом, чтобы все мои виртуальные машины имели общедоступный IP-адрес и частный IP-адрес (192.168.0.x).
Тем не менее, виртуальные машины, у которых нет дублированного IP-адреса, также должны получить доступ в Интернет, поэтому я настроил nat.
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
Но когда я добавляю это правило в iptables, я больше не могу пинговать другие виртуальные машины по их частным IP-адресам, только dom0, у которого есть 192.168.0.1.
Возможен ли NAT только в том случае, если адрес назначения не находится в сети 192.168.0.x?
Конечно, просто добавь ! -d 192.168.0.0/24
к iptables
команду, которую вы перечислили выше. Чаще ограничивать MASQUERADE
по исходящему интерфейсу (например, -o eth0
) вместо этого.