Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

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

Это мое первое сообщение, так что для начала хочу сказать спасибо всем за проект entware и за всю полезную информацию, которую нашел на этом форуме.

Хочу настроить роутер таким образом, чтобы можно было все соединения от одного из клиентов в сети пустить через vpn, а остальные клиенты чтобы шли через isp подключение как обычно.

Это нужно племяннику для play station 4, потому как sony иногда блокирует внешний ip адрес провайдера, кроме того, для совсем полноценной работы требуется куча портов открытых для входящих соединений. Заодно я сам хотел немного подучиться настраивать сеть, на этом примере.

План был такой:

  • Cоздать в zyxel keenetic omni ii подключение pptp с низким приоритетом
  • Прибить ps4 к конкретному ip адресу в локальной сети
  • Настроить роутинг таким образом, чтобы шлюзом по умолчанию для ps4 было ppp0 соединение
  • Настроить проброс портов на ps4

Все внутренние адреса прибиты и заранее известны (адрес ps4, адрес выдаваемый pptp сервером)

Да, ps4 не умеет vpn.

Поставил прошивку 2.0.5 с OPKG (v2.05(AAUS.4)C4), включил opkg, зашел по ssh. Долго искал в каком пакете находится программа ip (оказалось ip-legacy), но выяснилось, что поддержка advanced routing и multiple tables судя по всему выключена в ядре.

Теперь вопросы

  • Правильным ли путём иду?
  • Можно ли включить в ядре CONFIG_IP_ADVANCED_ROUTER, CONFIG_IP_MULTIPLE_TABLES и еще параметры необходимые для policy based routing?
  • Как собрать своё ядро/прошивку с нужными параметрами (если это вообще возможно)?
  • Может быть в экспериментальной прошивке 2.0.7 с ядром 3.4 уже включены нужные опции?

PS

Немного погрепал по прошивке выложенной в gpl_release, для некоторых target опция ADVANCED_ROUTER выключена, для некоторых включена, не знаю с чем связано. В любом случае, собрать это пока не получилось.

Опубликовано

Более менее получилось сделать задуманное.

Если совсем кратко, то достаточно поставить один пакет и выполнить пару команд.

Подготовка роутера (в моем случае Omni II):

  • Ставим прошивку 2.07 - экспериментальную из этой темы (кстати iproute2 и необходимые настройки ядра имеются также в стабильной прошивке 2.06 на Giga III).
  • Включаем OPKG по инструкции в этой теме.
  • Заходим по ssh на роутер
  • Ставим пакет ip-legacy
    opkg install ip-legacy


  • Проверяем что ядро поддерживает advanced router, команда ip rule должна вернуть дефолтные таблицы
    > ip rule
    0:      from all lookup local
    32766:  from all lookup main
    32767:  from all lookup default
    

Настройки

В роутере должно быть установлено vpn подключение, приоритет подключения должен быть ниже, чем у основного (иначе, ясное дело, все будут ходить через vpn)

Далее предполагаем, что клиент, который должен ходить через vpn, имеет в локальной сети адрес 192.168.73.33 (адрес можно прибить в разделе hosts через веб интерфейс)

vpn интерфейс называется ppp0 , peer адрес тоннеля (шлюз vpn) 192.168.212.1 (можно посмотреть командой ip a), номером таблицы пусть будет 200

  • Добавляем правило для таблицы с условием по исходящему адресу клиента
    ip rule add from 192.168.73.33 table 200
    


  • Добавляем роут по умолчанию через vpn для таблицы 200
    ip route add default via 192.168.212.1 dev ppp0 table 200
    


  • Очищаем кеш (хотя у меня работало и без этого)
    ip route flush cache
    

После этого клиент 192.168.73.33 должен ходить через vpn, остальные клиенты через основное соединение.

Проброс портов настраивается через веб-интерфейс, но это дело индивидуальное и отдельная тема, для play station 4 требуется целая куча портов.

Чтобы эти настройки выжили после перезагрузки, можно, в принципе, добавить скрипт в /opt/etc/init.d, который будет выполнять эти команды при старте роутера.

  Показать контент
  • 7 месяцев спустя...
Опубликовано

правильно я понимаю, что если у меня

~ # cat /proc/sys/net/ipv4/conf/all/accept_source_route
0
~ # cat /proc/sys/net/ipv4/conf/all/rp_filter
0
то PBR у меня не будет?

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.