Jump to content

Recommended Posts

Здравствуйте!

Подскажите, как происходит взаимодействие между IPsec VPN и компонентами Entware.

Имеется следующая ситуация: роутер Keneetic Giga 2 с прошивкой 2.09, на котором поднят Тор и dnsmasq. На роутере средствами ipset трафик на заблокированные ресурсы и .onion-сайты заворачивается через Тор, все отлично работает для всех клиентов роутера, проводных и беспроводных.

Возникла идея включить на роутере IPsec VPN, чтобы можно было подключаться с Android-телефона через мобильный интернет, рабочий вайфай и т.п. и иметь отовсюду доступ к заблокированным ресурсам и onion-сайту Флибусты. После включения IPsec VPN и настройки подключения на Андроиде (разрешен NAT, в качестве DNS-сервера указан роутер) трафик с телефона идет через роутер (сайты определяют внешний IP роутера), однако доступа к заблокированным ресурсам и onion-ресурсам нет. Думал, что возможно на телефоне не сбрасывается DNS-кэш, однако по IP-адресу заблокированные сайты тоже не открываются.

Подозреваю, что трафик с VPN-клиентов может идти сразу через внешнее подключение, минуя правила маршрутизации для заблокированных ресурсов.

Подскажите, как можно реализовать задуманное - чтобы VPN-клиенты могли использовать настроенный на роутере обход блокировок.

Link to comment
Share on other sites

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

ip rule add fwmark 1 table 1 priority 1000

у вас отвалится IPSec. Есть такой глюк, @Le ecureuil в курсе, ждём исправления.

2 часа назад, wolowizard сказал:

Подскажите, как можно реализовать задуманное - чтобы VPN-клиенты могли использовать настроенный на роутере обход блокировок.

Как только поправят, обязательно выложу полный How-To для выборочного роутинга по доменным именам.

Link to comment
Share on other sites

Спасибо за ответ

А обязательно создавать таблицу маршрутизации для маркированных пакетов?

Сейчас выборочный роутинг осуществляется средствами iptables. В netfilter.d добавлен файл с правилами:

#!/bin/sh

[ "$table" != "nat" ] && exit 0

iptables -t nat -A PREROUTING -p tcp -m multiport --dports 80,443 -m set --match-set rublock dst -j REDIRECT --to-ports 9040
iptables -t nat -A OUTPUT -p tcp -m multiport --dports 80,443 -m set --match-set rublock dst -j REDIRECT --to-ports 9040
iptables -t nat -A PREROUTING -p tcp -d 10.192.0.0/8 -j REDIRECT --to-port 9040
iptables -t nat -A OUTPUT -p tcp -d 10.192.0.0/8 -j REDIRECT --to-port 9040

Все, что есть в ipset уходит через порт 9040 в Тор, onion-ресурсы транслируются в подсеть 10.192.0.0/8 и тоже уходят в Тор.

Повторюсь, выборочный роутинг отлично работает для локальных клиентов, однако не работает для клиентов VPN.

Получается, трафик от клиентов VPN маршрутизируется как-то иначе по сравнению с трафиком локальных клиентов. Как происходит маршрутизация для клиентов VPN?

Link to comment
Share on other sites

1 час назад, wolowizard сказал:

Повторюсь, выборочный роутинг отлично работает для локальных клиентов, однако не работает для клиентов VPN

а-а-а, это немного другое. Для клиентов VPN выборочный роутинг не работает потому, что VPN-трафик клиентов для роутера не является транзитным. Придётся модифицировать правила iptables.

Link to comment
Share on other sites

5 минут назад, Александр Рыжов сказал:

а-а-а, это немного другое. Для клиентов VPN выборочный роутинг не работает потому, что VPN-трафик клиентов для роутера не является транзитным.

Интересно. Не могу себя назвать большим специалистом по iptables, но разве в этом случае не будет работать правило

iptables -t nat -A OUTPUT -p tcp -m multiport --dports 80,443 -m set --match-set rublock dst -j REDIRECT --to-ports 9040

которое перенаправляет в Тор внутренний трафик роутера?

Видел, что в iptables еще появляется цепочка _NDM_IPSEC_POSTROUTING_NAT при подключении VPN клиента, однако как это использовать пока не сообразил.

11 минуту назад, Александр Рыжов сказал:

Придётся модифицировать правила iptables.

Подскажите, пожалуйста, как. Или данная задача вообще не решается средствами iptables и нужно создавать собственную таблицу маршрутизации?

Link to comment
Share on other sites

Задуманное получилось реализовать, используя стандартный PPTP сервер.

Хотелось бы увидеть комментарии разработчиков, чем отличается маршрутизация трафика клиентов в PPTP сервере и IPsec VPN.

Link to comment
Share on other sites

В случае PPTP у вас на роутере появляется дополнительный сетевой интерфейс, из/в который легко маршрутизировать пакеты выборочно.

IPSec — это policy-based решение, что-то вроде магии «из ядра в ядро» без всякого создания дополнительных TUN/TAP-интерфейсов. В т.ч. поэтому соединение IPSec часто дополняют L2TP или чем-то ещё, имеющим привычный TUN/TAP-интерфейс.

Link to comment
Share on other sites

1 час назад, wolowizard сказал:

Задуманное получилось реализовать, используя стандартный PPTP сервер.

Хотелось бы увидеть комментарии разработчиков, чем отличается маршрутизация трафика клиентов в PPTP сервере и IPsec VPN.

Отличается всем. Путем роутинга невозможно запихать пакеты в туннель IPsec, если они не подпадают под политику.

Попробуйте сделать все это посредством L2TP/IPsec сервера и клиента (они есть в 2.11), если вам нужно лучшее шифрование, нежели чем имеющееся в PPTP.

Link to comment
Share on other sites

  • 1 month later...
В 1/10/2018 в 16:13, Александр Рыжов сказал:

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


ip rule add fwmark 1 table 1 priority 1000

у вас отвалится IPSec. Есть такой глюк, @Le ecureuil в курсе, ждём исправления.

Как только поправят, обязательно выложу полный How-To для выборочного роутинга по доменным именам.

Починено :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...