Надеюсь, кто-нибудь может мне помочь, у меня есть маршрутизатор LinkSys WRT1900 ACS v2, на котором я установил LEDE. У меня есть 2 vlan (192.165.5.1/24, 192.168.10.1/24), у меня также есть настройка OpenVPN, и моя цель состояла в том, чтобы трафик от 1 vlan (.10.1) маршрутизировался через VPN, а трафик от другого vlan (.5.1) не ходи хоть через VPN.
У меня это работает во многих словах, но для подключения к Интернету без vpn vlan мне пришлось добавить следующее в качестве сценария запуска
ip route add default via 192.168.0.1 table 10
ip rule add from 192.168.5.2 table 10
ip rule add from 192.168.5.3 table 10
ip....
Вышеупомянутое работает нормально, один vlan проходит через VPN, а другой не через VPN, единственная проблема с этим заключается в том, что в тот момент, когда я помещаю вышеуказанный код для каждого IP-адреса и перезагружаю свой маршрутизатор, чтобы изменения вступили в силу, я больше не могу ping между vlan, и я действительно хотел бы подключиться к устройствам локально на любом vlan.
Если я извлечу приведенную выше таблицу, у меня не будет доступа в Интернет в VLAN, отличной от VPN, но я могу пинговать устройства на обоих vlan локально.
Если это поможет, я добавил дополнительную информацию для вас ниже.
Файл конфигурации OpenVPN
client
dev tun
proto udp
remote *****OMITTED*****
resolv-retry infinite
remote-random
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ping 15
ping-restart 0
ping-timer-rem
reneg-sec 0
explicit-exit-notify 3
remote-cert-tls server
#mute 10000
auth-user-pass secret
comp-lzo
verb 3
pull
fast-io
cipher AES-256-CBC
auth SHA512
<ca>
*****OMITTED*****
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
*****OMITTED*****
</tls-auth>
Таблица IP-маршрутизации маршрутизатора
root@LEDE:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth1.2
10.8.0.0 * 255.255.0.0 U 0 0 0 tun0
89.34.98.194 192.168.0.1 255.255.255.255 UGH 0 0 0 eth1.2
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1.2
192.168.0.1 * 255.255.255.255 UH 0 0 0 eth1.2
192.168.5.0 * 255.255.255.0 U 0 0 0 br-VLAN5
192.168.10.0 * 255.255.255.0 U 0 0 0 br-VLAN10
root@LEDE:~#
Любая помощь будет очень признательна, и, пожалуйста, успокойтесь, так как я новичок во всем этом.
Большое спасибо
Проблема в маршрутизации, а не в использовании VPN или VLAN (но интеграция с VPN, безусловно, может добавить сложности).
Таблица 10 используется для IP-адресов из 192.168.5.0/24
, поэтому, когда такой IP-адрес получит маршрут по умолчанию, этот маршрут будет использоваться для любой пункт назначения, включая IP-адреса других локальных сетей, даже если это не предназначено. Таким образом, он должен быть заполнен вручную маршрутами к другим локальным сетям, которые, в отличие от основной таблицы, не добавляются автоматически.
перед:
# ip route get 192.168.10.3 from 192.168.5.2 iif br-VLAN5
192.168.10.3 from 192.168.5.2 via 192.168.0.1 dev eth1.2 table 10
cache iif br-VLAN5
исправить:
# ip route add 192.168.10.0/24 dev br-VLAN10 table 10
после:
# ip route get 192.168.10.3 from 192.168.5.2 iif br-VLAN5
192.168.10.3 from 192.168.5.2 dev br-VLAN10 table 10
cache iif br-VLAN5
Обычно нет причин использовать одно правило для каждого IP-адреса из VLAN5, и этого должно быть достаточно:
ip rule add from 192.168.5.0/24 table 10
Но поскольку OP сделал комментарий о том, что он не работает, когда 192.168.5.1
включен, я могу только сказать, что, возможно, что-то еще мешает (другие конфигурации сети не показаны, включая iptables). По-прежнему возможно упрощение (команда netmask 192.168.5.2:192.168.5.255
дает "только": 192.168.5.2/31 192.168.5.4/30 192.168.5.8/29 192.168.5.16/28 192.168.5.32/27 192.168.5.64/26 192.168.5.128/25
).