5

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

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

1 ответ1

6

Недавно я реализовал что-то подобное в моей домашней сети, на Tomato (shibby) v138. Вот схема: Схема локальной сети томатов

Прежде чем приступить к настройке 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. В разделе Advanced/Virtual Wireless я добавил два новых виртуальных беспроводных интерфейса, wl0.1 и wl1.1, для интерфейсов 2,4 ГГц и 5 ГГц соответственно. Оба назначены новому мосту "LAN1 (br1)". Я дал оба одинаковых новых SSID, например, "частный". Вы также можете дать им другой пароль от публичной сети, если хотите.
  3. Под VPN-туннелированием /OpenVPN-клиентом /Basic я настроил VPN-клиента (мой провайдер VPN - Частный доступ в Интернет, поэтому я следовал этому руководству). Я также включил "Начать с WAN", чтобы он запускался автоматически.
  4. Под VPN Tunneling /OpenVPN Client /Advanced я установил опцию "Игнорировать перенаправление перенаправления", чтобы клиент не перенаправлял все в VPN.
  5. В разделе VPN Tunneling /OpenVPN Client /Routing Policy я проверил "Redirect via VPN" и добавил строку с типом "From Source IP" и значением «192.168.2.0/24», чтобы все узлы в новой подсети маршрутизировались через VPN.

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

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

Дополнительные опции

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

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

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

к сценарию брандмауэра томата. Это помечает каждый пакет, исходящий из сети 192.168.2.0/24, и все с пометкой 311 маршрутизируется через VPN. Это означало, что никакие устройства в "общедоступной" подсети (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

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

Отказоустойчивость: также известный как «переключатель уничтожения», я добавил пару дополнительных правил в Администрирование / Сценарии / Брандмауэр , которые предназначены для предотвращения попадания чего-либо из частной сети в незащищенную глобальную сеть (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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .