UnixPower on Networking
  http://www.unix-power.net/

 
 Top - Linux - CentOS IPv6アドレスの設定および無効化



CentOS6.4でIPv6アドレスを設定する際の覚書です。

既にIPv4アドレスが割り振られており、その上からIPv6アドレスを設定するデュアルスタックを想定した設定方法です。また、IPv6の仕様上、アドレスを自動設定するなども可能なのですが、通常サーバ機器には固定IPアドレスを割り当てるのが一般的なので自動設定は行わず手動設定という前提です。

とはいうもののIPv6に関して何も意識していなくともIPv6の仕様上、DHCPがない環境においても自動設定することが可能であり、リンクローカルアドレスについては自己生成するアドレスなのでIPv6対応のOSであればユーザが知らない間に自動で設定されていることが多々あります。下記では以下のリンクローカルアドレスが自動設定されています。

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0A:E4:89:F4:52
          inet addr:192.168.12.20  Bcast:192.168.12.255  Mask:255.255.255.0
          inet6 addr: fe80::20a:e4ff:fe89:f452/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1113 errors:0 dropped:0 overruns:0 frame:0
          TX packets:693 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:99434 (97.1 KiB)  TX bytes:75772 (73.9 KiB)


実際のIPv6の設定ですが、まず/etc/sysconfig/networkを編集し以下の内容を追記します。


# vi /etc/sysconfig/network

# IPv6を有効にする
NETWORKING_IPV6=yes
# IPv6アドレスの自動設定を無効にする
IPV6_AUTOCONF=no


次に/etc/sysconfig/network-scripts/ifcfg-eth0に以下を追記します。アドレスは実際の環境に置き換えてください。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

# IPv6を有効にする
IPV6INIT=yes
# グローバルユニキャストアドレスを手動で設定する
IPV6ADDR=2001:db8::100/64
# デフォルトゲートウェイアドレスを設定する
IPV6_DEFAULTGW=2001:db8:0::1


これで設定が完了しましたのでネットワークを再起動します。


# /etc/rc.d/init.d/network restart


再起動後、アドレスが正常に設定されているか確認してみます。


# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0A:E4:89:F4:52
          inet addr:192.168.12.20  Bcast:192.168.12.255  Mask:255.255.255.0
          inet6 addr: 2001:db8::100/64 Scope:Global
          inet6 addr: fe80::20a:e4ff:fe89:f452/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3196 (3.1 KiB)  TX bytes:4090 (3.9 KiB)


さらにゲートウェイも設定されているか確認してみます。IPv6ではデフォルトゲートウェイは::/0と表現されます。routeコマンドの-nオプションはアドレスをホスト名に変換しないというオプションであり、-A inet6はIPv6を対象にするという意味です。


# route -n -A inet6
Kernel IPv6 routing table
Destination                      Next Hop             Flags Metric Ref    Use Iface
2001:db8::/64                    ::                   U     256    1        0 eth0
fe80::/64                        ::                   U     256    0        0 eth0
::/0                         2001:db8::1        UG    1     0       0 eth0
::1/128                          ::                   U     0      0        1 lo
2001:db8::100/128                ::                   U     0      0        1 lo
fe80::20a:e4ff:fe89:f452/128     ::                   U     0      0        1 lo
fe80::20a:e4ff:fe89:f454/128     ::                   U     0      0        1 lo
ff00::/8                         ::                   U     256    0        0 eth0


自身のインターフェイスにpingをうってみます。IPv6でpingの確認を行うときはping6コマンドを使用します。

# ping6 2001:db8::100
PING 2001:db8::100(2001:db8::100) 56 data bytes
64 bytes from 2001:db8::100: icmp_seq=1 ttl=64 time=0.015 ms
64 bytes from 2001:db8::100: icmp_seq=2 ttl=64 time=0.011 ms
64 bytes from 2001:db8::100: icmp_seq=3 ttl=64 time=0.010 ms
64 bytes from 2001:db8::100: icmp_seq=4 ttl=64 time=0.011 ms


またIPv6のスタティックルートを追加する際は以下のようにコマンドを実行します。( アドレスは実際のものに置き換えてください )

# route add -A inet6 2001:db8:0:100::/64 gw 2001:db8::200




■IPv6の無効化

IPv6を無効にする場合は以下のように設定を行います。


# vi /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1


上記を設定後、以下のコマンドで編集した内容を有効にします。

# sysctl -p
<省略>
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1


以下のコマンドでIPv6に関する情報が表示されないことを確認します。

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0A:E4:89:F4:52
          inet addr:192.168.12.20  Bcast:192.168.12.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:400 errors:0 dropped:0 overruns:0 frame:0
          TX packets:342 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:36162 (35.3 KiB)  TX bytes:42088 (41.1 KiB)




 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.