#blog2navi()
*さくらのクラウドで突然ネットワークが繋がらなくなった設定ミスの話 [#j1669748]
~検索しても何も出ないので恐らく皆さんそんなアホな事はしないのだと思いますがハマったので一応メモ・・・(._.)φ
* 事件概要 [#d7582f2c]
~さくらのクラウド(石狩第一リージョン)で新しくサーバーを立てまして、CentOS7系の最新であった7.7をプリセットから入れました。~
サーバー作成後、パケットフィルタを一から作成して、最小限のポート(22,80)だけを空け、ssh経由で色々設定しておりました。
~2,3日経った頃、設定作業を行っていると突然sshが切断され、以降繋がらなくなりました。慌ててコンソールから入ってみると、IPアドレスがありません。
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::****:****:****:**** prefixlen 64 scopeid 0x20<link>
ether **:**:**:**:**:** txqueuelen 1000 (Ethernet)
RX packets 61085 bytes 3813838 (3.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2195 bytes 1087830 (1.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 303 bytes 26360 (25.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 303 bytes 26360 (25.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
なんと言うことでしょう。これはさくらの障害か?
* 結論 [#fda3be91]
~結論を先に言います。原因はいい加減なパケットフィルタでした。~
さくらのクラウドはクラウドレベルでパケットフィルタを設定できますが、ここではポート22,80ぐらいしか空けていませんでした。ところが、サーバーは自身のIPアドレスをDHCPで取得しており、これがudp/68を使うため、DHCPの更新ができず、IPアドレスが消失してしまったという事象でした。パケットフィルタに「udp 68 allow」を設定して無事解決しました。
#ref(packet68.png);
~パケットフィルタのプリセットにudp/68が入っていて、「なんだろうこれー」と思ったまま放置してしまったのが敗因(?)でした。名探偵コナンばりに、少しでも「あれれー?」と思った事はきちんと調べましょう。
* 原因に関する情報 [#m1507190]
~この原因に気づいたのは、ログでした。
Feb 17 14:39:40 localhost dhclient[1265]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17 (xid=0x1d63c663)
Feb 17 14:39:41 localhost NetworkManager[604]: <warn> [1581917981.4975] dhcp4 (eth0): request timed out
以前建てたさくらのクラウドのサーバーは静的IPだったため遭遇しなかったのですが、今回建てたサーバーはDHCPでIPアドレスを取得していたため、IPアドレス更新のタイミングでIPアドレスが取れなくなり、ネットワーク接続が消失してしまったのでした。
~サーバー構築当初は正常に稼働し、数日経って突然切れるという、少し怖い話でした。
#htmlinsert(twitterbutton.html)
RIGHT:Category: [[[Linux>日記/Category/Linux]]] - 15:55:47
----
RIGHT:&blog2trackback();
#comment(above)
#blog2navi()