Ipsec

Docker & StrongSwan:目標主機無法訪問

  • September 2, 2015

我在使用我的 IPsec 隧道的容器之間進行通信時遇到了一些麻煩。這是我的設置:

我在多個 Ubuntu 14.04 主機上安裝了 Docker,並且在每個主機上執行各種容器。我需要其中一些容器能夠與不同伺服器上的容器進行通信。

我剛剛從 OpenVPN 配置轉移到 StrongSwan 配置。這是我的兩個節點的配置文件。

node4 上的 ipsec.conf

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

node5 上的 ipsec.conf

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 主機上,我可以成功 ping 所有配置的節點。但是,如果我在 node5 上輸入一個 docker 容器並嘗試在這裡 ping 是結果。

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

我可以到達 node5 的地址,但不能到達 node4 的地址。有誰知道我如何重新配置​​它,以便我在 node5 上的所有容器都能夠與 node4 和我配置的其他節點通信?

謝謝!

不幸的是無法弄清楚這一點。

作為替代方案,我使用了 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

反而

引用自:https://serverfault.com/questions/710467