Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

6to4でIPv6を使ってみる+ip6tables設定@Sakura VPS with CentOS 5

      2011/10/08

Sakura VPS でIPv6を使ってみた。

方法としては 6to4 と 6rd という方法がとれるらしいが、6rdはCentOSだとカーネル入れ替えが必要になるので、今回は6to4というトンネルを選択。接続先はTokyo6to4です。

方法はいたって簡単。

# vi /etc/sysconfig/network
~ 以下を追加 ~
NETWORKING_IPV6=yes
IPV6_DEFAULTDEV=tun6to4
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
~ 以下を追加 ~
IPV6INIT=yes
IPV6TO4INIT=yes
IPV6TO4_RELAY=192.88.99.1

後は一端ネットワークを再起動。

#  /etc/init.d/network restart

再起動すると、以下のようなインタフェースが表示されます。

# ifconfig tun6to4
tun6to4   Link encap:IPv6-in-IPv4
          inet6 addr: 2002:xxxx:xxxx::1/16 Scope:Global
          UP RUNNING NOARP  MTU:1480  Metric:1
          RX packets:89 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13543 (13.2 KiB)  TX bytes:14628 (14.2 KiB)

ちなみにLinuxでは、ipv6でpingを打つには、ping6を使います。

# ping6 www.iij.ad.jp
PING www.iij.ad.jp(2001:240:bb42:b000::1:80) 56 data bytes
64 bytes from 2001:240:bb42:b000::1:80: icmp_seq=0 ttl=58 time=10.2 ms

さらに、 手元のPCからこのサーバに対して、IPv6通信してみたかったので、Softether社提供の実験を使わせてもらい、手元からも無事接続できました。
Windowsの場合、pingコマンドは、IPv4もIPv6も同じpingコマンドを使います。IPv6で強制的にpingを使いたい場合は、-6オプションを使いましょう。

C:\>ping -6 www.iij.ad.jp
www.iij.ad.jp [2001:240:bb42:b000::1:80]に ping を送信しています 32 バイトのデータ:
2001:240:bb42:b000::1:80 からの応答: 時間 =60ms

ちなみに、IPv6の場合、IPv4のようにarpがありません。iptablesでファイアウォールを設定している場合、最低限pingなどに応答するには以下のように設定するとよいと思います。マルチキャストなども通したい場合は、適宜 –icmpv6-type の定義を増やしてあげてください。全タイプのicmpを通したいならば、–icmpv6-type ○○○ は必要ありません。

# ip6tables -A INPUT -s ::/0 -d ::/0 -i lo -j ACCEPT
# ip6tables -A INPUT -s ::/0 -d ::/0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# ip6tables -A INPUT -s ::/0 -d ::/0 -p ipv6-icmp -m icmp6 --icmpv6-type 128 -j ACCEPT
# ip6tables -A INPUT -s ::/0 -d ::/0 -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j ACCEPT
# ip6tables -A INPUT -s ::/0 -d ::/0 -p ipv6-icmp -m icmp6 --icmpv6-type 133 -j ACCEPT
# ip6tables -A INPUT -s ::/0 -d ::/0 -p ipv6-icmp -m icmp6 --icmpv6-type 134 -j ACCEPT
# ip6tables -A INPUT -s ::/0 -d ::/0 -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT
# ip6tables -A INPUT -s ::/0 -d ::/0 -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT

これで終了と思いきや、これだけではパケットは通らないかもしれません。実は、今回は6to4トンネルを使っているので、IPv4側でファイアウォールが動いている場合は、IPv6がカプセル化されたパケットを許可する必要があります。よって以下のようにipv6パケットは、IPv4側では通過させてあげます。

# iptables -A INPUT -p 41 -j ACCEPT

41というのは、IPv6のプロトコル番号です。これは、/etc/protocols ファイルに記述されていますので、気になる人は覗いてみてください。

 - IT技術, セキュリティ, ネットワーク , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
シェルで逐一時間表示@bash

デバッグを目的に、 逐一コマンド実行時に時間を表示させたい場合があります。 $ …

no image
フォルダオプションを設定する@Windows 7

Windows 7のエクスプローラーも今までのバージョンのWindowsと同様、 …

no image
wuzzを使ってHTTPベースのAPIを手軽に実行@Linux with Docker

wuzz というAPIを手軽に叩きながら動作を確認するツールを使ってみた。 ちょ …

no image
キーボードレイアウト、ロケール変更@Ubuntu 14.04 server on VMware Player

VMwareの簡易インストールはOSのインストールが簡単で便利ですが、日本時間に …

no image
Windows 7 ファイルサーバにアクセスできない@Windows 7 Ultimate

Windows 7 をファイルサーバにしているのですが、ファイルアクセスが高負荷 …

no image
ディスクイメージをデバイスファイルとして扱う@CentOS5.4 + Xen

※ 2015/4/30追記 : mountオプションで直接マウントする方法を書き …

no image
screenコマンド覚え書き@Linux

ssh接続が切れても作業環境を保てたり、複数画面を切り替えられたり、画面上の文字 …

no image
isoなどのCDイメージを手軽にマウント

Daemon ToolsというCDのイメージをマウントする有名なツールがあるので …

no image
vimで検索語をハイライトする@さくらインターネット

普通vimで検索すると、検索語がハイライトされるのですが、さくらインターネットに …

no image
Systemtapを使ってみる@RHEL 5.5 x86_64

Systemtap を使用してみたので覚え書き。 Systemtapでは、動的に …