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

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

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

Добрый день!

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

Есть Keenetic'и (причём несколько штук разных и на разных прошивках - 2-я и 4-я версии). На них настроен l2tp/ipsec клиент, который подключается к openbsd'шному npppd в режиме l2tp + ipsec. Поведение, о котором дальше будет написано, одинаковое.

С подключением всё отлично, но проблема в том, что маршрутизация получается несимметричной - как будто в одну сторону на стороне кинетика для интерфейса ppp0 работает NAT.

Если пакеты идут из сети, которую обслуживает кинетик, в сеть, которую обслуживает openbsd, то соединения устанавливаются, однако IP адрес отправителя в туннельном интерфейсе подменяется на IP адрес кинетика с его стороны туннеля (и видно это tcpdump'ом на кинетике). Для примера, пусть будет ppp0 192.168.20.1 <-> 192.168.20.2. В этом случае все устройства сети openbsd, которые будут получать трафик от устройств из сети кинетика, будут думать, что весь он отправлен с адреса 192.168.20.1, т.е. с кинетика, соответственно и отвечать будут этому адресу, который на стороне кинетика в обратном порядке будет заменён на настоящий и отправлен к себе в сеть нужному устройству.

В обратном направлении (сеть openbsd -> сеть кинетика) трафик идёт с корректным адресом отправителя, доходит до устройства, устройство отвечает, ответ приходит на кинетик и "застревает" в ppp0, не возвращаясь в pppx0 openbsd, хотя адрес получателя стоит корректный. При этом обе стороны туннеля по туннельным адресам могут "пинговать друг друга" без проблем.

Я настраивал правила файрволла на кинетике для пропуска всего во все стороны, отключал isolate-private, меня security-level, пытался отключить NAT, который и так не был включен, убирал ALG из компонентов - ничего не помогает.

В итоге для эксперимента я поднял поверх этого l2tp/ipsec туннеля туннель GRE и настроил маршрутизацию через него. Опять трафик сначала пошёл только в одном направлении (но в обе стороны, т.е. если TCP соединение инициировала сторона кинетика, то пакеты в рамках этого соединения назад тоже ходят). После того, как я выставил secure-level private для интерфейса Gre0, всё на вид заработало как надо - пошёл трафик, инициированный с обоих сторон.

Пользоваться стало можно, но, к сожалению, проблема с односторонней трансляцией IP адресов проявилась также и для Gre0 интерфейса. Кинетик и для Gre0, как и для ppp0, переделывает адреса отправителя в адрес своей строны GRE туннеля.

 

 

 

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

Выключал NAT - no ip nat.

Похоже, что у меня не хватило ума разобраться как управлять транслацией через консоль кинетика.

В итоге сделал:

no ip nat Home

ip static Home ISP

После этого всё на вид заработало корректно и туннельный трафик транслироваться перестал.

Надеюсь, что так правильно. Извиняюсь за беспокойство.

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

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

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

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

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

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

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

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

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

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

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

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