The OpenNET Project / Index page

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



Создать новую тему
 - Свернуть нити
Пометить прочитанным
Архив | Избранное | Мое | Новое | | |  
Подсказка: Для сортировки сообщений в нити по дате нажмите "Сортировка по времени, UBB".
Форум Открытые системы на сервере
Сервер с несколькими интерфейсами, !*! Harlan, 13-Мрт-20, 08:40  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
  • https anr-daemon livejournal com 1655 html thread 2679 t2679Почитай, похоже на, !*! Аноним (1), 10:08 , 13-Мрт-20 (1)
    > Подскажите, пожалуйста, как сделать так, чтобы ответы на пинги (и сессии OpenVPN),
    > отправлялись с того же интерфейса (и с того же IP), на
    > который пришел запрос?

    https://anr-daemon.livejournal.com/1655.html?thread=2679#t2679

    Почитай, похоже на твой случай...

    сообщить модератору +/ответить
  • Вам вверху дали првильную ссылку, но, имхо, там несколько запутанно Можно обойт, !*! Licha Morada (ok), 20:39 , 13-Мрт-20 (3)
    Вам вверху дали првильную ссылку, но, имхо, там несколько запутанно. Можно обойтись более простыми мерами.

    > Пытаюсь из-вне пропинговать адреса интерфесов сервера.
    > ping 10.1.1.110 - отправлено 5 пакетов / получено 5 пакетов
    > ping 10.2.2.220 - отправлено 5 пакетов / получено 0 пакетов
    > ping 10.3.3.30 - отправлено 5 пакетов / получено 0 пакетов
    > Сканер запущенный на сервере показал, что пинги на сервер прилетают, но ответы
    > отправляются через enp1 (Default Gateway) с выставленным Source IP 10.1.1.110.
    > Боюсь, что с OpenVPN может возникнуть такая же ситуация.

    Да. Именно так оно и происходит по дефолту.

    Дело в том, что:
    - Интерфейс для исходящих пакетов зависит от выбранного маршрута, а именно gateway.
    - Маршрут зависит от адреса получателя, мы его не контролируем совсем.
    - Получатель, когда подключался к нам, сам выбрал по какому (нашему) адресу это делать, и этот адрес может не совпадать с интерфейсом на котором находится gateway который выбиаем мы на основе таблицы маршрутизации.

    Важно не путать "исходящий пакет" с "исходящим соединением". Независимо от того, клиент мы (подключаемся к кому-то) или сервер (принимаем подключение), пакеты будут ходить в обе стороны. В даном случае, мы сервер, но фиксить надо поведение исходяих пакетов.


    > Подскажите, пожалуйста, как сделать так, чтобы ответы на пинги (и сессии OpenVPN),
    > отправлялись с того же интерфейса (и с того же IP), на
    > который пришел запрос?

    Если коротко, то надо как-то заставить вашу систему выбирать маршрут не только на основе адреса получателя, но и на основе адреса отправителя. Адрес отправителя, очень кстати, будет соответствовать интерфейсу на котором мы приняли подключение с самого начала.

    > Поможет ли тут Source routing от iproute2?

    Да, именно iproute2. Я знаком с этой технологией под именем Policy Based Routing. Source routing первый раз слышу, но, возможно, исключительно от недостатка эрудиции.
    Читайте https://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.mult...

    Для каждого из ваших enp1-3:
    - Создайте новую _дополнительную_ таблицу маршрутизации, со своим default gateway и маршрутом к локалной сети (2 маршрута).
    - Создайте правило policy, что к пакетам с конкретнум адресом отправителя надо применять конкретную таблицу.

    Вы привели замечательный пример разнообразия интернетов. Смотрите:

    > enp1: Provider 1. IPAddress: 10.1.1.110/30 Default Gateway: 10.1.1.109

    ip route add 10.1.1.108/30 dev enp1 src 10.1.1.110 table 1011
    ip route add default via 10.1.1.109 table 1011
    ip rule add from 10.1.1.110 table 1011

    > enp2: Provider 2. IPAddress: 10.2.2.220/28 Gateway: 10.2.2.209

    ip route add 10.2.2.208/28 dev enp1 src 10.2.2.220 table 1022
    ip route add default via 10.2.2.209  table 1022
    ip rule add from 10.2.2.220 table 1022

    > enp3: Provider 3. IPAddress: 10.3.3.30/29 Gateway: 10.3.3.25

    ip route add 10.3.3.24/29 dev enp1 src 10.3.3.30 table 1033
    ip route add default vi 10.3.3.25  table 1033
    ip rule add from 10.3.3.30 table 1033

    (я нигде в масках не ошибся?)

    Этого достаточно для того, чтобы отвечать на том-же интерфейсе на который подключился клиент.
    Это базовая конфигурация multihomed. На её основе можно достраивать разнообразные усложнения, типа резервирования каналов, балансировку и т.д.
    Это proof of concept, оно будет работать, но для продакшена стоит его причесать. Дать осмысленные имена таблицам, автоматизировать добавление правил при включении интерфейса, и убирании их-же при выключении, и т.д.

    сообщить модератору +/ответить
  • https access redhat com solutions 53031, !*! noname (ok), 23:19 , 13-Мрт-20 (4)

    > Подскажите, пожалуйста, как сделать так, чтобы ответы на пинги (и сессии OpenVPN),
    > отправлялись с того же интерфейса (и с того же IP), на
    > который пришел запрос?

    https://access.redhat.com/solutions/53031


    сообщить модератору +/ответить
 
Пометить прочитанным Создать тему
Архив | Избранное | Мое | Новое | | |



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

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