Перенаправить сеть с vm1 на vm2 с помощью IPtables

Чего ты ожидал? Строка не содержит DST:. Используйте

sed -n 's/.*\(SRC=.*DST=[^ ]\).*/\1/p'

чтобы удалить все части спички внутри\(\)

0
21.01.2020, 09:09
1 ответ

Думаю, вы хотите, чтобы весь трафик с ВМ1 направлялся через ВМ2. Если это так, вы можете попробовать следующее:

  • VM1 = 10.20.20.10/24(eth0)
  • VM2 = 10.20.20.20/24(eth0)и 192.168.20.10(eth1)

Поскольку виртуальная машина 2 также подключена к адаптеру NAT через eth1 , ее шлюз по умолчанию будет выглядеть примерно так: 192.168.20.1

Настройте ВМ1 с одним сетевым адаптером (eth0 ), который будет подключен к хосту -только с адаптером

Настройте ВМ2 с двумя сетевыми адаптерами (eth0 и eth1 ), один подключен к тому же хосту -только адаптер, что и ВМ1,а другой подключен к адаптеру NAT (для доступа в Интернет)

Включить переадресацию IP _на ВМ2

echo 1 > /proc/sys/net/ipv4/ip_forward

Также используйте iptables для включения маскировки на VM2

/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

/sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT/sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

Затем установите шлюз по умолчанию для ВМ1, чтобы он указывал на ВМ2

ip route add default via 10.20.20.20

Если вы довольны результатами, рассмотрите возможность сохранения этих изменений.

0
13.02.2020, 08:04

Теги

Похожие вопросы