アーカイブ

6rd設定方法(CentOS6.2編)

さくらの6rd(トライアル)>6rd設定方法(CentOS6.2編)

ここでは、CentOS6.2における6rdの設定方法について説明します。
※ 設定前にトップページの「提供条件」を必ずお読みください。

カーネルとiprouteパッケージの入れ替え

CentOS6.2標準のカーネルとiprouteパッケージは6rdに対応していませんが、銀座堂の浅間さんが6rdに対応するパッチをあてたRPMパッケージを作成されています。ここでは、そのパッケージをインストールして6rdをサポートする方法について説明します。

まずはパッケージをダウンロードします。

# wget http://enog.jp/~masakazu/6rd/kernel-2.6.32-220.13.1.el6.6rd.x86_64.rpm
# wget http://enog.jp/~masakazu/6rd/iproute-2.6.32-17.6rd.x86_64.rpm
# wget http://enog.jp/~masakazu/6rd/kernel-firmware-2.6.32-220.13.1.el6.6rd.x86_64.rpm
ファイルが壊れていないか確認します。ハッシュ値が以下のように表示されれば問題ありません。
# sha1sum kernel-firmware-2.6.32-220.13.1.el6.6rd.x86_64.rpm
9ac0922de5697b42e25ea975463860a3d86f3b42  kernel-firmware-2.6.32-220.13.1.el6.6rd.x86_64.rpm

# sha1sum kernel-2.6.32-220.13.1.el6.6rd.x86_64.rpm
8d581afc2a2331f3c6ea38c0f554cf9e55eb2b81  kernel-2.6.32-220.13.1.el6.6rd.x86_64.rpm

# sha1sum iproute-2.6.32-17.6rd.x86_64.rpm
e634dcffcfdc36e776d57955f24b45a0af3cc88a  iproute-2.6.32-17.6rd.x86_64.rpm
インストールします。
# rpm -Uvh kernel-firmware-2.6.32-220.13.1.el6.6rd.x86_64.rpm
# rpm -Uvh kernel-2.6.32-220.13.1.el6.6rd.x86_64.rpm
# rpm -Uvh iproute-2.6.32-17.6rd.x86_64.rpm
インストールしたカーネルとiprouteパッケージが自動的にアップデートされないように、yumの設定を行います。
# vi /etc/yum.conf    (以下の行をファイルの最後に追加する)
exclude=kernel*,iproute

再起動します。

# reboot

再起動後にカーネルのバージョンと、ipコマンドが6rdをサポートしていることを確認します。

# uname -a
Linux localhost.localdomain 2.6.32-220.13.1.el6.6rd.x86_64 #1 SMP Wed Apr 25 16:27:47 JST 2012 x86_64 x86_64 x86_64 GNU/Linux

# ip tunnel help
Usage: ip tunnel { add | change | del | show | prl | 6rd } [ NAME ]
<省略>

カーネルのバージョンに6rdと表示されていることと、ipコマンドのヘルプに6rdと表示されていることが確認できれば成功です。

6rdの設定を行う

設定手順は以下の通りです。ここでは、59.106.69.117のIPv4アドレスをもったCentOS6.2での設定例を紹介します。

  1. IPv6アドレスの算出
    以下のように、IPv4アドレスをスペース区切りで引数に指定します。

    # printf "2001:e41:%02x%02x:%02x%02x::1\n" 59 106 69 117
    2001:e41:3b6a:4575::1
    
  2. /etc/sysconfig/network-scripts/ifcfg-sit1 ファイルの作成
    viでファイルを開き、以下の内容を追加します。青文字の部分はそれぞれの環境に合わせて書き換えてください。

    # vi /etc/sysconfig/network-scripts/ifcfg-sit1
    DEVICE=sit1
    IPV6INIT=yes
    IPV6_MTU=1280
    IPV6_DEFAULTGW=::61.211.224.125
    IPV6TUNNELIPV4=any
    IPV6TUNNELIPV4LOCAL=59.106.69.117
    IPV6ADDR=2001:e41:3b6a:4575::1/32
    
  3. /etc/rc.d/rc.local ファイルの編集
    起動時にipコマンドで上記で作成したトンネルインターフェイスsit1に対して6rd-prefixオプションを設定します。

    # vi /etc/rc.d/rc.local  (以下をファイルの末尾に追加)
    ip tunnel 6rd dev sit1 6rd-prefix 2001:e41::/32
  4. 再起動設定を反映させるために一度再起動します。
    # reboot
  5. 設定反映を確認
    起動後に設定が反映されていることを確認します。

    # ifconfig sit1
    sit1      Link encap:IPv6-in-IPv4
              inet6 addr: 2001:e41:3b6a:4575::1/32 Scope:Global
              inet6 addr: ::59.106.69.117/128 Scope:Compat
              UP RUNNING NOARP  MTU:1280  Metric:1
              RX packets:1 errors:0 dropped:0 overruns:0 frame:0
              TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:96 (96.0 b)  TX bytes:96 (96.0 b)
    
    # ip tunnel show
    sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc
    sit1: ipv6/ip  remote any  local 59.106.69.117  ttl 64  6rd-prefix 2001:e41::/32
    
    # ip -6 route show | grep default
    default via ::61.211.224.125 dev sit1  metric 1  mtu 1280 advmss 1220 hoplimit 4294967295