Назад | Перейти на главную страницу

docker / lxc мостовая сеть

У меня есть этот сервер (хост) с 1000 внешних IP-адресов. Я создал докер-контейнер с squid3, и мне нужно использовать эти IP-адреса. Я могу включить пересылку с хоста, но это просто перенаправляет запрос на локальный ip-адрес докера, который портит мои ACL-списки squid, поскольку squid видит внутренний ip вместо внешнего.

Мой вопрос заключается в следующем: как мне играть с docker или lxc (docker имеет директивы lxc через -lxc-conf =), чтобы я мог видеть внешние IP-адреса моего хоста в моем контейнере (например, при запуске ifconfig). Прямо сейчас докер запускается с собственной изолированной сетью, поэтому я не могу использовать ее.

Внешние IP-адреса хоста назначаются интерфейсу p1p1.

Я попытался запустить его с помощью -lxc-conf = "lxc.network.type = Phys" -lxc-conf = "lxc.network.link = p1p1", но это полностью испортило интерфейс моего хоста и даже выбило меня из ssh.

Есть идеи, что я делаю не так?

в трубопровод могу помочь тебе.

Connect a container to a local physical interface

Let's pretend that you want to run two Hipache instances, listening on real interfaces eth2 and eth3, using specific (public) IP addresses. Easy!

pipework eth2 $(docker run -d hipache /usr/sbin/hipache) 50.19.169.157
pipework eth3 $(docker run -d hipache /usr/sbin/hipache) 107.22.140.5

Note that this will use macvlan subinterfaces, so you can actually put multiple containers on the same physical interface.

Думаю, это то, что вам нужно.