@kocmoc-dev

Как правильно настроить маршрутизацию Docker в OpenVPN сети?

Добрый день! Задача организовать связь между сетями докер через частную сеть openVPN. На сервере создается контейнер с установленным в него OpenVPN в качестве сервера и создается в докер дополнительная сеть с адресами 192.168.2.0/24. К этой сети подключаются сам сервер OpenVpn и другие докер контейнеры. Далее на другой машине в Docker создается клиент OpenVpn, который подключается к серверу. У клиента так же есть отдельная докер сеть 192.168.3.0/24. Так вот связь между клиентом и сервером сделал все работает. Пингуются и сервер и клиент между собой и из других контейнеров как клиента так и сервера, а вот сами другие контейнеры (не сервер и не клиент) не доступны. Нужно сделать доступ ко всем контейнерам в сетей 192.168.3.0 и 192.168.2.0

Файл настроек сервера port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh.pem
server 192.168.50.0 255.255.255.0
client-config-dir /etc/openvpn/ccd ifconfig-pool-persist /etc/openvpn/ipp.txt
cipher AES-256-GCM
ncp-ciphers AES-256-GCM:AES-256-CBC
auth SHA512
tls-auth /etc/openvpn/keys/ta.key 1
tls-server
tls-version-min 1.2
key-direction 0
keepalive 10 60
persist-key
persist-tun
client-to-client
keepalive 10 120
comp-lzo no
max-clients 10
persist-key persist-tun route-method exe
status /etc/openvpn/log/openvpn-status.log
log /etc/openvpn/log/openvpn.log
verb 3
mute 20
route 192.168.3.0 255.255.255.0
route 192.168.2.0 255.255.25O.0
push «route 192.168.3.0 255.255.255.0»
push «route 192.168.2.0 255.255.255.0»
push «route 192.168.50.0 255.255.255.0»


Маршруты сервера
default via 192.168.2.1 dev eth0
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.2
192.168.3.0/24 via 192.168.50.2 dev tun0
192.168.50.0/24 via 192.168.50.2 dev tun0
192.168.50.2 dev tun0 proto kernel scope link src 192.168.50.1


Т.е. пинугется сам сервер с клиента 192.168.3.2 -> 192.168.2.2 и обратно. Также проходит пинг от 192.168.3.3 -> 192.168.3.2 при добавлении ему маршрута
ip route add 192.168.3.0/24 via 192.168.2.2
Не работает ping от 192.168.3.2 -> 192.168.3.3
Не работает ping 192.168.2.2 до 192.168.3.3
  • Вопрос задан
  • 569 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kocmoc-dev Автор вопроса
Как говориться задал вопрос сам на него и отвечай. Ответ оказался очень прост. Суть дела заключается в следующем нужно в каждом докер контейнере например 192.168.3.3 прописать новый дефолтный шлюз, которым является как раз либо контейнер с OpenVPN клиентом либо OpenVPN сервером.
Если OpenVPN клиент имеет адрес 192.168.2.2 то внутри докер контейнера с IP 192.168.2.3 нужно
default via 192.168.2.1 заменить на default via 192.168.2.2

ip route replace default via 192.168.2.2
После чего таблица маршрутизации контейнера примет следующий вид:
root@b73902244535:/# ip route
default via 192.168.2.2 dev eth0 
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.3

Кому интересно вот еще таблица маршрутизации сервера
root@cd172bd816a6:/# ip route
default via 192.168.2.1 dev eth0 
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.2 
192.168.3.0/24 via 192.168.50.2 dev tun0 
192.168.50.0/24 dev tun0 proto kernel scope link src 192.168.50.1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы