甲斐駒ヶ岳(駒津峰)


Date/Time: 2017:11:05 12:31:07
Camera: RICOH
Model: GR DIGITAL 4
Exporsure Time: 1/800
FNumber: 7.1
Aperture Value: 5.6
Focal Length: 6.0

Close

y2blog » 自宅のインターネット接続環境を検証してみる(FLET’S光 編)

8

15

2022

自宅のインターネット接続環境を検証してみる(FLET’S光 編)

FLET’S IPoE, Nuro光 のマルチホームインターネット環境をテスト中



Multi Homed Internet Testbed
FLET’S光とNURO光でマルチホームNW環境を構築してテストを行っている様子

先日、FLET’S光(FTTH)とNUROの両方を導入可能な物件に引っ越しをして、両方の光ファイバ系インターネット接続サービスが使える状態になったので、両方の接続サービスの通信品質状況を確認してみることにした.


現在は両方の環境が使える状態ではあるが、両方を維持するのは費用面で厳しいので、NURO光だけでFLET’S系のインターネット接続サービスを完全に置き換える事ができるようであれば、費用を抑えることのできるNURO光に一本化したいと思っている.


今回はNUROに一本化する前に、FLET’S系のIPoE接続(DS-Lite、固定IPv4)とPPPoE系の固定IPv4サービスならびにNURO光のサービスについて、その回線品質や利用目的に沿った使い方が可能かどうか検証してみるものである.


現在利用しているFLET’S系サービスとNURO光の月額コストと初期費用は次のようになっている.



[ FLET'S 環境 ]
 ・FLET'S光: 3,150円(+税)/月 ギガマンション・スマート
          500円(+税)/月   光電話サービス契約料
  I.S.P: IPoE : インターリンク ZOOT NATIVE 固定IP (Transix)
            2,200円(税込)/月
       PPPoE : インターリンク ZOOT NEXT 固定IP 1個            1,320円(税込)/月   初期工事費用(概算): フレッツ工事基本料. 4,500円(+税)     フレッツネットワーク工事料 1,000円(+税)     フレッツ宅内工事料 9,500円(+税)     ひかり電話ネットワーク工事料 1,000円(+税) [ NURO 環境 ]  ・NURO光 forマンション :  契約プランと共同利用者数により月額料金が変動する.                3年プラン: 2,750円(6人未満) 〜 2,090円(10人以上契約)   工事費用: 4万円(分割支払い): 実際の返済金額は実際に利用した期間で大幅に異なる.                     途中解約するとかなりの金額の支払いが必要.   契約事務手数料:3,300円(税込)

FLET’S系はアクセス回線(NTT)とプロバイダサービス(各社)の2本建てになっているので、NUROのような一体型サービスよりもかなり割高になるが、利用期間の縛りが無いので、解約に関してはあまり心配しなくても良いのがメリットだろうか.プロバイダサービスもユーザ側で自由に選べるので、ユーザの利用形態に応じたサービスを選択可能だ.


一方のNURO光に関しては、月額料金の支払いは3,000円未満程度に抑えることができるが、契約期間の縛りがあることと、途中解約すると違約金(2022年7月以降の契約からは違約金は従来の半額以下になっっている)と工事費の残債(実際に月々の支払いから工事費が充当されるのは、利用開始から6ヶ月後からなので、実質的に契約期間の月数+6ヶ月を経過しないと工事費は完全返済とはならない)を支払わなくてはならないので注意が必要だ.


マルチホームインターネット接続環境の構築


自宅のインターネット環境をマルチホームで組んでいる人は殆ど居ないと思うが、フリーランスのITエンジニアや企業や組織の情報システム系のエンジニアであれば、在宅ワークなどで必要に迫られてマルチホーム化している人も居るかもしれない.


マルチホーム環境を構築するには、それなりの業務用機材とネットワークエンジニアリングの知識が必要となるが、手頃な機材(NEC IXルータとFortigate FWルータ)が丁度2セット揃っていたので、比較検証を行うには都合が良い.


今回構築した自宅のマルチホーム環境は次のような構成になっている.



Dual Homed NW Testbed
FLET’S 光 & NURO光による検証用マルチホームネットワークの構成図(概要)[ クリックで拡大画像表示 ]


この構成では、FLET’S系の配下のNWはVLAN100番台、NURO系の配下のNWはVLAN200番台を割り当てている.一般家庭用のNUROサービスでは機能不足で、FLET’S光系のサービスを完全に置き換える事は難しいが、とりあえずFELT’S系のサービスを停止しても、SSL-VPNのような固定IPに依存するサービスも何とか維持できる.勿論、NUROはIPv4/IPv6共にDHCP系のサービスなのでIPアドレスが変更となるリスクは避けられないが、巷の情報を拾い集めるとNUROルータを長時間停止しない限りは、ほぼ(半)固定IPサービスとして利用可能なようだ.


Nuro NW Interface Info.
残りリース時間を注意深く監視しているとDHCPのリース間隔が掴めそうだ.

*追記:上記のF660AのDHCPリース情報から正確なDHCPリースタイムを知るためには、数時間の間隔を開けて取得した2回のリース情報から推定するというような算数が必要だが、別なONUルータ(SGP200)でのWAN側インタフェース情報が手元に残っていた。(SGP200 のIPv6のハンドリングに問題があったため、ONUを検証の取れているF660Aに交換して貰っている)


下記に、SGP200でのWAN側インタフェースに関する取得した情報を示す。この情報から、正確なWAN側のDHCPのリース時間は 10,800秒(3時間)に設定されていることが判明した。(当然ながら、ONUをSGP200からF660Aに交換した際に、IPv4アドレス、IPv6 prefix共に、別な新しい物が割り当てられているが、NURO側の対向ルータは同じままなので、IPv4アドレス、IPv6 prefix共に変化は少ない。




[IPv4]
MAC Address:            00:60:6B:A2:20:9C
NAT:                    Enable
IP Acquisition Mode:    DHCP
IP Address/Subnet Mask: 150.aaa.bbb.ccc/255.255.255.0
Gateway:	            150.aaa.bbb.1
DNS Servers:            118.238.201.33,152.165.245.17
Lease Time:             10800 s
Remain Lease:           10108 s
NTP Servers:            118.238.201.33,118.238.201.49
 
[IPv6]
MAC Address:            00:60:6B:A2:20:9C
DNS Servers:            240d:10:4:5::33,240d:12:4:1b01:152:165:245:17
Prefix:                 240d:xx:yyyy:zz00::/56
Prefix Acquisition Mode:  PrefixDelegation
Prefix Preferred Lifetime:  10800 s
Prefix Valid Lifetime:      10800 s
Remaining Lifetime of the Prefix:     6595 s
Online Duration (dd:hh:mm:ss):    02:12:11:34
 

リース時間が3時間というのは予想よりもかなり短いが、NUROサービスが始まった頃は多少の停止(1日程度)では滅多にIPアドレスが変更されることは無かったようだが、現在はサービス開始当初よりも利用者が何倍にも増えている筈なので、WAN側の回線状況がめまぐるしく変化していると想定されるので、3時間以上ONUの電源を落としてしまうと次に割り当てられるグローバルアドレスは変更となってしまう可能性がありそうだ。



この構成を詳しく説明することはできないので、各VLANの用途とルータのインタフェースの構成がどのようになっているのか簡単に説明しておく.


FLET’S系のネットワーク構成


インターネットマルチフィード社のTransixサービスによる、IPv4/IPv6 IPoEデュアルスタックサービスを利用している.IPv6アドレスの割り当ては NTTの光電話契約を行っているので、DHCP-PD方式による 56bit prefix 割り当てとなる.


NTTのホームゲートウェイ機器はリース契約していないので、56bit prefixをそのまま自前のルータ(IX2215)で受けて、配下のサブネット(VLAN)に 64bit prefix で渡している.NTTの光電話契約が無い場合は、RA方式による 64bit prefix でのIPv6アドレス割り当てとなってしまうので、今回の様なサブネット毎に異なるIPv6アドレス体系を採ることはできないので、IPv6環境をきちんと構築したい場合は、光電話を利用するしないに関わらず、必ず光電話契約をNTTとの間で結んでおく必要がある.


今回契約しているインターリンクの “ZOOT NATIVE” サービスでは、インターネットマーフィード社のTransixサービス(VNEサービス)を利用したIPv6/IPv4環境をユーザに提供しており、IPv4アドレスの割り当て方法として、共有IPアドレス割り当て方式と固定IPv4アドレス割り当て方式の2種類から選ぶ事が可能だ.


固定IPv4アドレス割り当て方式の場合は、利用料金は倍になってしまうが、ユーザに専用の固定IPv4アドレスが1個割り当て(他のユーザとのIPアドレスの共有はない)られる.固定IPv4アドレス割り当て方式のもう一つの利点は、IPアドレスを1個占有できるため、同時に利用可能なポート数が共有方式の1,024個から大幅に増えることになる.1つのIPアドレスで使えるポート数(65,535)の制限は有るが、このポート数であれば、スモールオフィスや大家族で同時にインターネットを利用しても、十分賄える事だろう.


固定IPv4アドレスサービスのもう一つの利用用途として、ホーム内に外部からアクセス可能なデバイスを配置することが可能となる.今回はFortigateのSSLVPNサービスをこの固定IPv4アドレスサービスで利用してみることにする.


IPoE固定IPv4アドレスサービスで有り当てられたIPアドレスで配下のNW上に配置したサーバやNW機器に接続させるには、ルータ(今回はNEC IX2215)側の設定でNATまたは静的(NAPT)ポートアドレス変換(ポートフォワーディング)の設定が必要になる.


今回は、FortigateのSSLVPNを静的NAPT方式とNATの両方の方式で接続する例について説明することにする.静的NAPT方式の場合は、配下のNWセグメントに設置されたPCなどのクライアント機器からは通常のNAPTによるインターネットアクセスが可能となり、SSLVPNで使用する特定のポート(TCP:443など)だけをFortigateのWANポートへポートフォワーディングすれば良い.


IX2215の設定情報を全て載せると長くなるので、今回は主要部分のみに絞ってコンフィグレーション情報を紹介することにする.




[ IPv4のデフォルトルートを Transix AFTR へ向ける ]
ip route default Tunnel0.0 

  ...

[ ソースポリシールーティング用のACL ]
ip access-list acl-vlan102 permit ip src 172.25.102.0/24 dest any
ip access-list acl-vlan104 permit ip src 172.25.104.0/24 dest any

 ...

[ IPv6用のACL ]
ipv6 ufs-cache max-entries 10000
ipv6 ufs-cache enable
ipv6 dhcp enable
ipv6 access-list allow-outboud permit ip src any dest any
ipv6 access-list dhcpv6-list permit udp src any sport any dest any dport eq 546
ipv6 access-list dhcpv6-list permit udp src any sport any dest any dport eq 547
ipv6 access-list icmp6-all permit icmp src any dest any
ipv6 access-list icmp6-nd permit icmp neighbor-solicitation src any dest any
ipv6 access-list icmp6-nd permit icmp neighbor-advertisement src any dest any
ipv6 access-list icmp6-nd permit icmp redirect src any dest any
ipv6 access-list icmp6-nd permit icmp echo-reply src any dest any
ipv6 access-list icmp6-nd permit icmp echo src any dest any
ipv6 access-list ip-tunnel-allow permit 4 src any dest any
ipv6 access-list reject-all sequence-mode 100
ipv6 access-list reject-all 100 deny ip src any dest any
ipv6 access-list dynamic cache 65535
ipv6 access-list dynamic dyn-outbound access allow-outboud
! 
 ...

[ 光(IP)電話接続用のIPv4ブリッジ設定(IPv6をカット) ]
bridge irb enable
no bridge 1 bridge ipv6

...

[ ソースポリシールーティングの設定 ]
route-map rtmap-us1 permit 10
  match ip address access-list acl-vlan102
  set interface Tunnel2.0
!
route-map rtmap-fixed permit 10
  match ip address access-list acl-vlan104
  set interface Tunnel1.0
!
 ...


この部分はIPoE環境での一般的な設定なので特に変わった部分は無いが、VLAN毎に接続先を切り替えるルートマップの設定がなじみが薄いかもしれない.このルートマップで特定のVLANに対してソースポリシールーティングを行わないと、IPv4トラフィックはデフォルトルートである、Tunnel0.0 (Transix AFTR) へ向いてしまう.




[ IPv6のDHCP-PDクライアントの設定 ]
ipv6 dhcp client-profile dhcpv6pd-client
  option-request dns-servers
  option-request ntp-servers
  ia-pd subscriber GigaEthernet2:1.1 0:0:0:64::/64 eui-64   <-- Transix AFTR
  ia-pd subscriber GigaEthernet2:1.3 ::/64 eui-64           <-- Transix BR
  ia-pd subscriber GigaEthernet2:1.7 0:0:0:fa::/64 eui-64   <-- 管理系NW
!

[ IPv6のDHCPサーバの設定 ]

ipv6 dhcp server-profile dhcpv6pd-sv100
  dns-server dhcp
!
ipv6 dhcp server-profile dhcpv6pd-sv104
  dns-server dhcp
!
ipv6 dhcp server-profile dhcpv6pd-sv106
  dns-server dhcp
!
 ...
 
[ Transixの固定IPv4アドレス割り当て用のIPv6トンネルアドレス通知 ] 
ddns profile transix-update
  url http://update.transix.jp/request
  query username=nnnnnnnn&password=abcdefghijk
  transport ipv6
  source-interface GigaEthernet2:1.3
!
 ...


最初のIPv6のDHCP-PDクライアントの設定部分では、配下のセグメント(VLAN)に割り当てる 64bitの prefix を設定している.DHCPv6-PDにより配布された56bitのprefixから、配下のセグメントに対して任意のprefixを割り当てることが可能だ。


Dynamic DNS (DDNS)の設定については以前の記事『InterlinkのZOOT NATIVE サービスがTransix 固定IPv4 方式に対応』で紹介しているが、Transixの固定IPv4サービスを利用する上で必須となる、こちら(IX2215)側のIPv6トンネルのアドレスに関する情報(正確にはIPv6 prefix情報)で、Transix側のBridge Router側では、このDDNS機能を使って通知されたprefix情報と強制指定しているデバイスアドレス(::feed)により、こちら側の正確なIPv6トンネルのアドレスを取得している .




[ IX2215のインタフェース設定 ]

device GigaEthernet0
!
device GigaEthernet1
!
device GigaEthernet2        <-- 8個のSWポート(GE2)を4組のポートVLANに分割
  vlan-group 1 port 1 2
  vlan-group 2 port 3 4
  vlan-group 3 port 5 6
  vlan-group 4 port 7 8
!

 ...

interface GigaEthernet0.0
  description Transix IPoE PD
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcpv6pd-client
  ipv6 filter dhcpv6-list 1 in
  ipv6 filter icmp6-all 2 in
  ipv6 filter icmp6-nd 4 in
  ipv6 filter ip-tunnel-allow 5 in
  ipv6 filter reject-all 100 in
  ipv6 filter dhcpv6-list 1 out
  ipv6 filter icmp6-all 2 out
  ipv6 filter ip-tunnel-allow 5 out
  ipv6 filter dyn-outbound 100 out
  no shutdown
!
interface GigaEthernet1.0         <-- 光電話中継用のIPv4 onlyブリッジ(WAN側)
  description SIP-IPv4-Only-Bridge.      (ONU ⇒ GE1.0 --BRIDGE-- GE2:2.0 ⇒ NVR500)
  no ip address               ※このブリッジでIPv6トラフィックを全てカットしている
  bridge-group 1
  no shutdown
!
interface GigaEthernet2.0
  no ip address
  shutdown
!

 ...

interface GigaEthernet2:1.1
  description VLAN100-Dual
  encapsulation dot1q 100 tpid 8100
  auto-connect
  ip address 172.25.100.254/24
  ip dhcp binding vlan100profile
  ipv6 enable
  ipv6 interface-identifier 00:00:00:00:00:00:00:fe
  ipv6 dhcp server dhcpv6pd-sv100
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
interface GigaEthernet2:1.2         
  description VLAN102-USTunnel1
  encapsulation dot1q 102 tpid 8100
  auto-connect
  ip address 172.25.102.254/24
  ip dhcp binding vlan102profile
  ip policy route-map rtmap-us1           <-- outbound通信をTunnel2.0 へ振り向ける
  ipv6 enable
  ipv6 address 2409:xx:yyyy:zz66::00fe/64
  no shutdown
!
interface GigaEthernet2:1.3     
  description Transix Fixed IPv4
  encapsulation dot1q 104 tpid 8100
  auto-connect
  ip address 172.25.104.254/24
  ip dhcp binding vlan104profile
  ip policy route-map rtmap-fixed         <-- outbound通信をTunnel1.0 (BR)へ振り向ける
  ipv6 enable
  ipv6 interface-identifier 00:00:00:00:00:00:fe:ed  <-- 指定されたデバイスアドレス
  ipv6 dhcp server dhcpv6pd-sv104
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
interface GigaEthernet2:1.4
  description VLAN106-IPv6-Only
  encapsulation dot1q 106 tpid 8100
  auto-connect
  no ip address
  ipv6 enable
  ipv6 interface-identifier 00:00:00:00:00:00:00:fe
  ipv6 dhcp server dhcpv6pd-sv106
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
  ...

interface GigaEthernet2:2.0.            <-- 光電話ルータ接続用のIPv4onlyブリッジ(LAN側)
  description IP-Phone-SIP-IPv4-Only.   (このポートにSIP用ルータ NVR500 を接続している)
  no ip address
  bridge-group 1
  no shutdown
!
  ...

この部分のインタフェース設定についても、過去の記事で紹介しているのでここでは細かな説明は行わない.プライベートトンネル用の GigaEthernet2:1.2 では、IPv6アドレスを手動で割り当ているが、このNWセグメントに接続されたクライアントデバイスに対しては、IPv6アドレスの自動割り当てを行わない設定としている.(クライアントから直接IPv6通信が行われてしまうと、IPoEで割り当てられたprefixのままで通信が行われてしまうため、IPv4とIPv6の経路がバラバラになってしまう)


"ipv6 interface-identifier"はデフォルトでEUI64形式で設定されるデバイスアドレスをオーバライドするための設定で、インタフェースのMACアドレス情報を外部に晒したくない場合や、手動ルーティングをさせたい場合などに、"::1" や "::fe" などの単純(簡単)なデバイスアドレスを割り当てる目的で使うことが可能だ.



[ Transix 共有IPv4(AFTR)接続用トンネル ]
interface Tunnel0.0
  description Transix AFTR
  tunnel mode 4-over-6
  tunnel destination 2404:8e00::feed:102     <-- Transix AFTR Router Address
  tunnel source GigaEthernet2:1.1         (DS-Liteサービス用)
  ip unnumbered GigaEthernet2:1.1
  ip tcp adjust-mss auto
  ip napt enable
  no shutdown
!

[ Transix 固定IPv4接続用トンネル ]
interface Tunnel1.0
  description Interlink IPoE Fixed IP
  tunnel mode 4-over-6
  tunnel destination 2404:8e00::feed:141    <-- Transix BR Router Address
  tunnel source GigaEthernet2:1.3         (固定IP接続用のBridge Router)
  ip address 217.aaa.bbb.ccc/32             <--  割り当てられた固定IPv4アドレス
  ip tcp adjust-mss auto
  ip napt enable
  ip napt service sslvpn 172.25.104.251 none tcp nnnnnn  <-- SSLVPN用の通信をport forward
  no shutdown
!

[ プライベートトンネル(USGW1) ]
interface Tunnel2.0
  description VPN-Gateway-US
  tunnel mode 4-over-6
  tunnel adjust-mtu 1400
  tunnel destination 2001:----:-----:----:----:----:----:7d89 
  tunnel source GigaEthernet2:1.2
  ip address 192.0.0.2/30          <-- トンネルの両端にIPv4アドレスを設定している(自分側)
  ip tcp adjust-mss auto         (対向側は 192.0.0.1/30)
  ip napt enable
  no shutdown
!

先に説明したように、VLAN104のセグメントでは、PCなどの一般的なクライアントデバイスはTunnel 1.0に割り当てられた固定グローバルIPv4アドレスでNAPT変換されて出て行くので、企業や組織のNW管理をリモートで行いたい場合や、相手先との間でIPSecトンネルを張るには都合が良い.


Transixの固定IPサービスを申し込むと、固定IPサービスだけではなく通常のAFTRによる共有IPサービスとも併用可能なので、一般家庭では家族用に共有IPサービス、仕事関係では固定IPサービスのような使い分けが可能だ.(固定IPサービスは追加オプション的な位置付けのようだ)


参考までに、上記コンフォグレーションでのIX2215-01の接続情報を載せておく.




[ DDNSのステータス情報 ]

Nix2215-01(config)# show ddns
profile-name : transix-update
  Registered time : 2022/08/15 19:52:55
  IPv6 address    : 2409:xx:yyyy:zz00::feed
  result
    HTTP/1.1 200 OK
    Date: Mon, 15 Aug 2022 10:52:56 GMT
    Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    X-Download-Options: noopen
    X-Permitted-Cross-Domain-Policies: none
    Referrer-Policy: strict-origin-when-cross-origin
    Content-Type: text/plain; charset=utf-8
    ETag: W/"565339bc4d33d72817b583024112eb7f"
    Cache-Control: max-age=0, private, must-revalidate
    X-Request-Id: db950d51-0bd8-47d8-934c-02e386dc2b2a
    X-Runtime: 0.025926
    Connection: close

    OK

[ DHCPv6-PDで取得したIPV6関連の情報 ]

ix2215-01(config)# show ipv6 dhcp client
DHCPv6 client is enabled
  System DUID 00:03:00:01:00:60:b9:e2:46:24
  Statistics:
    Solicit-advertise(reply):
      1 send, 117 seconds ago
      1 receive, 0 drops, 117 seconds ago
    Request-reply:
      1 send, 116 seconds ago
      1 receive, 0 drops, 116 seconds ago
Interface GigaEthernet0.0 is active
  Server address fe80::2a6f:7fff:fe2a:17c1
  Server identifier 00:03:00:01:00:0d:5e:c4:c3:4c <-- デフォルト設定で割り当てられたアドレス
  Uptime 0:01:59
  Prefix Delegation:
    T1 is 7200, T2 is 10800, renew 7083 seconds
  IA Prefix:
    2409:xx:yyyy:zz00::/56 vltime 14400 pltime 12600, expire 14283 seconds
  DNS Servers:
    2404:1a8:7f01:a::3
    2404:1a8:7f01:b::3
  NTP Servers:
    2404:1a8:1102::a
    2404:1a8:1102::b
  Subscribers:
    GigaEthernet2:1.1 is up
      2409:xx:yyyy:zz64::fe/64   <-- Interface Identifierで設定したアドレス( "::fe")
    GigaEthernet2:1.3 is up
      2409:xx:yyyy:zz00::feed/64
    GigaEthernet2:1.4 is up
      2409:xx:yyyy:zz6a::fe/64
    GigaEthernet2:1.7 is up
      2409:xx:yyyy:zzfa::fe/64
  Statistics:
    Solicit-advertise(reply):
      1 send, 119 seconds ago
      1 receive, 0 drops, 119 seconds ago
    Request-reply:
      1 send, 118 seconds ago
      1 receive, 0 drops, 118 seconds ago
ix2215-01(config)#                            

[ 固定IP用トンネルインタフェース Tunnel1.0 の情報 ]

ix2215-01(config)#  show int Tunnel1.0
Interface Tunnel1.0 is up
  Description: Interlink IPoE Fixed IP
  Fundamental MTU is 1460 octets
  Current bandwidth 1G b/s, QoS is disabled
  Datalink header cache type is ipv6-tunnel: 0/0 (standby/dynamic)
  IPv4 subsystem connected, physical layer is up, 0:28:12
  Dialer auto-connect is enabled
  Inbound call is enabled
  Outbound call is enabled
  Dial on demand restraint is disabled, 0 disconnect
  SNMP MIB-2:
    ifIndex is 1203
  Logical INTERFACE:
    Elapsed time after clear counters 0:28:40
    302 packets input, 153224 bytes, 0 errors
      302 unicasts, 0 non-unicasts, 0 unknown protos
      0 drops, 0 misc errors
    210 output requests, 41682 bytes, 0 errors
      210 unicasts, 0 non-unicasts
      0 overflows, 0 neighbor unreachable, 0 misc errors
    1 link-up detected, 0 link-down detected
  Encapsulation TUNNEL:
    Tunnel mode is 4-over-6
    Tunnel is ready
    Destination address is 2404:8e00::feed:141
    Source address is 2409:xx:yyyy:zz00::feed
    Source interface GigaEthernet2:1.3
    Nexthop address is fe80::2a6f:7fff:fe2a:17c1
    Outgoing interface is GigaEthernet0.0
    Interface MTU is 1460
    Path MTU is 1500
    Statistics:
      302 packets input, 153224 bytes, 0 errors
      210 packets output, 41682 bytes, 0 errors
    Received ICMP messages:
      0 errors
ix2215-01(config)#  

[ プライベートトンネルインタフェース Tunnel2.0 の情報 ]

ix2215-01(config)# show int Tunnel2.0
Interface Tunnel2.0 is up
  Description: VPN-Gateway-US
  Fundamental MTU is 1400 octets
  Current bandwidth 1G b/s, QoS is disabled
  Datalink header cache type is ipv6-tunnel: 0/0 (standby/dynamic)
  IPv4 subsystem connected, physical layer is up, 0:01:06
  Dialer auto-connect is enabled
  Inbound call is enabled
  Outbound call is enabled
  Dial on demand restraint is disabled, 0 disconnect
  SNMP MIB-2:
    ifIndex is 1204
  Logical INTERFACE:
    Elapsed time after clear counters 0:01:32
    318 packets input, 133304 bytes, 0 errors
      318 unicasts, 0 non-unicasts, 0 unknown protos
      0 drops, 0 misc errors
    344 output requests, 96614 bytes, 0 errors
      344 unicasts, 0 non-unicasts
      0 overflows, 0 neighbor unreachable, 0 misc errors
    1 link-up detected, 0 link-down detected
  Encapsulation TUNNEL:
    Tunnel mode is 4-over-6
    Tunnel is ready
    Destination address is 2001:----:----:----:----:----:----:7d89
    Source address is 2409:xx:yyyy:zz66::fe
    Source interface GigaEthernet2:1.2
    Nexthop address is fe80::2a6f:7fff:fe2a:17c1
    Outgoing interface is GigaEthernet0.0
    Interface MTU is 1400
    Path MTU is 1500
    Statistics:
      318 packets input, 133304 bytes, 0 errors
      344 packets output, 96614 bytes, 0 errors
    Received ICMP messages:
      0 errors
ix2215-01(config)#  

[ IPv4 over IPv6 トンネルの対向(USGW1)側IPv4アドレスへのping疎通確認]
ix2215-01(config)# ping 192.0.0.1
PING 192.0.0.2 > 192.0.0.1 56 data bytes
64 bytes from 192.0.0.1: icmp_seq=0 ttl=64 time=92.598 ms
64 bytes from 192.0.0.1: icmp_seq=1 ttl=64 time=92.134 ms
64 bytes from 192.0.0.1: icmp_seq=2 ttl=64 time=91.907 ms
64 bytes from 192.0.0.1: icmp_seq=3 ttl=64 time=92.429 ms
64 bytes from 192.0.0.1: icmp_seq=4 ttl=64 time=92.423 ms

--- 192.0.0.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 91.907/92.298/92.598
ix2215-01(config)# 


Fortigate 50E-2号機では、インターリンクの PPPoE方式による固定IPv4接続サービス "ZOOT NEXT" を用いているが、今回の検証ではこのPPPoE接続をIPoE固定IP接続とNURO環境でのポートフォワーディングに置き換えら事が可能かどうかが重要な検証ポイントだ.


今回は本番運用中のFortigate 50E-2号機の代わりに、Fortigate 50E-1号機を検証機として使用することにする。


上記の例では、クライアントデバイス用のNAPTとSSLVPN接続待ち受け用のポートフォワーディングを兼用としている.クライアントデバイス用のNAPTが必要なければ、単純に1対1の静的NATによってSSLVPN通信を直接待ち受けるNAT方式の方が単純で信頼性が高いだろう.


IX2215のACLで制御するより、Fortigate側のFW機能の方がより細かなポリシー制御を行うことが可能なので、この後で説明するNAT方式を利用する方がセキュリティー面では好ましいだろう。


とりあえずここではNAPT併用環境下で、問題なくFortigateのSSVPNクライアントを用いてVPN接続可能で有ることを確認しておくことにする.



VPN Client Apps

FG50E WEB Console
NAPT方式でも問題なくSSLVPNクライアントアプリで接続できることが確認できた


NATを用いたFortigate(SSLVPN)との接続例


NAPTを行わずに1対1の静的NAT変換を用いてSSLVPN機器などを接続する場合は、Tuunel1.0 の設定部分で、NAPTの指定部分を単純にNATに変更すれば良い.今回は、VLAN104配下のクライアントはFortigate 50E-1のLAN側インタフェース経由でNAPT変換され、VLAN199側のブリッジネットワークからIX2215-01のNAT変換によりインターネット側へ抜ける構成となる.



IPoE Fixed IPv4 NAT Usage
NATにより直接FortigateのWANポートに接続する構成例

この構成であれば、VLAN104側のクライアントも設定を変更することなく、IPv4通信に関しては固定IPアドレスによるNAPTでインターネット接続が可能だ.Fortigate側の設定次第では、VLAN104配下にもIPv6アドレスでのルーティングが可能となりそうだが、FortigateのIPv6設定に関する情報が不足しているので、今回はIPv4での接続だけを行うことにする.


Fortigateの新しい機種や上位機種(Fotigate 60Fなど)では、IPoEに関する設定が可能なFortiOS 7系が使える様だが、残念ながら私のFortigate 50Eシリーズでは、FortiOS 7には対応していない.FortiOS 7 での Tarnsix 固定IPv4サービスの設定例が公開されているので、FortiOS 7系が利用可能な場合は、一度目を通しておくと良いだろう.


Fortigateに限らず、Cisco, Juniperなどの海外のメジャーメーカの製品に関しては、日本の独自仕様のサービスに対する適合性は低いので、NECなどの日本のメーカーのルータ製品を使用するのが無難なようだ。


[ Transit DS-Lite ]
『FortiGate IPoE設定ガイド インターネットマルチフィード株式会社 transix DS-Liteサービス編』

[ Transit 固定IPサービス ]
『FortiGate IPoE設定ガイド インターネットマルチフィード株式会社 transix 固定IPサービス編』



route-map rtmap-vl199 permit 10
  match ip address access-list acl-vlan199
  set interface Tunnel1.0
!
 ...

ipv6 dhcp client-profile dhcpv6pd-client
  option-request dns-servers
  option-request ntp-servers
  ia-pd subscriber GigaEthernet2:1.1 0:0:0:64::/64 eui-64
  ia-pd subscriber GigaEthernet2:1.4 0:0:0:6a::/64 eui-64
  ia-pd subscriber GigaEthernet2:1.7 0:0:0:fa::/64 eui-64
  ia-pd subscriber GigaEthernet2:3.0 ::/64 eui-64 <-- 固定IP接続用のIF(GE2:3.0へ変更)
!
 ...

[ Transixの固定IPv4アドレス割り当て用のIPv6トンネルアドレス通知 ] 
ddns profile transix-update
  url http://update.transix.jp/request
  query username=nnnnnnnn&password=abcdefghijk
  transport ipv6
  source-interface GigaEthernet2:3.0  <-- 固定IP接続用のIF指定
!

 ...

[ VLAN104 インタフェース  ]
interface GigaEthernet2:1.3
  description Transix Fixed IPv4 via FG
  encapsulation dot1q 104 tpid 8100
  auto-connect
  ip address 172.25.104.254/24
  ip policy route-map rtmap-fixed
   no shutdown
!
 ...

[ Fortigate 接続用インタフェース  ]
interface GigaEthernet2:3.0
  description Fixed IPv4 Bridge
  ip address 172.25.199.254/24
  ip policy route-map rtmap-vl199    <-- outbound通信をTunnel1.0 (BR)へ振り向け
  ipv6 enable
  ipv6 interface-identifier 00:00:00:00:00:00:fe:ed
  ipv6 dhcp server dhcpv6pd-sv199
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
 ...

[ Transix 固定IPv4接続用トンネル ]
interface Tunnel1.0
  description Interlink IPoE Fixed IP
  tunnel mode 4-over-6
  tunnel destination 2404:8e00::feed:141    <-- Transix BR Router Address
  tunnel source GigaEthernet2:3.0
  ip address 217.aaa.bbb.ccc/32             <--  割り当てられた固定IPv4アドレス
  ip tcp adjust-mss auto
  ip nat enable
  ip nat static 172.25.199.252  217.aaa.bbb.ccc  <-- FG50E-2 SSLVPN WAN 1 port
  no shutdown
!


VLAN104配下ではこの構成ではNAPTとNATの2重のアドレス変換が行われるので.IPSecクライアント接続のようなアプリケーションは上手く機能しないかもしれない.FortigateとIX2215の双方で上手くNATトラバーサルが機能していれば問題ないのかもしれないが、今回はまだ検証できていないので、今後検証してみることにする.


実際に上記のNAT構成(Fortigateは2号機ではなく1号機を使って検証している)で、VLAN104配下のクライアントから外部のサーバ(y2tech.net)に対して traceroute してみると、


yasuaki@MBAirM1 ~ % traceroute y2tech.net
traceroute to y2tech.net (35.79.232.139), 64 hops max, 52 byte packets
 1  gw251.vl104.home.yoko (172.25.104.251)  6.118 ms  4.399 ms  4.265 ms
 2  gw254.vl199.home.yoko (172.25.199.254)  4.264 ms  4.356 ms  4.106 ms
 3  bek-bbrt10.transix.jp (14.0.9.125)  20.291 ms  9.267 ms  11.588 ms
 4  210.173.176.198 (210.173.176.198)  10.347 ms  9.189 ms  10.081 ms
 5  * * *
    【以下省略】

確かに、 Fortigate(104.251) → IX2215(199.254) → Transit BR という想定している経路で接続されていることが確認できる.



IPv6 Connection Test
IPv4のみの接続となるが、割り当てられた固定IPアドレスで外部接続されていることを確認

L2TP Connection Test
VLAN104配下からMac OSの標準L2TPクライアントで外部のVPNルータと問題なく接続できている