wolowizard Posted January 10, 2018 Share Posted January 10, 2018 Здравствуйте! Подскажите, как происходит взаимодействие между 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-клиенты могли использовать настроенный на роутере обход блокировок. Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted January 10, 2018 Share Posted January 10, 2018 Как только вы создадите собственную таблицу маршрутизации для маркированных пакетов, например: ip rule add fwmark 1 table 1 priority 1000 у вас отвалится IPSec. Есть такой глюк, @Le ecureuil в курсе, ждём исправления. 2 часа назад, wolowizard сказал: Подскажите, как можно реализовать задуманное - чтобы VPN-клиенты могли использовать настроенный на роутере обход блокировок. Как только поправят, обязательно выложу полный How-To для выборочного роутинга по доменным именам. Quote Link to comment Share on other sites More sharing options...
wolowizard Posted January 10, 2018 Author Share Posted January 10, 2018 Спасибо за ответ А обязательно создавать таблицу маршрутизации для маркированных пакетов? Сейчас выборочный роутинг осуществляется средствами 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? Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted January 10, 2018 Share Posted January 10, 2018 1 час назад, wolowizard сказал: Повторюсь, выборочный роутинг отлично работает для локальных клиентов, однако не работает для клиентов VPN а-а-а, это немного другое. Для клиентов VPN выборочный роутинг не работает потому, что VPN-трафик клиентов для роутера не является транзитным. Придётся модифицировать правила iptables. Quote Link to comment Share on other sites More sharing options...
wolowizard Posted January 10, 2018 Author Share Posted January 10, 2018 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 и нужно создавать собственную таблицу маршрутизации? Quote Link to comment Share on other sites More sharing options...
wolowizard Posted January 15, 2018 Author Share Posted January 15, 2018 Задуманное получилось реализовать, используя стандартный PPTP сервер. Хотелось бы увидеть комментарии разработчиков, чем отличается маршрутизация трафика клиентов в PPTP сервере и IPsec VPN. Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted January 15, 2018 Share Posted January 15, 2018 В случае PPTP у вас на роутере появляется дополнительный сетевой интерфейс, из/в который легко маршрутизировать пакеты выборочно. IPSec — это policy-based решение, что-то вроде магии «из ядра в ядро» без всякого создания дополнительных TUN/TAP-интерфейсов. В т.ч. поэтому соединение IPSec часто дополняют L2TP или чем-то ещё, имеющим привычный TUN/TAP-интерфейс. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted January 15, 2018 Share Posted January 15, 2018 1 час назад, wolowizard сказал: Задуманное получилось реализовать, используя стандартный PPTP сервер. Хотелось бы увидеть комментарии разработчиков, чем отличается маршрутизация трафика клиентов в PPTP сервере и IPsec VPN. Отличается всем. Путем роутинга невозможно запихать пакеты в туннель IPsec, если они не подпадают под политику. Попробуйте сделать все это посредством L2TP/IPsec сервера и клиента (они есть в 2.11), если вам нужно лучшее шифрование, нежели чем имеющееся в PPTP. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted February 22, 2018 Share Posted February 22, 2018 В 1/10/2018 в 16:13, Александр Рыжов сказал: Как только вы создадите собственную таблицу маршрутизации для маркированных пакетов, например: ip rule add fwmark 1 table 1 priority 1000 у вас отвалится IPSec. Есть такой глюк, @Le ecureuil в курсе, ждём исправления. Как только поправят, обязательно выложу полный How-To для выборочного роутинга по доменным именам. Починено Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted February 22, 2018 Share Posted February 22, 2018 Поправил статтю http://keenetic-gi.ga/2018/01/16/selective-routing.html Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.