Установите ip для traffi c для всех traffi c входящих исходящих - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть хост и 5 IP-адресов для этого хоста. Я могу получить доступ к хосту по любому из этих IP-адресов. Любое соединение, которое было установлено с того хоста и докеров, также определяется как с IP1. У меня на этом хосте docker, который я хочу иметь IP2. Как я могу установить это docker, чтобы при любом подключении с этого docker к другим внешним серверам они получали информацию об IP @ вместо IP1. Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

В конце концов, у меня есть работа для создания сети docker и добавления маршрутизации в iptables для этого локального диапазона ...

docker network create bridge-smtp --subnet=192.168.1.0/24 --gateway=192.168.1.1
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source MYIP_ADD_HERE
docker run --rm --network bridge-smtp byrnedo/alpine-curl http://www.myip.ch
0 голосов
/ 26 февраля 2020

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

$ ip route show
default via 10.1.73.254 dev eth0 proto static metric 100
10.1.73.0/24 dev eth0 proto kernel scope link src 10.1.73.17 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.18.0.0/16 dev docker_gwbridge proto kernel scope link src 172.18.0.1

, затем вам нужно изменить маршрут по умолчанию, например:

ip route add default via ${YOUR_IP} dev eth0 proto static metric 100
...