11月 28

さくらのクラウドでプライベートテンプレートから仮想サーバーを起動させると、こういうことが起ります。

[root@sakura ~]# ping google.com
ping: unknown host google.com

(コントロールパネルのコンソールから実行)

普通に外部(インターネット)と通信ができません。

AWS EC2やRackspace Cloudではテンプレートから新しくインスタンスを立ち上げた場合は、ネットワーク設定周りを自動的に調整してくれて、起動直後からインターネットにつながります。
逆に言うと、さくらのクラウドは純粋な仮想サーバーと考えると扱いやすくなります。

これは、クラウドのシステムから仮想サーバーに割り振られたグローバルIPアドレスと起動したサーバーのネットワークの設定がずれているのが原因です。

対処法手順

まずは、コントロールパネル > サーバー > 詳細情報で、割り振られているIPアドレスなどネットワークアドレス情報、Macアドレスを確認して、OSのネットワーク設定を変更します。

ネットワークの設定
(クリックで拡大)

以下の例は、RedHat系Linuxの場合で、割り振られたIPv4アドレスが「133.242.xxx.xxx」、ゲートウェイが「133.242.xxx.1」、eth0のMacアドレスが「9c:a3:ba:xx:xx:xx」だったとします。

NICの設定ファイル

ネットワークインターフェースの設定を書き換えます。

[root@sakura ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 

× NG

DEVICE=eth0
BOOTPROTO=none
HWADDR=9c:a3:ba:yy:yy:yy
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
BROADCAST=133.242.yyy.255
IPADDR=133.242.yyy.zzz
NETWORK=133.242.yyy.0
GATEWAY=133.242.yyy.1
IPV6INIT=no
USERCTL=no

◯ OK

DEVICE=eth0
BOOTPROTO=none
HWADDR=9c:a3:ba:xx:xx:xx
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
BROADCAST=133.242.xxx.255
IPADDR=133.242.xxx.xxx
NETWORK=133.242.xxx.0
GATEWAY=133.242.xxx.1
IPV6INIT=no
USERCTL=no

udevルールファイル

Macアドレスも変更されている(OS的にはハードウェアが新しくなったと認識している)ので、udevルールファイルも書き換える必要があります。

[root@sakura ~]# vi /etc/udev/rules.d/70-persistent-net.rules 

× NG

# PCI device 0x8086:0x100e (e1000) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="9c:a3:ba:zz:zz:zz", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="9c:a3:ba:yy:yy:yy", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="9c:a3:ba:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

◯ OK

[root@sakura ~]# vi /etc/udev/rules.d/70-persistent-net.rules 
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="9c:a3:ba:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

再起動

システムを再起動します。

[root@sakura ~]$ reboot

確認

通信が成功します。

[root@sakura ~]$ ping google.com -c 4
PING google.com (72.14.203.104) 56(84) bytes of data.
64 bytes from tx-in-f104.1e100.net (72.14.203.104): icmp_seq=1 ttl=54 time=51.0 ms
64 bytes from tx-in-f104.1e100.net (72.14.203.104): icmp_seq=2 ttl=54 time=51.3 ms
64 bytes from tx-in-f104.1e100.net (72.14.203.104): icmp_seq=3 ttl=54 time=51.3 ms
64 bytes from tx-in-f104.1e100.net (72.14.203.104): icmp_seq=4 ttl=54 time=50.6 ms

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3052ms
rtt min/avg/max/mdev = 50.669/51.102/51.339/0.270 ms

余談

9C-A3-BAのOUIはさくらインターネットのなんですね。

Twitter / 大久保 修一: MACアドレスを取得しました。 9C-A3-BA / SAKURA Internet Inc.

Tagged with:
preload preload preload