LoginSignup
2

More than 5 years have passed since last update.

さくらのクラウド:サーバのクローンでネットワークに繋がらなくなった時の対応

Last updated at Posted at 2016-08-26

初めに

今回、さくらのクラウドでサーバのクローンを作ってみました。よく考えずに、全く設定を変えずにストレージ内容そのままのクローンをつくると外部から接続できなくなったときの対応した手順です。

暫定対応

とりあえずSSHが繋がらないと話にならないので、ブラウザでさくらのクラウドの管理画面にアクセスし、該当するサーバのコンソールにアクセスする。

コンソール画面にアクセスし、まず ufw を確認、OpenSSHがあり、sshdも動いているので問題なし。

ufw app list

ping 等をしてみるとどこにもアクセスできないので、netstat -r で確認すると、何も設定されていない。なので、管理画面のサーバの情報を参考に、route コマンドで設定しようとすると、eth0 がないとのメッセージが出る

route add -net XXX.YYY.ZZZ.0 netmask 255.255.255.0 eth0
SIOCADDRT: No such device

疑問に思いつつ ifocinfg -a で確認すると、eth0 がなく、eth1 がある。試しに eth1 に設定すると外部から無事sshなどのアクセスができるようになった。

route add -net XXX.YYY.ZZZ.0 netmask 255.255.255.0 eth1
route add defalt gw XXX.YYY.ZZZ.1 eth1

とりあえずの危機は脱したが、まだ eth0 はない。

eth0の設定

ネットワークインターフェースの設定ファイルを確認すると、クローン前の情報のままだった。eth0に正しいアドレスに書き換えて再起動する。

vi /etc/network/interfaces
reboot

でも相変わらず、eth1に割り当たる。なので、dmesg で起動時のログを確認すると以下のように、eth0 が eth1 にリネームされていることがわかった。

[    2.075860] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    2.573261] systemd-udevd[299]: renamed network interface eth0 to eth1

この原因についてネット上を検索してみると、Macアドレスが競合してる可能性が考えられるらしい。というので、udevのルールファイル

/etc/udev/rules.d/70-persistent-net.rules

を見るとしっかり eth0 にクローン前の、eth1 には、ifconfig -a で確認できるMACアドレスになっていました。NICは一つしかつかわないので、eth0 に、正しいMACアドレスを設定。

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:03.0/virtio0 (virtio-pci)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="9c:a3:ba:aa:bb:cc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

こでで再起動すれば無事、eth0で使えるようになった。

蛇足

ついでにホストネームの変更(/etc/hostname)と、名前解決(/etc/hosts)も直しておく。

結論

ストレージの内容そのままにクローンのサーバをつくると。元の設定が競合して問題になることがある。当然といえば、当然の話なのだが、今回はうっかりしていました。

理由を考えると、AWSのEC2のDuplicationと同じ感覚でクローン操作したのが一因かもしれない、AWSの場合、IPアドレスはデフォルトではDHCPで設定されるのでとりあえず繋がっていた。もっとも、AWSのEC2はコンソールにアクセスはできないので、SSHが繋がらなくなると直接手を出せなくなってしまいます。ブートに使うEBSを、他のEC2にマウントして編集という技もありますが。

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2