Сеть новичков. У меня есть два интерфейса на хосте: eth0
и tun0
от моего клиента OpenVPN. IP-адреса:
eth0 192.168.1.22
tun0 10.1.0.8
Вопрос 1
Для исходящего трафика, изменив адрес получателя на tun0
, заставит ли он использовать vpn?
Нет, но использование адреса шлюза для tun0 делает. Протестировано со следующим:
iptables -t nat -N VPN
iptables -t nat -I OUTPUT -j VPN
iptables -t nat -A VPN -p tcp -j DNAT --to-destination 10.1.0.170
Где 10.1.0.170
был адрес шлюза для VPN (найден с использованием ip route
).
- В приведенном выше примере создается цепочка NEW (
-N
) для таблицы nat (-t
). - Переход к цепочке VPN происходит с
OUT
(сразу после локального приложения). Использование вставки (-I
) для замены других правил в OUT. - Подразумевается, что для трафика, исходящего из любого источника, измените назначение на шлюз устройства
tun0
.
Вопрос 2(а)
Для исходящего трафика адрес назначения является IP-адресом интерфейса eth0
или это адрес шлюза?
Предполагая, что eth0
является интерфейсом / шлюзом по умолчанию.
Вопрос 2(б)
Для трафика, генерируемого из локального приложения, каков адрес источника?
Вопрос 3
Это можно решить исключительно с помощью iptables или мне нужно изменить таблицу маршрутизации? Поскольку оба интерфейса находятся на одном хосте (то есть в одном и том же окне Debian).
Дополнительная информация
Я пытаюсь понять принципы, чтобы применить их в своем деле. Всего существует три подсети I-адреса, третья находится в диапазоне 172.17.42.1/16, связанная с другим виртуальным интерфейсом docker0
.
По сути , я хочу , чтобы направлять трафик от всего 172.17.42.8 через VPN.