Перенаправление трафика подсети на другой шлюз

386
Gaia

У меня есть Debian Jessie box на 192.168.1.5, подключенный к маршрутизатору (на 192.168.1.1), на котором работает клиент OpenVPN (на самом деле это Pi, использующий эту настройку . Единственное отличие состоит в том, что eth0 IP Pi является статическим из-за маршрутизатора, т.е. Pi использует DHCP маршрутизатора).

Когда клиенты LAN настроены на использование 192.168.1.5 в качестве шлюза, они подключаются к VPN, как и предполагалось.

Мне нужно, чтобы клиенты локальной сети в пределах 192.168.1.128/25 перенаправляли весь трафик на 192.168.1.5, даже если их IP-адрес установлен DHCP-маршрутизатором, а их шлюз становится 192.168.1.1. Другими словами, клиенты в пределах 192.168.1.128/25 должны работать так, как если бы их шлюз был 192.168.1.5.

Какие настройки iptablesи / или route addнастройки необходимы маршрутизатору для этого (маршрутизатор работает с томатом 3.4-138)? Это настройки маршрутизатора:

iptables -t nat -L -n

Chain PREROUTING (policy ACCEPT) target prot opt source destination WANPREROUTING all -- 0.0.0.0/0 wan_ip upnp all -- 0.0.0.0/0 wan_ip  Chain INPUT (policy ACCEPT) target prot opt source destination  Chain OUTPUT (policy ACCEPT) target prot opt source destination  Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0 SNAT all -- 192.168.1.0/24 192.168.1.0/24 to:192.168.1.1 SNAT all -- 172.16.1.0/24 172.16.1.0/24 to:172.16.1.1  Chain WANPREROUTING (1 references) target prot opt source destination DNAT icmp -- 0.0.0.0/0 0.0.0.0/0 to:192.168.1.1 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 to:192.168.1.1:443 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2222 to:192.168.1.5:22 DNAT all -- 0.0.0.0/0 0.0.0.0/0 to:192.168.1.4  Chain pupnp (0 references) target prot opt source destination  Chain upnp (1 references) target prot opt source destination DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:55355 to:192.168.1.130:55355 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:55355 to:192.168.1.130:55355 DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5353 to:192.168.1.48:5353 DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4500 to:192.168.1.48:4500 

iptables -L

Chain INPUT (policy DROP) target prot opt source destination DROP all -- anywhere anywhere state INVALID ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED shlimit tcp -- anywhere anywhere tcp dpt:ssh state NEW ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere tcp dpt:https  Chain FORWARD (policy DROP) target prot opt source destination all -- anywhere anywhere account: network/netmask: 192.168.1.0/255.255.255.0 name: lan all -- anywhere anywhere account: network/netmask: 172.16.1.0/255.255.255.0 name: lan1 ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere DROP all -- anywhere anywhere state INVALID ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED DROP all -- anywhere anywhere DROP all -- anywhere anywhere wanin all -- anywhere anywhere wanout all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere upnp all -- anywhere anywhere ACCEPT all -- anywhere SIP-Device  Chain OUTPUT (policy ACCEPT) target prot opt source destination  Chain shlimit (1 references) target prot opt source destination all -- anywhere anywhere recent: SET name: shlimit side: source DROP all -- anywhere anywhere recent: UPDATE seconds: 60 hit_count: 4 name: shlimit side: source  Chain upnp (1 references) target prot opt source destination ACCEPT udp -- anywhere client-1 udp dpt:55355 ACCEPT tcp -- anywhere client-1 tcp dpt:55355 ACCEPT udp -- anywhere client-2 udp dpt:mdns ACCEPT udp -- anywhere client-2 udp dpt:4500  Chain wanin (1 references) target prot opt source destination ACCEPT tcp -- anywhere *Pi* tcp dpt:ssh  Chain wanout (1 references) target prot opt source destination 

маршрут

(маршрутизатор находится за модемом WAN)

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface modem.ip.0.1 * 255.255.255.255 UH 0 0 0 vlan2 192.168.1.0 * 255.255.255.0 U 0 0 0 br0 172.16.1.0 * 255.255.255.0 U 0 0 0 br1 modem.ip.0.0 * 255.255.224.0 U 0 0 0 vlan2 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default modem.ip.0.1 0.0.0.0 UG 0 0 0 vlan2 
0

1 ответ на вопрос

2
Nevin Williams

Быстрый способ переопределить маршрут по умолчанию, предоставленный DHCP (который является / 0), - добавить два / 1 маршрута к шлюзу VPN:

route -n add -net 0.0.0.0 192.168.1.5 128.0.0.0

route -n add -net 128.0.0.0 192.168.1.5 128.0.0.0

Хотя предоставленный DHCP маршрут по умолчанию остается на месте, любой из / 1 будет предпочтительным для трафика IPv4 из-за их более коротких префиксов.

В настоящее время я использую этот взлом в качестве подтверждения концепции; Я все еще в сети, и запрос таблицы показывает, что используется маршрут / 1.

[nevin-mac-mini: ~] root # route -n add -net 0.0.0.0 192.168.2.1 128.0.0.0 добавить сеть 0.0.0.0: шлюз 192.168.2.1 [nevin-mac-mini: ~] root # route -n add -net 128.0.0.0 192.168.2.1 128.0.0.0 добавить сеть 128.0.0.0: шлюз 192.168.2.1 
[nevin-mac-mini: ~] root # netstat -rn Таблицы маршрутизации  Интернет: Флаги шлюза назначения Ссылки Использовать Netif Expire 0/1 192.168.2.1 UGSc 3 0 en0 по умолчанию 192.168.2.1 UGSc 4 0 en0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 1 6576 lo0 128.0 / 1 192.168.2.1 UGSc 1 0 en0 ... 
[nevin-mac-mini: ~] root # route -n get 200.200.200.200 Маршрут до: 200.200.200.200 пункт назначения: 128.0.0.0 маска: 128.0.0.0 шлюз: 192.168.2.1 интерфейс: en0 флаги:  recvpipe sendpipe ssthresh rtt, msec rttvar hopcount mtu expire 0 0 0 0 0 0 1500 0  [nevin-mac-mini: ~] root #  
Не уверен, что я следую. Добавить эти маршруты в Пи? Gaia 7 лет назад 0
Добавьте их на любое устройство, которое хотело бы использовать хост .5 в качестве шлюза вместо устройства .1, предоставляемого DHCP. Nevin Williams 7 лет назад 0

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