Как пробросить трафик виртуальной машины через VPN? Подскажите как осуществить такую хотелку. Есть Хост (Proxmox), на нем виртаулка. Внешний ip 123.123.123.123. Виртуалка крутится внутри 10.0.0.0/24. На хосте запускаем OpenVPN клиент (tun0, 10.18.0.0/24) с отключенным redirect-gateway. Нужно заставить ходить весь трафик из виртуалки и обратно через VPN, но только этот трафик. Трогать виртуалку (внутри, т.е. запускать OpenVPN клиент внутри виртуалки) нельзя. Конфиг хоста:iface eno1 inet manual auto vmbr0 iface vmbr0 inet static address 123.123.123.123/24 gateway 123.123.123.1 bridge-ports eno1 bridge-stp off bridge-fd 0 auto vmbr1 iface vmbr1 inet static address 10.0.0.1 netmask 24 bridge-ports none bridge-stp off bridge-fd 0 post-up iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE Пробовал iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o tun0 -j MASQUERADE но чего-то не хватает...

15 Дек 2021 в 19:58
198 +2
0
Ответы
1

Для проброса трафика виртуальной машины через VPN, вам необходимо настроить маршрутизацию на хосте. В вашем случае, вы должны добавить маршрут для трафика из виртуальной сети (10.0.0.0/24) через интерфейс tun0.

Вы можете сделать это следующей командой:

ip route add 10.0.0.0/24 dev tun0

Также убедитесь, что IP-преобразование (NAT) правильно настроено. Вы уже настроили NAT для исходящего трафика из виртуальной сети. Удостоверьтесь, что у вас есть правило для входящего трафика в туннель:

iptables -t nat -A PREROUTING -i vmbr0 -s 10.0.0.0/24 -j DNAT --to-destination 10.18.0.1

Где 10.18.0.1 - это IP-адрес шлюза VPN.

После этого ваш весь трафик из виртуальной сети должен проходить через VPN.

16 Апр 2024 в 20:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир