Настройте VPN-туннель только для одной VLAN

Настройте VPN-туннель только для одной VLAN

У меня следующая топология:

  • маршрутизатор (192.168.10.1, 192.168.11.1)
    • WAN - eth1 (1.2.3.4)
    • VLAN1 (br-lan) - eth0 (ПК1, 192.168.10.2, ПК2, 192.168.10.3)
    • VLAN2 (br-lantv) - eth2 (Smart TV, 192.168.11.2)

и у меня запущен клиент OpenVPN на маршрутизаторе. Я хочу направить ТОЛЬКО трафик от Smart TV (VLAN2) через VPN-туннель, остальной трафик (маршрутизатор, VLAN1) должен идти напрямую в WAN, без того, чтобы телевизор даже заметил (это довольно глупо, и я не могу настроить на нем VPN-клиент).

Маршрутизатор работает под управлением OpenWRT (turris omnia).

В итоге у меня получилось следующее:

/etc/config/брандмауэр

config zone
  option name 'lan'
  list network 'lan'

config zone
  option name 'lantv'
  list network 'lantv'

config zone
  option name 'vpn'
  list network 'vpntun0'

config forwarding
  option src 'lantv'
  option dest 'vpn'

config forwarding
  option src 'lan'
  option dest 'wan'

/etc/config/сеть

config interface 'lan'
        option ifname 'eth0'
        option force_link '1'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.10.1'

config interface 'lantv'
        option ifname 'eth2'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '192.168.11.1'

config interface 'nordvpntun'
        option proto 'none'
        option ifname 'tun0'
        option delegate '0'

config interface 'wan'
        option ifname 'eth1'
        option proto 'dhcp'

И в итоге получаем следующую таблицу маршрутизации:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.7.7.1        128.0.0.0       UG    0      0        0 tun0
default         1.2.3.4         0.0.0.0         UG    0      0        0 eth1
10.7.7.0        *               255.255.255.0   U     0      0        0 tun0
78.45.252.0     *               255.255.255.0   U     0      0        0 eth1
78.45.252.1     *               255.255.255.255 UH    0      0        0 eth1
128.0.0.0       10.7.7.1        128.0.0.0       UG    0      0        0 tun0
173.209.60.43   1.2.3.4         255.255.255.255 UGH   0      0        0 eth1
192.168.10.0    *               255.255.255.0   U     0      0        0 br-lan
192.168.11.0    *               255.255.255.0   U     0      0        0 br-lantv

Трафик из локальной сети не может выйти в Интернет.

Я попробовал следующее:

config forwarding
  option src 'lan'
  option dest 'vpn'

который направляет все, даже с ПК и роутера, через VPN, а это нежелательно.

ИЛИ

--route-nopullв конфигурацию VPN, которая в итоге оказалась без маршрутов, и lantvбыл перенаправлен на vpn, но там он и закончился, и интернет был недоступен.

Вероятно, я упускаю способ определения route default gwдля конкретной VLAN и настройки lantvтаким образом. Или я делаю это совершенно неправильно? Нужна ли вообще отдельная VLAN? Я хочу перенаправить только одно устройство. Спасибо!

решение1

Операторы "пересылки" в конфигурации luci относятся к брандмауэру (и, похоже, для его работы нужны дополнительные записи). Взглянитездесь(OpenWRT WiKi).

Что вам действительно нужно сделать, так это реализовать маршрутизацию на основе политики (источника), которую можно настроить с помощью правил и различных таблиц маршрутизации. Для этого вам понадобится iproute2, и краткий HowTo doc доступенздесь(OpenWrt WiKi).

Связанный контент