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.