Маршрутизация трафика wlan1 через vpn и трафика wlan0 на eth0

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

У меня есть устройство на базе ubuntu с двумя беспроводными интерфейсами (wlan0 и wlan1), а также физический сетевой интерфейс (eth0), который подключен к интернету. Я также планирую подключиться к vpn (openvpn для поставщика vpn, который мне придется сначала купить), который, вероятно, будет tun0 или что-то еще. Я хочу, чтобы любой трафик от устройств, подключающихся к wlan1, передавался через vpn, и весь трафик на wlan0 должен маршрутизироваться непосредственно в интернет.

вот мои вопросы:
a) возможно ли это вообще?
b ) если ( a == да), как я это сделаю?

Мне нужно надежное решение, поэтому, пожалуйста, не грязные хаки, если это возможно.

спасибо заранее,
Peer

25
задан peer
22.05.2023 10:40 Количество просмотров материала 3418
Распечатать страницу

1 ответ

это делается с помощью маршрутизации на основе политики.

обычно решения о маршрутизации принимаются на основе сети назначения, однако с маршрутизацией на основе политики вы можете маршрутизировать на основе всех видов аспектов соединения. Ваш сценарий прост: если входящий интерфейс wlan1 тогда маршрут по умолчанию должен быть из tun0

во-первых, мы создали новую таблицу маршрутизации под названием " vpn " (или что вам нравится):

echo "200 vpn" >> /etc/iproute2/rt_tables

или вы можете редактировать этот file и add 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, в который вы можете их добавить.

2
отвечен Paul 2023-05-23 18:28

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

Ваш ответ

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

Имя
Вверх