アーカイブ

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

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

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

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

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

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

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

# sha1sum kernel-2.6.32-279.14.1.el6.6rd.x86_64.rpm
b7f2b99bdcf42ef7c5a92451d3dc42abd54c4f48  kernel-2.6.32-279.14.1.el6.6rd.x86_64.rpm

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

再起動します。

# reboot

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

# uname -a
Linux localhost.localdomain 2.6.32-279.14.1.el6.6rd.x86_64 #1 SMP Tue Dec 11 11:22:48 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の設定を行う

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

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

    # printf "2001:e41:%02x%02x:%02x%02x::1\n" 133 242 21 25
    2001:e41:85f2:1519::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=133.242.21.25
    IPV6ADDR=2001:e41:85f2:1519::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:85f2:1519::1/32 Scope:Global
              inet6 addr: ::133.242.21.25/128 Scope:Compat
              UP RUNNING NOARP  MTU:1280  Metric:1
              RX packets:114 errors:0 dropped:0 overruns:0 frame:0
              TX packets:118 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:12000 (11.7 KiB)  TX bytes:10848 (10.5 KiB)
    
    
    # ip tunnel show
    sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc
    sit1: ipv6/ip  remote any  local 133.242.21.25  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