VPN越しのlinuxマシンにpingが通らない原因がdocker0だった
3ヶ月くらいずっと原因不明だったのがやっと解決したので備忘録として書き留めておく。
事象
⭕ローカルmac <-> ローカルmac
⭕ローカルmac <-> ローカルlinux
⭕ローカルmac <-> VPN越しmac
❌VPN越しmac <-> ローカルlinux
要は リモートで何故かlinuxマシンに接続できない! という状況が発生していた。
結論
VPN配下のIPアドレスとdocker0
のIPアドレスが衝突していることが原因だった。
- 今回の環境でVPN配下に割り振られるアドレス:
172.17.XXX.0/21
-
docker0
のIPアドレス初期値:172.17.0.1/16
これをdocker0
のIPアドレス設定を変更し、dockerサービスを再起動することで解決した。
(情シスはこの事象既知なんだろうか)
やったこと
わかっていること
- VPN越しmac -> ローカルlinuxへping:
Request timeout for icmp_seq XX
- ローカルlinux -> VPN越しmacへping:
From 172.17.0.1 icmp_seq=XX Destination Host Unreachable
事前に試してダメだったことのおさらい
Request timeout for icmp_seq XX
From 172.17.0.1 icmp_seq=XX Destination Host Unreachable
今回の件には結局関係なかったけど一応チェックしといてねって箇所
- そもそもicmpが塞がれていないか(検証手段が正しいのか)
- mac同士のpingは通るので塞がれていないことがわかる
-
host.allow
およびhost.deny
の設定見直し-
hosts.allow
に172.19.
と記述しても変化なかった
-
- firewall設定
- 無効化しても変化なかった
自身のアドレスを確認
pingのエラーメッセージから、 172.17.0.1
とかいうよくわからん経路でコケてることは分かっていた
ふとdocker周りのネットワークが気になったので、自身のアドレスをすべて確認してみることにする
$ hostname -I
172.19.XXX.XXX 172.17.0.1 172.18.0.1 192.168.XXX.XXX ...
172.17.0.1
がいる???なんで???
$ ip a
### 略 ###
2: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.30.0.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 XXXX::XXXX:XXXX:XXXX:XXXX/64 scope link
### 略 ###
docker0
とかいう仮想インターフェイスがガッツリIPアドレス被りしている模様なので、これを変更してみる
ちなみにdocker0
はdocker for linuxのみでしか生成されず、これがlinuxへの疎通のみNGという理由にもなっていた
docker0の設定変更
先人の大変ありがたい資料があるので、参考に設定を進める
https://qiita.com/msi/items/d9cc1a2fd3f0fed3a901
$ sudo vi /etc/docker/daemon.json
{
"bip": "172.30.0.254/24"
}
$ sudo systemctl restart docker
$ ip a show docker0
2: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet 172.30.0.254/24 brd 172.30.0.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 XXXX::XXXX:XXXX:XXXX:XXXX/64 scope link
ping
# VPN越しmac -> ローカルlinux
$ ping 172.19.XXX.XXX
64 bytes from 172.19.XXX.XXX: icmp_seq=0 ttl=60 time=192.154 ms
64 bytes from 172.19.XXX.XXX: icmp_seq=1 ttl=60 time=238.941 ms
64 bytes from 172.19.XXX.XXX: icmp_seq=2 ttl=60 time=292.419 ms
64 bytes from 172.19.XXX.XXX: icmp_seq=3 ttl=60 time=257.762 ms
✌️success✌️
Author And Source
この問題について(VPN越しのlinuxマシンにpingが通らない原因がdocker0だった), 我々は、より多くの情報をここで見つけました https://qiita.com/ikentoh/items/514c610dba030e11eb46著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .