У меня есть сервер Linux, который функционирует как шлюз для моей домашней сети. У него есть два Ethernet-устройства:
p3p1
: WAN, публичный IP-адресa.b.c.d
p2p1
: LAN, частный IP-адрес10.0.3.1/24
Он также подключается через туннель OpenVPN точка-точка к удаленному серверу Linux (который я также администрирую). Это добавляет устройство
tun2
: VPN, частный IP-адрес10.2.0.2/32
Вопрос в том, как сделать так, чтобы весь трафик от клиентов в локальной сети перенаправлялся через туннель OpenVPN?
Я могу перенаправить весь трафик (в том числе исходящий от сервера шлюза), используя опцию конфигурации VPN-клиента redirect-gateway def1
. Но это не то, что я хочу.
Будет ли способ сделать это с помощью IPTables NAT?
Спасибо!
redirect-gateway def1
директиву и создайте некоторые записи маршрутизации на основе политик: tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.simple.html Как вы сказали: каждый трафик из локальной сети направляется на шлюз VPN по умолчанию и трафик сервера идет к шлюзу по умолчанию за p3p1.Мне удалось сделать это с помощью IP-маршрутизации на основе политик, как отметил А. Фендт в комментарии:
$ echo "200 vpndef1" | sudo tee -a /etc/iproute2/rt_tables
$ sudo ip route add 10.0.3.0/24 via 10.0.3.1 dev p2p1 table vpndef1 $ sudo ip route add default via 10.2.0.1 dev tun2 table vpndef1
$ sudo ip rule add from 10.0.3.0/24 lookup vpndef1
источник