@freebsd_ru

Страница 666 из 669
Lev
25.10.2018
16:55:58
в том числе на локалхосте
Траф магически пропадает

Да, никаких ошибок в netstat -sp esp нету.

Andrey
25.10.2018
16:56:23
загрузи if_enc и смотри в tcpdump

Andrey
25.10.2018
17:06:42
Кому там нужно больше нетмапа, айда в карент https://reviews.freebsd.org/D17683

Google
Lev
25.10.2018
17:12:14
загрузи if_enc и смотри в tcpdump
Да по логу видно. Смешное. Что не попадает пакет в ipfw второй раз после декапсуляции если ipsec применялся. Это что-то очень странное, но видно чётко. Вот без IPsec: Oct 25 20:08:12 gateway-old kernel: ipfw: 1720 Count ICMP:8.0 10.0.10.1 10.0.10.2 out via gif0 Oct 25 20:08:12 gateway-old kernel: ipfw: 1720 Count P:4 10.0.0.1 10.0.0.2 out via em1 Oct 25 20:08:12 gateway-old kernel: ipfw: 1720 Count P:4 10.0.0.2 10.0.0.1 in via em1 Oct 25 20:08:12 gateway-old kernel: ipfw: 1720 Count ICMP:0.0 10.0.10.2 10.0.10.1 in via gif0 Вот с IPsec: Oct 25 20:09:58 gateway-old kernel: ipfw: 1720 Count ICMP:8.0 10.0.10.1 10.0.10.2 out via gif0 Oct 25 20:09:58 gateway-old kernel: ipfw: 1720 Count P:50 10.0.0.1 10.0.0.2 out via em1 Oct 25 20:09:58 gateway-old kernel: ipfw: 1720 Count P:50 10.0.0.2 10.0.0.1 in via em1 Нету пакета в файрволле. А в сокете — есть, сам ping ответ видит. Разница только в наличии tunnel-политики IPsec для протокола ipencap.

Есть ещё вот такое https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=174602

Volodymyr Kostyrko
25.10.2018
17:14:30
Кому шо, у меня wireguard не пашет.

Andrey
25.10.2018
17:15:24
Вон же @blacklion79 вроде заводил

Lev
25.10.2018
17:15:26
Кому шо, у меня wireguard не пашет.
который на go? Он у меня сокет через раз не может открыть, я плюнул

Вон же @blacklion79 вроде заводил
Ага. То заводится, то не заводится. Я не смог понять от чего зависит.

Говорит, мол, управляющий сокет not exist внезапно и всё

А ещё через 3 попытки всё работает

А потом снова нет

Глюкалово

Andrey
25.10.2018
17:16:21
ох уж эти хипстеры програмисты :)

Volodymyr Kostyrko
25.10.2018
17:16:41
Какой контрол, я его перезапускаю каждый раз.

Всё вроде правильно, но пакетики не бегают.

Google
Lev
25.10.2018
17:17:04
Какой контрол, я его перезапускаю каждый раз.
Ну вот у меня сам "драйвер" wireguard-go запускается 1 раз из 5

Artem
25.10.2018
17:17:41
Vladislav
25.10.2018
17:18:43
надо дистр заменить на линь
и линь тоже закапывай

Lev
25.10.2018
17:21:29
OMG

Да, в логе появляется. Но дальше как-то не de-nat-ится

с такого пакета стрипаются теги все про интерфейсы?

Т.е. не получается, что на нём висит даже после расшифровки, что он in phy0?

Oct 25 20:24:06 gateway-old kernel: ipfw: 1720 Count ICMP:0.0 10.0.10.2 10.0.10.1 in via em1

НЕ СТРИПАЮТСЯ

БЛЯДЬ

Извините

Я не понимаю, как в таких условиях файрволл писать, когда пакет который на самом деле in via gif0 записан как in via em1 :-(

Причём я нашёл закрытый баг про это

не может файрволл пустить пакет для 10.0.10.1 через em1

Причём он на столько via em1, что его даже tcpdump -i gif0 не видит :-(

Andrey
25.10.2018
17:28:18
скорее всего ты опять что-то делаешь неправильно

Lev
25.10.2018
17:28:37
Ну вот, кусочек лога от правила до всех разборок я привёл

ICMP-ответ на туннельный адрес на физическом интерфейсе

Andrey
25.10.2018
17:28:50
если пакет декапсулирован gif'ом, то rcvif будет gif0

Google
Denis 災 nobody
25.10.2018
17:29:25
Закапывай.
прежде чем закопать, нужно сохранить данные так, чтобы можно было вытащить потом

Lev
25.10.2018
17:29:39
если пакет декапсулирован gif'ом, то rcvif будет gif0
Вот лог 1 цикла пинга Oct 25 20:28:29 gateway-old kernel: ipfw: 1720 Count ICMP:8.0 10.0.10.1 10.0.10.2 out via gif0 Oct 25 20:28:29 gateway-old kernel: ipfw: 1720 Count P:50 10.0.0.1 10.0.0.2 out via em1 Oct 25 20:28:29 gateway-old kernel: ipfw: 1720 Count P:50 10.0.0.2 10.0.0.1 in via em1 Oct 25 20:28:29 gateway-old kernel: ipfw: 1720 Count ICMP:0.0 10.0.10.2 10.0.10.1 in via em1

Запрос пошёл через gif0, был энапсулирован, зашифрован и послан через em1

Ответ пришёл зашифрованным через em1 (правильно), потом расшифрован, ДЕЭНКАПСУЛИРОВАН и принят снова через em1

10.0.0.0/24 — физика, 10.0.10.0/24 — внутри туннеля

Andrey
25.10.2018
17:30:58
значит у тебя туннельная SA, которая декапсулировала, а не gif это сделал

Lev
25.10.2018
17:31:12
SA у меня вот такие:

Andrey
25.10.2018
17:31:20
потому что она туннельная

Lev
25.10.2018
17:31:34
потому что она туннельная
Ну, она должна ESP декапсулировать а не то, что внутри

Andrey
25.10.2018
17:31:43
нет

Lev
25.10.2018
17:32:20
10.0.0.2[any] 10.0.0.1[any] ip4 in ipsec esp/transport//require spid=10 seq=1 pid=3035 scope=global refcnt=1 10.0.0.1[any] 10.0.0.2[any] ip4 out ipsec esp/transport//require spid=9 seq=0 pid=3035 scope=global refcnt=1

Andrey
25.10.2018
17:32:37
это не SA

Denis 災 nobody
25.10.2018
17:32:44
Перелить никак?
400 гиг, канал 10 мбит

как, но очень долго

Artem
25.10.2018
17:34:06
А что тебе надо в итоге то? Ось поставить и данные оставить? Kvm есть?

Lev
25.10.2018
17:34:08
это не SA
10.0.0.2 10.0.0.1 esp mode=any spi=65538(0x00010002) reqid=0(0x00000000) E: null seq=0x00000000 replay=0 flags=0x00000040 state=mature created: Oct 25 20:09:47 2018 current: Oct 25 20:30:53 2018 diff: 1266(s) hard: 0(s) soft: 0(s) last: Oct 25 20:09:48 2018 hard: 0(s) soft: 0(s) current: 1512(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 20 hard: 0 soft: 0 sadb_seq=1 pid=3033 refcnt=1 10.0.0.1 10.0.0.2 esp mode=any spi=65537(0x00010001) reqid=0(0x00000000) E: null seq=0x00000014 replay=0 flags=0x00000040 state=mature created: Oct 25 20:09:47 2018 current: Oct 25 20:30:53 2018 diff: 1266(s) hard: 0(s) soft: 0(s) last: Oct 25 20:09:48 2018 hard: 0(s) soft: 0(s) current: 2152(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 20 hard: 0 soft: 0 sadb_seq=0 pid=3033 refcnt=1

По идее, мне вообще нужны транспортные SA, не туннельные, в данном случае.

Denis 災 nobody
25.10.2018
17:36:11
А что тебе надо в итоге то? Ось поставить и данные оставить? Kvm есть?
поставить свежий деб, данные сохранить (сайт)

Google
Denis 災 nobody
25.10.2018
17:36:33
ипми+квм е

Andrey
25.10.2018
17:36:45
ну у тебя mode=any, т.е. " 334 if (prot == IPPROTO_IPIP && 335 saidx->mode != IPSEC_MODE_TRANSPORT) { 336 if (m->m_pkthdr.len - skip < sizeof(struct ip)) { 337 IPSEC_ISTAT(sproto, hdrops); 338 error = EINVAL; 339 goto bad; 340 } 341 /* enc0: strip outer IPv4 header */ 342 m_striphdr(m, 0, ip->ip_hl << 2); 343 } "

если ты скажешь при добавлении SA, -m transport

Andrey
25.10.2018
17:37:45
то IPsec не будет стрипать

и тогда ipencap пакет попадёт в gif

Lev
25.10.2018
17:39:33
Умничает IPsec! :-)

Да, так заработало

Но я начинаю понимать тех, кто написал и тех, кто полюбил WireGuard

то IPsec не будет стрипать
Огромное тебе спасибо

Я тебе должен не одно пиво. или что ты предпочитаешь.

Andrey
25.10.2018
17:40:55
:)

Lev
25.10.2018
17:41:19
Ты же в Москве? :)

Andrey
25.10.2018
17:41:54
не, наверно где-то через месяц буду там на недельку

Lev
25.10.2018
17:42:32
Увы, я не буду, я-то тоже не в Москве. А обычно ты где?

Andrey
25.10.2018
17:42:45
Киров

Artem
25.10.2018
17:43:00
ужасное место, простите.

окруженное лагерями)

Lev
25.10.2018
17:43:43
Киров
Который в Хибинах? Ещё один повод съездить. Но летом, летом. Простите. Горные лыжи не для меня, увы.

Google
Lev
25.10.2018
17:44:14
Или это Вятка, блин. Я всё время путаю.

Кто Киров а кто Кировск

Andrey
25.10.2018
17:44:23
не, гор у нас нет, по крайней мере с которых на лыжах ездить можно)

Lev
25.10.2018
17:44:43
Да, Вятка.

Andrey
25.10.2018
17:44:48
Киров-Вятка-Хлынов

Lev
25.10.2018
17:44:57
У меня дед был из тех краёв. В общем, тоже повод съездить! :-)

По идее, там даже по-прежнему где-то в лесу живут мои дальние (очень уже дальние) родственники.

В лесу — там лесхоз всегда был. Но я там никогда не был, только мама рассказывала как её туда два раза на лето отправляли

Andrey
25.10.2018
17:46:34
:)

да, так мы и живём тут, в лесу, окружённые лагерями

делаем себе потихоньку С400

Andrey
25.10.2018
17:48:22
Р-романтика :)

https://twitter.com/pernila/status/1055546024297725952

MK
25.10.2018
20:05:27
делаем себе потихоньку С400
Лучше б что полезное :-)

Andrey
25.10.2018
20:06:32
Лучше б что полезное :-)
что только не пробовали, всё ракетыполучаются

MK
25.10.2018
20:11:40
Да, да. Помню этот старый анекдот :-)

Lev
25.10.2018
21:44:18
используя if_enc ты можешь занатить пакет во время ipsec обработки
Ну, кстати, не могу. Потому что если у меня SAP'ы и SA'шки на после-nat-адреса, то нифига в if_enc не попадает, потому что он не находит SA по трафику до nat (что не удивительно). Т.е. в if_enc вообще не попадает трафик, который интересен. А вот можно ли сделать SA'шки на сочетание внутреннего адреса и внешнего я не очень понимаю, потому что на втором-то конце адреса другие… В общем, похоже, не может NAT-бокс накрутить шифрование в транспортном режиме без всякого туннелирования вообще.

Andrey
25.10.2018
21:49:52
я не понял объяснение твоё. Надо понимать как действует if_enc и когда ты можешь вызвать pfil хук из него. Исходящий трафик попадает в ipsec на основании матчинга политики, а входящий на основании SPI в SA и dst адреса пакета. От этого и надо думать как и когда натить и какие политики и SA делать.

Lev
25.10.2018
22:28:01
я не понял объяснение твоё. Надо понимать как действует if_enc и когда ты можешь вызвать pfil хук из него. Исходящий трафик попадает в ipsec на основании матчинга политики, а входящий на основании SPI в SA и dst адреса пакета. От этого и надо думать как и когда натить и какие политики и SA делать.
Угу, надо на бумажке порисовать. Ситуация получается несимментричная — на выходе IPsec видит внутренние адреса (только до NAT), на входе — внешние, а другой конец видит, конечно, только внешние адреса (внутренних для него несуществует). SA должны быть РАЗНЫЕ а не одинаковые, получается. Главное не запутаться. Т.е. я уже. завтра возьму бумажку

Страница 666 из 669