Tomato Dual VLAN (где один из них VPN туннелирован)

Я работаю, чтобы моя домашняя сеть с Tomato работала с двумя SSID Wi-Fi. Мой маршрутизатор является двухдиапазонным маршрутизатором NETGEAR NIGHTHAWK, и до сих пор Tomato отлично работает на нем, а также функция VPN. Единственным недостатком является то, что, когда VPN активен (когда вы выбираете start через интерфейс Tomato), он применяет VPN-туннель к обоим SSIDs, которые я установил. Разве нет какой-нибудь способ, чтобы иметь только с VPN применяться только к одному из этих идентификаторов SSID? Таким образом, изменив беспроводную сеть, я смогу помимо VPN-туннеля, который работает на моем маршрутизаторе.

это возможно?

19
задан Hennes
19.11.2022 16:05 Количество просмотров материала 2891
Распечатать страницу

1 ответ

Я недавно реализовал нечто подобное в своей домашней сети, на Tomato (shibby) v138. Вот диаграмма: Tomato LAN diagram

прежде чем попасть в настройку VPN, у меня изначально были сети 2,4 ГГц и 5 ГГц на одном SSID, давайте назовем его "общедоступным". Внутренняя сеть назначила устройства адресам в диапазоне 192.168.1.2-254. Это то, что вы видите в верхней части схемы.

это те изменения, которые я сделал, чтобы добавить новую подсеть маршрутизация через VPN:

  1. под Basic/Network / LAN, я добавил новый мост с именем "br1". Я дал ему IP-адрес 192.168.2.1, маску подсети 255.255.255.0, DHCP включен, и диапазон IP 192.168.2.2-254.
  2. под Расширенный / Виртуальный Беспроводной, я добавил два новых виртуальных беспроводных интерфейса, wl0.1 и wl1.1, для интерфейсов 2,4 ГГц и 5 ГГц соответственно. Оба назначены на новый мост " LAN1 (br1)". Я дал оба тот же новый SSID, например "private". Вы также можете дать им другой пароль от публичной сети, если хотите.
  3. под VPN туннелирование / openvpn клиент / Basic, я настроил VPN-клиент (мой поставщик VPN является частный доступ в интернет, так что я следовал данное руководство). Я также включил "начать с WAN", поэтому он запустится автоматически.
  4. под VPN туннелирование / openvpn клиент / дополнительно, я установил " игнорировать шлюз перенаправления" вариант, чтобы клиент не путь все к VPN.
  5. под VPN туннелирование / клиент OpenVPN / политика маршрутизации, я проверил " перенаправление через VPN "и добавил строку с типом" от исходного IP "и значением" 192.168.2.0/24", так что все хосты в новой подсети маршрутизируются через VPN.

в этот момент я могу запустить VPN-клиент, затем выбрать беспроводное устройство, подключиться к" частной " сети и подтвердить, что мой IP-адрес в интернете находится за VPN, и подключиться к "public" и поток Netflix / Amazon Prime видео без получения географические ошибки ограничения.

Теперь вы можете настроить каждое устройство для подключения к SSID в соответствии с их потребностями. В нашем доме медиа-стример, который обслуживает потоки Netflix на телевизор, остается в публичной сети. Мой телефон и ноутбук подключаются к частной сети. В большинстве случаев вы должны выбрать один или другой-вы не хотите, чтобы устройство автоматически подключалось к одному из них произвольно.

Дополнительное Оборудование

получаете проводной: если вы хотите физический порт Ethernet для подключения через VPN, вы можете добавить новую VLAN под дополнительно/VLAN и назначить его новому мосту (br1). На этом этапе вы можете переместить один или несколько физических портов Ethernet на маршрутизаторе в защищенную VLAN, если хотите. Я этого не сделал, поэтому только беспроводные клиенты смогут присоединиться к моей частной подсети.

внутренние Маршрутизация: после выполнения описанных выше шагов, вы можете обнаружить, что клиенты в общественных и частных сетях не могут разговаривать друг с другом. Настройка политики маршрутизации VPN-клиента, как я сделал выше, добавляет Это правило:

iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -j MARK --set-mark 311

для сценария брандмауэра tomato. Это отмечает каждый пакет, происходящий в сети 192.168.2.0/24, и все с меткой 311 маршрутизируется через VPN. Это означало, что любые устройства в подсети" public " (192.168.1.0/24) не могли взаимодействовать с устройствами в подсети "частная" подсеть через внутреннюю сеть, потому что, хотя запрос пройдет, ответ будет перенаправлен на VPN и потерян. В моем случае я хотел иметь доступ к файловым ресурсам с сервера в частной сети, поэтому я решил очистить метку для всего, что должно быть отправлено в общедоступную сеть. Я сделал это, добавив строку:

iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j MARK --set-mark 0

to Администрирование / Скрипты / Firewall. Аналогичное правило можно добавить для любых портов, которые планируется пересылать маршрутизатору из частной сети.

отказобезопасности: также известный как "Kill switch", я добавил пару дополнительных правил к Администрирование / Скрипты / Firewall, которые предназначены для предотвращения чего-либо из частной сети, идущей в незащищенную WAN (vlan2). Это означает, что если VPN по какой-то причине отключается, клиенты, подключающиеся к частной сети, не могут случайно обмениваться данными через незащищенный интерфейс WAN.

iptables -I FORWARD -s 192.168.2.0/24 -o vlan2 -m state --state NEW -j REJECT --reject-with icmp-host-prohibited 
iptables -I FORWARD -p tcp -s 192.168.2.0/24 -o vlan2 -m state --state NEW -j REJECT --reject-with tcp-reset
5
отвечен Matt 2022-11-20 23:53

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх