BLOG

フレッツ網を利用した拠点間IPv6通信

mainvisual_fletswest

NTT東西が提供しているフレッツ網はIPv6ネイティブ接続(IPv6専用通信)で構成されており、
家庭内で利用する範囲(CTU以下)はIPv4/IPv6通信となっていますが、
ここで割り当てられるIPv6アドレスを使ってNTT西日本のフレッツ網で拠点間通信を行う事ができます。

 

■ 接続準備

最低限行うCTUの設定として外部からの接続を許可するようにします。
個別に設定する事を推奨しますが、ファイアウォール設定⇒かんたん設定(低)にすると、
WAN側からの通信をウェルノンポート以外のポート(1024~65536ポート)を許可にします。

公開ポートが1023ポート以下の場合は公開されませんので、
アプリケーション側で個別に公開用ポートを指定すると良いかと思います。

例:
Apacheなら80⇒3128や8080、443⇒1443。
SSHなら22⇒2222等、代替としてよく使われる覚えやすいポート番号に変更しておくと良いでしょう。

 

■ フレッツ網IPv6通信(光プレミアム系)の仕様

・利用者への割り当てIPアドレスは/48の固定
割り当てられるIPアドレスは2001:a08X:XXXX/48です。
同一県内での移設を行った際にここのIPアドレスが変わる事はありませんでした。
また過去に導入した回線では、
CTUのIPアドレスの末尾は全て200:87ff:fe65:XXXXの固定となるようです。

・通信可能範囲に制限あり
フレッツ網の言葉通り、インターネット経由での通信は当然不可です。
フレッツ東西は接続されておらず、NTT西日本ならNTT西日本エリアのみ接続可能となっています。
同一種別(光プレミアム同士:光プレミアム・ファミリー⇔光プレミアム・エンタープライズ)は接続が可能ですが、
異なる種別の回線(光プレミアムと光ネクストで確認)は相互接続ができないなどの制約があります。

・ping6/tracert6はCTUまで、もしくは相手先CTUまでの通信が可能です。
※CTU以下の接続機器にはping6/tracert6は飛びません。

 

■ IPv6 tips

・/etc/hostsを活用
従来の「192.168.1.2」といったIPv4アドレスではなく、
IPv6では「2001:1234:5678:9:101:1234:5678:90ab」といった複雑なIPアドレスとなってしまいます。

そのため、Linuxでは/etc/hostsファイルを活用し、

vi /etc/hosts
2001:1234:5678:9:101:1234:5678:90ab nagoya

とホスト名を決めてしまう事で、IPv6アドレスを覚えずに通信をする事ができるようになります。

・自分でIPアドレスを決定
IPv6アドレスはリンクローカルアドレスと呼ばれるMACアドレスの下6桁を基準に
末尾64ビット分が自動生成され決定されていますが、
これを自分で以下のように定義する事によってIPアドレスを覚えやすくすることができます。

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="XX:XX:XX:XX:XX:XX"
NM_CONTROLLED="yes"
ONBOOT="yes"
BOOTPROTO=static
IPV6INIT=yes
IPV6ADDR=2001:a08X:XXXX::80/64
IPV6_DEFAULTGW=_CTUのIPアドレス_

上記設定後、以下のコマンドで正常に割り当てたIPアドレスになっているか確認をしてみてください。

/etc/init.d/network restart
/sbin/ifconfig

ping6でCTUに通信が通ればOKです。

・ファイアウォールの設定
IPv4アドレスでは/etc/sysconfig/iptablesでファイアウォールを設定しましたが、
IPv6アドレスでは/etc/sysconfig/ip6tablesでファイアウォールを設定します。
以下はTCP2222を許可した場合の例です。

vi /etc/sysconfig/ip6tables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
COMMIT

/etc/init.d/ip6tables restartでip6tablesを再起動し、エラーが無ければOKです。

Tweet about this on TwitterShare on FacebookShare on Google+