172 похожих чатов

Не подскажете почему докер не форвардит пакеты с хоста в

контейнер?
Конкретнее: форвардит только пакеты которые приходят из локалки, пакеты же которые приходят через port forward на роутере не форвардит
Запускаю: docker run -p 192.168.1.120:53:53/udp -p 192.168.1.120:53:53/tcp -it --rm alpine sh -c 'apk add tcpdump; tcpdump -iany port 53'
Если сделать nslookup lolava.xyz 192.168.1.120 на компе в сети роутера то все работает и пакеты приходят в контейнер:
Хост:
15:11:25.138166 eno2 In IP 192.168.1.6.38890 > 192.168.1.120.53: 45804+ A? lolava.xyz. (28)
15:11:25.138249 docker0 Out IP 192.168.1.6.38890 > 172.17.0.3.53: 45804+ A? lolava.xyz. (28)
15:11:25.138259 veth5f51395 Out IP 192.168.1.6.38890 > 172.17.0.3.53: 45804+ A? lolava.xyz. (28)
Контейнер:
12:11:25.138262 eth0 In IP 192.168.1.6.38890 > 024efd551902.53: 45804+ A? lolava.xyz. (28)

Если сделать nslookup lolava.xyz <MY_IP> на впске то пакеты приходят на хост, но не попадают в контейнер:
Хост:
15:13:01.324673 eno2 In IP <VPS_IP>.60256 > 192.168.1.120.53: 22303+ A? lolava.xyz. (28)
А потом тишина и на хосте и в контейнере

В докер чате как я понял идей нет ни у кого

4 ответов

39 просмотров

1) сети в контейнере реализованы через нетворк неймспейс - по сути виртуальный хост 2) смотри iptables таблицы на хосте 3) глянь через tcpdump через ip netns yourns exec tcpdump ... что вообще ходит по сети - может арпы какие нить прилетают или еще чет ps погугли как вытянуть нетнс докера чтоб он для ip netns был доступен - там симлинку кинуть из /proc/PID/... надо в нужную папку вроде

Я правильно понял, что -p это порт маппинг? Ну так конечно у тебя ничего работать не будет, ты маппишь только на конкретный destination address. Просто мапь через -p 53.

Lol-ava Автор вопроса
Clown Zeppeli
Я правильно понял, что -p это порт маппинг? Ну так...

У меня два интерфейса и мне нужно чтобы именно с одного слушался трафик

Lol-ava Автор вопроса
BLESSED MANE
1) сети в контейнере реализованы через нетворк ней...

Ооо, спасибо за указание в сторону нетнс Буду копать

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта