Итак, дано:
Asterisk server - 10.0.26.21
(docker-freepbx) внутри asterisk server - 172.18.0.2
User peers - 10.0.40.0/24
Итак, когда sip peer находится в сети 10.0.26.0/24 внутри докер контейнера ip пира отображается как положено 10.0.26.23
, но если пир будет подключаться через 10.0.40.0/24, то внутри контейнера отображается ip адрес docker network bridge 172.18.0.1
(сторона с таким ip не отправляет rtp пакеты), для прояснения —- СКРИН с docker —– СКРИН без docker (голый астериск)
Проблема именно в докере, потому что когда отрубить контейнер и запустить голый астериск на 10.0.26.21, то он нормально отображает ip пиров 10.0.40.20…etc. Их админ не хочет подменять ip адреса на циске. А freepbx нужен клиенту.
Вопрос: Могу ли я как-то на своей стороне (10.0.26.21) подменять ip адреса 10.0.40.0/24 на 10.0.26.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? Если не сложно покажите пример данной подмены, если она возможна.