The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Роутинг для отдельного пользователя на wifi, !*! Ананем кто же еще, 30-Авг-15, 01:50  [смотреть все]
Столкнулся с такой проблемой, т.к. в настройке сетей не силен спрошу тут.

Имею впн и пытаюсь сделать конфиг когда все ходить через впн, но одна прога/юзер может ходить через реальный адрес

Гугление выдает решения типа
http://blog.sebastien.raveau.name/2009/04/per-process-routin...

Но тут требуется прописать роут, в еще нескольких похожих решениях тоже. А на wifi я не могу прописать роут, т.к. могу просто пойти в другое место и подключиться к другой сетке, а там будет другой гейтвей.
Сетку в этом плане конфигурирует нетворкменеджер и мне хотелось бы подключатсья к любой сети из гуя, ковыряться в консоли каждый раз зайдя в макдональдс не хочется совсем.
Можно конечно скриптик накостылять который будет парсить роут добавленный нетворкменеджером и реконфигурироват конфиг с пометкой трафика, но это костыль еще тот.

Как сделать красиво и правильно, чтоб прога/юзер ходили через определенный интерфейс?

Я пробовал забиндить curl на интерфейс, на это работает только из под рута и оно не реагирует на пришедший syn+ack ответ и не делает конект, по сути не работает.

  • Роутинг для отдельного пользователя на wifi, !*! Etch, 08:32 , 30-Авг-15 (1)
    > Но тут требуется прописать роут, в еще нескольких похожих решениях тоже. А
    > на wifi я не могу прописать роут, т.к. могу просто пойти
    > в другое место и подключиться к другой сетке, а там будет
    > другой гейтвей.

    Так сделайте наоборот - пропишите отдельную таблицу роутинга для впн и заруливайте туда всё, что не помечено для отправки напрямую:

    ip rule add not fwmark 42 table 42

    Как-то так. Только сам впн надо тоже помечать, чтобы его соединение шло напрямую, а то он соединиться не сможет.
    • Роутинг для отдельного пользователя на wifi, !*! Ананем кто же еще, 22:36 , 30-Авг-15 (2)
      Спасибо за идею, сделал. Делюсь своим нубским конфигом

      for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done
      echo 1 > /proc/sys/net/ipv4/route/flush

      iptables -t mangle -A OUTPUT -m owner ! --uid-owner юзер_который_будет_ходить_напрямую -j MARK --set-mark 42
      iptables -t mangle -A OUTPUT -d ИП_ВПН -j MARK --set-mark 0

      iptables -t nat -A POSTROUTING -m mark --mark 42 -j SNAT --to-source локальный_ип_назначенный_впном

      ip rule add fwmark 42 table 42
      ip route add default via гейтвей_впна dev tun0 table 42




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру