И это всё МОЁ

Итак, дано:


Asterisk server - 10.0.21.26
(docker-freepbx) внутри asterisk server - 172.18.0.2
User peers - 10.0.40.0/24


Итак, когда sip peer находится в сети 10.0.21.0/24 внутри докер контейнера ip пира отображается как положено 10.0.26.23, но если пир будет подключаться через 10.0.40.0/24, то внутри контейнера отображается ip адрес docker network bridge 172.18.0.1(сторона с таким ip не отправляет rtp пакеты), для прояснения —- СКРИН


Проблема именно в докере, потому что когда отрубить контейнер и запустить голый астериск на 10.0.21.26, то он нормально отображает ip пиров 10.0.40.20…etc. Их админ не хочет подменять ip адреса на циске. А freepbx нужен клиенту.


Вопрос: Могу ли я как-то на своей стороне (10.0.21.26) подменять ip адреса 10.0.40.0/24 на 10.0.21.0/24 и отдавать уже их докер контейнеру? В глубоком познании Iptables не силен, и не понял эти два правила, остальные ясны.


-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER


Правильно ли я понял, что мне надо сделать PREROUTING до -m addrtype --dst-type LOCAL и также отправить его в цепь DOCKER? Если не сложно покажите пример данной подмены, если она возможна.









 , , , ,