
Я пытаюсь настроить беспроводной маршрутизатор и использовать vpn. Поскольку я довольно новичок в этой конкретной теме. Надеюсь, кто-нибудь здесь сможет дать мне подсказку или, если возможно, практическое решение. Я перерыл весь интернет, но не нашел убедительного решения следующей проблемы:
У меня есть устройство на базе Ubuntu с двумя беспроводными интерфейсами (wlan0 и wlan1), а также физическим сетевым интерфейсом (eth0), который подключен к Интернету. Я также планирую подключиться к vpn (openvpn к провайдеру vpn, которого мне придется сначала купить), который, вероятно, будет tun0 или что-то в этом роде. Я хочу, чтобы весь трафик с устройств, подключенных к wlan1, направлялся через vpn, а весь трафик на wlan0 направлялся напрямую в Интернет.
Вот мои вопросы: а) возможно ли это вообще? б) если ( а == да ), то как мне это сделать?
Мне нужно надежное решение, поэтому, пожалуйста, по возможности не прибегайте к грязным трюкам.
Спасибо заранее, Пэр
решение1
Это делается с помощью маршрутизации на основе политик.
Обычно решения о маршрутизации принимаются на основе сети назначения, однако с маршрутизацией на основе политик вы можете маршрутизировать на основе всех видов аспектов соединения. Ваш сценарий прост: если входящий интерфейс — wlan1
то маршрут по умолчанию должен быть изtun0
Сначала мы настраиваем новую таблицу маршрутизации под названием «vpn» (или как вам больше нравится):
echo "200 vpn" >> /etc/iproute2/rt_tables
Или вы можете отредактировать этот файл и добавить 200 vpn
в конец.
Далее нам нужно добавить правило:
sudo ip rule add iif wlan1 lookup vpn
Это означает, что «если входящий интерфейс — wlan1
то используйте таблицу маршрутизации с именем «vpn», а не обычную».
Затем добавляем маршрут по умолчанию в таблицу маршрутизации VPN:
sudo ip route add default dev tun0 table vpn
sudo ip route flush cache
Это говорит о том, что все, что использует таблицу маршрутизации под названием "vpn", будет использовать интерфейс tun0 в качестве шлюза по умолчанию. Затем мы очищаем кэш маршрутов для надежности.
Эту команду можно использовать для просмотра таблицы маршрутизации VPN:
sudo ip route list table vpn
Теперь это просто случай запуска этих команд, возможно, как скрипт после активации vpn. Я почти уверен, что у openvpn есть post-up скрипт, в который вы можете их добавить.