отображение порта докера не пересылает трафик - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь использовать этот контейнер: https://hub.docker.com/r/tiredofit/freepbx/

Для этого я создал этот составной файл: https://pastebin.com/CkL1y0jd

Я подключил порт 80 к своему внутреннему IP-адресу 172.20.0.45. Это прекрасно работает. Но порт 5160 не доступен снаружи.

На моем хосте Docker я запустил

ngrep -W byline -d eno1 port 5160

Это дает мне следующий вывод:

U 192.168.30.22:54194 -> 192.168.50.20:5160
REGISTER sip:pbx.UsualyMyDomain.ch:5160;transport=UDP SIP/2.0.
Via: SIP/2.0/UDP 212.XX.XX.XXX:54194;branch=z9hG4bK-524287-1---9bb8a42e6116af86;rport.
Max-Forwards: 70.
Contact: <sip:120@212.XXX.XXX.XXX:54194;rinstance=c4ebbf8b0a8fd276;transport=UDP>.
To: "4141XXXXXXX"<sip:120@pbx.UsualyMyDomain.ch:5160;transport=UDP>.
From: "4141XXXXXXX"<sip:120@pbx.UsualyMyDomain.ch:5160;transport=UDP>;tag=b4afdd24.
Call-ID: uXyh0WASXl2Cpp3oD0RYtw...
CSeq: 2 REGISTER.
Expires: 60.
Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE.
User-Agent: Zoiper rv2.9.RC37-15-g9fc1f76ee4.
Allow-Events: presence, kpml, talk.
Content-Length: 0.

Но если я запускаю указанную выше команду внутри своего контейнера, то я вообще не получаю пакетов:

ngrep -W byline -d eno1 port 5160
interface: eno1 (172.20.0.0/255.255.255.0)
filter: (ip or ip6) and ( port 5160 )

Так где мне теперь искать проблемы?

netstats -tln 

показывает:

tcp6       0      0 :::5160                 :::*                    LISTEN      13316/docker-proxy

Но нет UDP6 или UDP.

Может ли это быть проблемой?

Заранее спасибо

1 Ответ

0 голосов
/ 01 ноября 2018

Проблема решена!

Для всех тех, кто находит подобную проблему. Читать это: http://bhashitparikh.com/2016/02/03/when-port-forwarding-didnt-work-in-docker.html

Одной из проблем было то, что вы должны вставить свой Docker IP в настройках SIP-CHAN в качестве адреса привязки. Затем также используйте static-ip и введите свой IP-адрес докера.

И последнее, но не менее важное: добавьте это в файл композиции:

  • 5160: 5160 / УДП
  • 5060: 5060 / УДП

В противном случае он будет прослушивать только tcp трафик! теперь это работает :)

...