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

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

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

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

1. Не возможность использовать policy routing в данной связке. ip policy принимает в конфиге и вебморде только "global" интерфейсы - ipip0 по какой-то причине этим не является. Фича или Бага? Выход из положения через Enterware и перебивание содержимого ip таблицы - мягко скажем не очень приятен.

 

2. Как не крути - Кинетик упорно делает NAT на ipip0 (no ip nat ipip0 естественно сделан). Найден вариант с 

#!/bin/sh

[ "$table" != "nat" ] && exit 0


iptables -t nat -I _NDM_MASQ_BYPASS -o ipip0 -j ACCEPT

Но как-то вот..

 

3. В качестве пожелания - сделать PBR через ipset а не через стопку одинаковых правил. И вам проще - и файрволу напрягаться меньше.

 

 

Опубликовано (изменено)
17 минут назад, Alexey Lyahkov сказал:

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

1. Не возможность использовать policy routing в данной связке. ip policy принимает в конфиге и вебморде только "global" интерфейсы - ipip0 по какой-то причине этим не является. Фича или Бага? Выход из положения через Enterware и перебивание содержимого ip таблицы - мягко скажем не очень приятен.

 

2. Как не крути - Кинетик упорно делает NAT на ipip0 (no ip nat ipip0 естественно сделан). Найден вариант с 

#!/bin/sh

[ "$table" != "nat" ] && exit 0


iptables -t nat -I _NDM_MASQ_BYPASS -o ipip0 -j ACCEPT

Но как-то вот..

 

3. В качестве пожелания - сделать PBR через ipset а не через стопку одинаковых правил. И вам проще - и файрволу напрягаться меньше.

 

 

Выполните ip global  на ipip интерфейсе, и он станет работать с policy

Изменено пользователем r13
Опубликовано (изменено)
44 минуты назад, Alexey Lyahkov сказал:

ipip0 по какой-то причине этим не является

должен быть дефолтный маршрут (ip route default IPIP10 auto) и ip global на интерфейсе (interface IPIP10 ip global 123)

44 минуты назад, Alexey Lyahkov сказал:

Кинетик упорно делает NAT на ipip0 (no ip nat ipip0 естественно сделан)

ip nat задается на src. Т.е. "ip nat Home" означает "натить из Home в любой исходящий интерфейс". Поэтому вам надо "натить из Home только в ISP", т.е. "no ip nat Home" и затем "ip static Home ISP"

Изменено пользователем KorDen
Опубликовано
1 час назад, Alexey Lyahkov сказал:

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

1. Не возможность использовать policy routing в данной связке. ip policy принимает в конфиге и вебморде только "global" интерфейсы - ipip0 по какой-то причине этим не является. Фича или Бага? Выход из положения через Enterware и перебивание содержимого ip таблицы - мягко скажем не очень приятен.

 

2. Как не крути - Кинетик упорно делает NAT на ipip0 (no ip nat ipip0 естественно сделан). Найден вариант с 

#!/bin/sh

[ "$table" != "nat" ] && exit 0


iptables -t nat -I _NDM_MASQ_BYPASS -o ipip0 -j ACCEPT

Но как-то вот..

 

3. В качестве пожелания - сделать PBR через ipset а не через стопку одинаковых правил. И вам проще - и файрволу напрягаться меньше.

 

 

IPset в качестве backend появился сильно позже PBR, потому не все компоненты переведены на него. Про остальное вам уже подсказали.

Опубликовано
2 hours ago, KorDen said:

ip nat задается на src. Т.е. "ip nat Home" означает "натить из Home в любой исходящий интерфейс". Поэтому вам надо "натить из Home только в ISP", т.е. "no ip nat Home" и затем "ip static Home ISP"

Простите - но дико не удобно. Когда у тебя больше пары интерфейсов - прийдется прописывать в конфиг MxN (m - гостевых, N - внешних) строк что бы описать что же и как натить.

И молиться что бы не одну из конфигураций не забыть 😕

Тогда как перечисление только тех где натить - дало бы в разы меньше строк. Я подозревал что прийдется делать ip static ... но похоже более простое решение это N строчек в _NDM_MASQ_BYPASS - для исключения интерфейсов где натить не нужно.

 

Опубликовано
2 hours ago, KorDen said:

должен быть дефолтный маршрут (ip route default IPIP10 auto) и ip global на интерфейсе (interface IPIP10 ip global 123)

3 hours ago, Alexey Lyahkov said:

(config)> ip route default IPIP0 auto
Network::RoutingTable error[5046298]: automatic default routes are invalid.
> show interface ipip0

               id: IPIP0
            index: 0
             type: IPIP
      description:
   interface-name: IPIP0
             link: up
        connected: yes
            state: up
              mtu: 65516
         tx-queue: 1
          address: 198.18.1.1
             mask: 255.255.255.252
           uptime: 12856
           global: yes
        defaultgw: no
         priority: 350
   security-level: private
tunnel-local-source: 198.18.0.1
tunnel-remote-destination: 198.18.0.2
    ipsec-enabled: no
ipsec-ikev2-allowed: yes
ipsec-ikev2-enabled: no

Опубликовано
5 минут назад, Alexey Lyahkov сказал:

automatic default routes are invalid

Да, ошибся, дефолтные маршруты надо без auto

25 минут назад, Alexey Lyahkov сказал:

прийдется прописывать в конфиг MxN

Ага :(

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

спасибо, за подсказки! заработало адекватно.

хотелось еще PBR в виде - вот эти хосты ходят в интерфейс только если это не к этим адресам - но в тех местах где стоят кинетики - это наверно не нужно.

А в тике это было реализовано одним правилом с 2мя IPSET списками.

Опубликовано (изменено)

@Le ecureuil маленькое дополнение по глюкам. Воспользовавшись советом default в ipip0 наткнулся на баго/фичу.

IPsec тунель не добавляет свой peer в роутинг на дефолтовый интерфейс. В результате ipsec тихо умирает и не может найти пира. Хотя show ip route видит default в нужный интерфейс 😕

Quote

> show ip route
================================================================================
Destination          Gateway           Interface                         Metric
================================================================================
0.0.0.0/0            100.68.91.1       ISP                               0
5.8.48.16/32         100.68.91.1       ISP                               0
10.1.30.0/24         0.0.0.0           Guest                             0
100.68.91.0/24       0.0.0.0           ISP                               0

 

Добавление руками адреса пира в роутинг решает проблему - но не кошерно :-) система должна сама это делать.

С туннельными адресами меня берет сомнение.. но выглядит как тоже надо бы добавить - во избежание глюков.

 

Изменено пользователем Alexey Lyahkov
добавил о туннельных адресах
Опубликовано
1 час назад, Alexey Lyahkov сказал:

@Le ecureuil маленькое дополнение по глюкам. Воспользовавшись советом default в ipip0 наткнулся на баго/фичу.

IPsec тунель не добавляет свой peer в роутинг на дефолтовый интерфейс. В результате ipsec тихо умирает и не может найти пира. Хотя show ip route видит default в нужный интерфейс 😕

 

Добавление руками адреса пира в роутинг решает проблему - но не кошерно :-) система должна сама это делать.

С туннельными адресами меня берет сомнение.. но выглядит как тоже надо бы добавить - во избежание глюков.

 

Не очень понимаю о чем вы. Лучше пример приведите.

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

Хм.. вроде привел пример. Давайте еще раз.

1. По совету KorDen был сделан ip route add default ipip0 и через политику назначено 2м хостам в локалке.
ip route default IPIP0

2.  Через политику назначено некоторым хостам.

ip policy vpn-gw
    description vpn-gw
    permit global IPIP0

permit global Wireguard0
    permit global ISP
!

3. crypto map home2
    set-peer xxxxx.keenetic.name

 

..

----

Таблица роутинга как ее видел кинетик - я показал выше.

> show ip route
================================================================================
Destination          Gateway           Interface                         Metric
================================================================================
0.0.0.0/0            100.68.91.1       ISP                               0
5.8.48.16/32         100.68.91.1       ISP                               0
10.1.30.0/24         0.0.0.0           Guest                             0
100.68.91.0/24       0.0.0.0           ISP                               0

Устраиваем reboot.. ОПА.. и ipsec не поднимается - говорит не могу достучаться до пира.

I [Feb 15 10:00:58] ipsec: 12[IKE] retransmit 7 of request with message ID 0
I [Feb 15 10:01:14] ipsec: 10[IKE] retransmit 8 of request with message ID 0
I [Feb 15 10:01:31] ipsec: 10[IKE] giving up after 8 retransmits

I [Feb 15 10:01:31] ndm: IpSec::Configurator: "home2": schedule reconnect for crypto map.
I [Feb 15 10:01:31] ipsec: 10[IKE] establishing IKE_SA failed, peer not responding
 

делаем
ip route 31.28.251.xxx ISP

 

IPSEC поднимается, и вся схема работает. Получается по какой-то причине ipsec демон не может найти роутинг до пира.

Опубликовано (изменено)

в смысле автоматический? вы имеете ввиду ipsec в туннельном режиме? Тогда прикиньте сколько нужно политик прописать когда с обоих сторон туннеля по 5-7 сетей. Я молчу о том что с другой стороны Mikrotik 4011 - как vpn шлюз. У того проблемы с несколькими сетями в рамках фазы 2 есть проблемы.

Или вы о l2tp ? 

Изменено пользователем Alexey Lyahkov
Опубликовано
1 час назад, Alexey Lyahkov сказал:

в смысле автоматический? вы имеете ввиду ipsec в туннельном режиме? Тогда прикиньте сколько нужно политик прописать когда с обоих сторон туннеля по 5-7 сетей. Я молчу о том что с другой стороны Mikrotik 4011 - как vpn шлюз. У того проблемы с несколькими сетями в рамках фазы 2 есть проблемы.

Или вы о l2tp ? 

Первый пост внимательно читали?

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

Не будет работать в моем случае - по двум причинам.

1. На той стороне Mikrotik 4011 - к которому надо подбирать отдельные настройки. Возможно получится - возможно нет.

2. На стороне "клиента" - динамический "серый" адрес. В то время как ip tunnel ipip требует указания на обоих сторонах destination ip.

 

PS.  и все это что бы при создании ipsec peer не добавлять его адрес в роутинг.. собственно это больше для других кто наступит на эту же бяку.

Опубликовано
13 минуты назад, Alexey Lyahkov сказал:

Не будет работать в моем случае - по двум причинам.

1. На той стороне Mikrotik 4011 - к которому надо подбирать отдельные настройки. Возможно получится - возможно нет.

2. На стороне "клиента" - динамический "серый" адрес. В то время как ip tunnel ipip требует указания на обоих сторонах destination ip.

 

PS.  и все это что бы при создании ipsec peer не добавлять его адрес в роутинг.. собственно это больше для других кто наступит на эту же бяку.

1. Давайте попробуем, может норм будет?
2. Вообще побоку, в случае с IPsec это волновать никого не должно, как не волнует работа L2TP/IPsec клиента с серым IP через NAT. Зато получаете контроль за нижележащим интерфейсом, автоматическое объединение IPIP и IPsec в один уровень (отдельно IPsec незамеченным не отвалится), ну и роуты к удаленным пирам.

Опубликовано (изменено)

попробую, но не гарантирую что это будет быстро. 

 

 

 

Кроме того отваливание интерфейса - меня волнует достаточно слабо. Как раз таки умирающий трафик был бы лучше - иначе пришлось быть делать отдельно blackhole для этих IP адресов. Ибо специфика доступа из Крыма к некоторым адресам на территории US.

PS. только сейчас обратил внимание что destination ip печатается криво в ifconfig ipip0

PPS. нашел таки роутинг на пира в ipip0 в 248 таблице

Изменено пользователем Alexey Lyahkov
Опубликовано

Но роутинг странный.

198.18.0.2 via 31.x.x.x dev eth3  table 248  proto static  src 198.18.0.1  mtu 1500 advmss 1460

адрес 31.x.x.x не является direct reachable для этого хоста - я честно удивлен что его дали добавить. Гораздо логичнее был адрес 100.x.x.1 который является шлюзом для этого кинетика для ISP интерфейса

 

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

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

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

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

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

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

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

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

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

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

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

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