前回の記事でipv4 PPPoEによる接続をセットアップしました。
ipv4アドレス枯渇の状況を踏まえて、2019年現在大半のプロバイダーがipv6の接続オプションを無料で提供していますし、市販のルーター、PC、スマートフォンなどもほとんどipv6に対応しています。
ipv6のメリット
一般ユーザーにとって、ネットワーク回線の品質と言えば速度でしょう。ipv6はPPPoE認証に使用されるネットワーク終端装置(NTE)を経由しないし、全体的なユーザー数も少ないため、混雑時の通信速度を改善できます。
以下は自宅のネットワーク速度を計測した結果です。
ipv6接続方式
プロバイダーから提供しているipv6接続方式は主この2種類:
- 回線終端装置がDHCP-PDプロトコルで/64のプリフィックスを取得し、それに接続しているルーターがこのアドレス空間内の任意なアドレスをPCなどの端末機器にアサインします。
- ルータがハブスイッチの振る舞いをして、PCなどの端末機器を直接プロバイダーのルーターと接続します。この場合、端末のipv6アドレスはプロバイダーから直接アサインされます。
これらのipv6接続はデュアルスタックと呼ばれる技術に属しており、つまり一つのネットワークデバイスにipv4とipv6二つのプロトコルスタックが備えて同時に独立して動作していることです。この方法で従来のipv4通信に影響を及ばず簡単にipv6接続環境を構築できますが、逆にipv4のウェブサイトやサービスを利用する際に、ipv6による高速化、セキュリティなどの恩恵は一切受けられません。
その残念な状況を解決するために、MAP-E、DS-LITEなど、ipv4の通信をipv6に乗って、ipv6回線で行う方法も出現していますが、今回はなずネイティブなipv6デュアルスタックに注目して設定を行うことにします。
ルーターでipv6接続をセットアップ
ipv6 bridge (ipv6 passthrough)
前回のコンフィグをベースにセットアップします。
PPPOEセッションをセットアップして、インタネットに接続するまでの設定を説明します。 システム前提条件 ルーターのWANがISPの終端機器に接続しています。 ISPから取得したPPPOE接続用のユーザネームはuser_id パス[…]
enable
config terminal
bridge irb
interface GigabitEthernet8
bridge-group 1
bridge-group 1 input-type-list 200
exit
前回でVlan1をゲートウェイとしてセットアップしましたが、ブリッジを利用するために、バーチャルブリッジインタフェースを作成して、ゲートウェイとして使用するので、まずはdefaultコマンドでVlan1の設定をクリアします。
default interface Vlan1
そしてVlan1にゲートワイアドレスを設定しないまま、ブリッジクループに追加します。
interface Vlan1
no ip address
bridge-group 1
BVI1を作成して、ゲートウェイアドレスを設定します。
interface BVI1
ip address 192.168.1.254 255.255.255.0
ip nat inside
ip virtual-reassembly in
ip tcp adjust-mss 1414
exit
最後にACLを修正します。
control-plane
bridge 1 protocol ieee
bridge 1 route ip
exit
access-list 200 permit 0x86DD 0x0000
access-list 200 permit 0x0800 0x0000
access-list 200 permit 0x0806 0x0000
0x86DDはipv6通信、0x0800はipv4通信、そしてx0806はルーター間のARPトラフィック。
設定が完了したらPCなどの端末にグローバルipv6アドレスがアサインされているはず。
DHCP-PD方式のipv6接続
DHCP-PDはDHCP Prefix Deliveryの略で、ipv4のDHCPがアドレスをホストにアサインすることに対して、DHCPはipv6のプリフィックス(ipv4のサブネットアドレス相当)というアドレスを回線終端装置にアサインします。その後、ルーターが通常のDHCPで各ホストにこのプリフィックス範囲内のホストアドレスを各端末にアサインします。
まずはルーターにipv6用のDHCPサーバーを立ち上げます。
ipv6 unicast-routing
ipv6 cef
ipv6 dhcp pool STATELESS
import dns-server
import domain-name
exit
WANポートが終端装置からDHCP-PDでプリフィックスを取得するように:
interface GigabitEthernet8
ipv6 address autoconfig default
ipv6 enable
ipv6 dhcp client pd PREFIX
exit
最後はVlan1にipv6のゲートウェイとDHCPをセットアップします。
interface Vlan1
ipv6 address PREFIX ::1:0:0:0:1/64
ipv6 enable
ipv6 nd other-config-flag
ipv6 dhcp server STATELESS
IP数の制限から解放されます
DHCP-PD方式の接続は一見ipv4の内部LANと似ていますが、PDがプリフィックス、つまりグローバルスペース上の一つのアドレス範囲を指定しているもので、その下のアドレスがすべてグローバルアドレスというのが一番の違いです。
ipv4ではグローバルアドレスをケチって、基本1ユーザーに1個のグローバルIPアドレスを払い出していますが、DHCP-PDでは一般的に各終端装置に/64のプリフィックス、つまり1ユーザーに約1600億億のグローバルアドレスを払い出しています。そのため、ipv6ではNAT、ローカルIPなどを一切利用せずに、実質無限の端末を直接グローバルインタネットに直接接続ことが可能になりました。
直接インタネットに接続することを聞くと、セキュリティ面の疑問が出ると思いますが。実はNAT技術もセキュリティを強化するためのもではいし、そもそもセキュリティはファイアウォールが担保するべきものである。
また、ipv6のDHCPにあるSTATELESSモードでは1600億億あるアドレス空間内でランダムにホストアドレスを払い出すので、外からポートスキャンなどの手段でホストマシーンに侵入することも実質不可能になるでしょう。