Docker & StrongSwan: узел назначения недоступен
У меня проблемы с обменом данными между контейнерами с использованием туннелей IPsec. Вот мои настройки:
У меня Docker установлен на нескольких хостах Ubuntu 14.04, и я запускаю различные контейнеры на каждом. Мне нужны некоторые из этих контейнеров для связи с контейнерами на разных серверах.
Я только что перешел из конфигурации OpenVPN в конфигурацию StrongSwan. Вот файлы конфигурации от двух моих узлов.
ipsec.conf на узле 4
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=%forever
keyexchange=ikev2
closeaction=restart
dpdaction=restart
authby=secret
leftfirewall=yes
lefthostaccess=yes
auto=start
left=node4.publicdomain.com
leftsourceip=192.168.255.4
conn me
leftsourceip=
leftsubnet=192.168.255.4/32
right=%any
rightsourceip=%config
ipsec.conf на узле 5
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=%forever
keyexchange=ikev2
closeaction=restart
dpdaction=restart
authby=secret
leftfirewall=yes
lefthostaccess=yes
auto=start
left=node5.publicdomain.com
leftsourceip=192.168.255.5
conn node1
right=node1.publicdomain.com
rightsubnet=192.168.255.1/32
conn node3
right=node3.publicdomain.com
rightsubnet=192.168.255.3/32
conn node4
right=node4.publicdomain.com
rightsubnet=192.168.255.4/32
conn me
leftsourceip=
leftsubnet=192.168.255.5/32
right=%any
rightsourceip=%config
На узле node5 я могу успешно пропинговать все настроенные узлы. Тем не менее, если я введу докер-контейнер на узел 5 и попытаюсь пинговать здесь, это результат.
root@b0cf0114b815:/# ping 192.168.255.5
PING 192.168.255.5 (192.168.255.5): 56 data bytes
64 bytes from 192.168.255.5: icmp_seq=0 ttl=64 time=0.074 ms
64 bytes from 192.168.255.5: icmp_seq=1 ttl=64 time=0.059 ms
64 bytes from 192.168.255.5: icmp_seq=2 ttl=64 time=0.063 ms
^C--- 192.168.255.5 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.059/0.065/0.074/0.000 ms
root@b0cf0114b815:/# ping 192.168.255.4
PING 192.168.255.4 (192.168.255.4): 56 data bytes
92 bytes from [node5 PUBLIC IP]: Destination Host Unreachable
92 bytes from [node5 PUBLIC IP]: Destination Host Unreachable
92 bytes from [node5 PUBLIC IP]: Destination Host Unreachable
Я могу достичь адреса узла 5, но не узла4. Кто-нибудь знает, как я могу перенастроить это так, чтобы все мои контейнеры на узле 5 могли обмениваться данными с узлом 4 и другими настроенными мной узлами?
Спасибо!
2 ответа
К сожалению, не мог понять это.
В качестве альтернативы я использовал tinc: http://www.tinc-vpn.org/
Мне было проще настроить, а виртуальный интерфейс всегда приятен. Мне не нужно было делать ничего особенного, и файлы конфигурации были около четырех или пяти строк каждый.
Все равно, спасибо за помощь!
Вы поняли это? Я думаю, что проблема может быть с вашими подсетями: 192.168.255.1/32 означает от 192.168.255.1 до 192.168.255.6, поэтому конфликтует с 192.168.255.3/32 или 192.168.255.4/32 или 192.168.255.5/32
они не должны пересекаться, чтобы вы могли использовать что-то вроде
192.168.255.1/32
192.168.255.8/32
192.168.255.16/32
192.168.255.24/32
вместо