Правила виртуализации IPTables

Правила виртуализации IPTables

Я пока не смог найти решение. Я не очень опытен в IPTables, поэтому буду признателен за любую помощь, которую вы можете оказать.

У меня есть сервер с несколькими виртуальными машинами. Главный узел имеет удаленный IP и подсеть. Каждая виртуальная машина создается с использованием виртуализации Linux и маршрутизируемой сети и ей назначается локальный IP. Затем я использую таблицы IP-адресов, чтобы назначить им удаленный IP, перенаправляя весь трафик с их выделенного удаленного IP на их локальный IP. Кажется, это работает по большей части, но, похоже, любой трафик, отправляемый с каждой виртуальной машины, поступает с первичного IP-адреса узла, а не с удаленного IP-адреса, который я перенаправил на виртуальную машину.

Вот мои правила IPTables:

iptables -t nat -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -j MASQUERADE

iptables -A FORWARD -d 192.168.123.0/24 -o virbr1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 192.168.123.0/24 -i virbr1 -j ACCEPT iptables -A FORWARD -i virbr1 -o virbr1 -j ACCEPT

И затем для каждой виртуальной машины:

iptables -t nat -A PREROUTING -d {Their-remote-IP} -j DNAT --to-destination 192.168.123.3
iptables -A FORWARD -p tcp -d 192.168.123.3 -m state --state NEW,ESTABLISHED,RELATED -j   ACCEPT
iptables -A FORWARD -m udp -p udp -d 192.168.123.3 -j ACCEPT
iptables -A FORWARD -m icmp -p icmp -d 192.168.123.3 -j ACCEPT

Пример установки

Primary Node IP: X.X.X.172
Additional IP X.X.X.173 1 (NATed to VM 1) to local address 192.168.123.2
Additional IP X.X.X.174 1 (NATed to VM 2) to local address 192.168.123.3
Additional IP X.X.X.175 1 (NATed to VM 3) to local address 192.168.123.4

Однако весь исходящий трафик с виртуальных машин идет через XXX172.

Мы будем очень признательны за любые ваши предложения.

решение1

Это именно то, что MASQUERADEон делает: он переопределяет исходный адрес источника на адрес интерфейса, через который пакет собирается выйти. Если вы хотите сохранить исходный адрес, не используйте маскарадинг.

Связанный контент