クロスパス固定IP8/16 – YAMAHA RTX830/RTX1210/RTX1220で接続

このページで紹介するのは、ひかり電話の契約がなくONUにヤマハルータを直結する場合と、ひかり電話の契約がありホームゲートウェイ配下にヤマハルータを接続する場合です。

ひかり電話の契約があり、ホームゲートウェイを取り外してONUにヤマハルータを直結する場合は、NVR710/NVR700の接続手順をご覧ください。

回線にクロスパスのIPv6を開通させてください。

回線IDとアクセスキーを用意して、ルータの型番とともにびわこインターネットにお申し込みください。回線IDとアクセスキーは、フレッツ光ネクストの開通時に封筒でご自宅に届いている書類をご覧ください。 お手元に見当たらない場合はNTT116番にお電話して回線IDとアクセスキーの再送を依頼します。(手元に書類がない場合でも回線お名義と設置場所ご住所から開通することもできます。)

弊社で登録処理をすると、回線でクロスパスのIPv6が開通します。同時に弊社から固定IP接続の設定情報をメールでお送りします。

ファームウェアを最新にアップデートします。

古いファームウェアでは設定ウィザードに必要なメニューが出てきません。ヤマハルータを既存のインターネットできる環境のLANに繋ぐなどしてアップデートして下さい。

ホームゲートウェイのLANポートに、RTXのLAN2ポートを接続します。

*ひかり電話契約が無いときはONUに、RTXのLAN2ポートを接続してください。

http://192.168.100.1/にアクセスします

「詳細設定」>「プロバイダー接続」>「IPv6 IPoE接続(WAN)」を選び「新規」をクリック。

[WAN]プロバイダー接続の設定

ひかり電話の契約は「契約していない」を選択します。ひかり電話契約があっても、ホームゲートウェイの下に接続するときは「契約していない」を選択します。

ひかり電話契約をしても電話を使わずデータコネクトやIPv6で/56を欲しいという理由で電話ポートのないRTXを接続する場合は、ひかり電話を「契約している」を選択します。もちろんその場合はホームゲートウェイを取り外してONUにRTX830を直結します。

IPv4 over IPv6トンネルの設定は、「Xpass」の設定が無いので、「v6プラス」を選択します。(このあとコンソールからXpass設定に直しますのでv6プラス設定で大丈夫です)

このまま進みGUIでの設定を完了させます。

IP8/16のグローバルアドレスを、DMZにするインタフェースに割り当てます

IP8/16のグローバルアドレスを、RTX1210/RTX1220の場合はLAN3、RTX830の場合はLAN3が無いのでVLANインタフェースを作って割り当てます。IP8/16の契約では先頭はネットワークアドレス、2つ目はルータアドレス、末尾はブロードキャストアドレスとして3つシステムが使いますので、サーバなどに割当できるアドレスはIP8では5個、IP16では13個になります。

例 グローバルアドレスがIP8の契約で、ネットワークアドレスが 111.111.111.0/29 の場合

111.111.111.0 ネットワークアドレス。例ではNATマスカレードでLAN内のPCがインターネットアクセスするIPにしています。
111.111.111.1 ルータアドレス。
111.111.111.2 サーバなどに割当のできるIP
111.111.111.3 サーバなどに割当のできるIP
111.111.111.4 サーバなどに割当のできるIP
111.111.111.5 サーバなどに割当のできるIP
111.111.111.6 サーバなどに割当のできるIP
111.111.111.7 ブロードキャストアドレス。DMZに割り当てはできませんがポート変換でのLAN内PC公開には使えます。

RTX1210/RTX1220などLAN1、LAN2、LAN3インタフェースがある機種はこのようにします。

ip lan3 address 111.111.111.1/29

RTX830などLAN1、LAN2インタフェースだけがある機種は、VLANインタフェースを作って割り当てます。

vlan lan1/2 802.1q vid=2000
ip lan1/2 address 111.111.111.1/29

v6プラス用のconfigをクロスパス固定IP8/16用に修正します。

契約者には次の情報をお送りしています。

TUNNEL-DESTINATION-ADDRESS	トンネル宛先アドレス
IP-ADDRESS 		割り当てられた固定IP  例ではIP8で 111.111.111.0/29 が割り当てられたとします
FQDN			契約者のダイナミックDNSのFQDN。httpsから入力します。
DDNS-ID	 		契約者のダイナミックDNSの認証ID(たいていFQDNと同じです)	 
DDNS-PASSWORD	 	契約者のダイナミックDNSの認証パスワード
Basic-ID		ダイナミックDNSのBASIC認証ID
Basic-PASS		ダイナミックDNSのBASIC認証パスワード
UPDATE-SERVER-URL	ダイナミックDNSサービスのサーバアドレス

TeraTermなどでtelnetログインするか、シリアルケーブルでログインして、上記8つを置き換えてコピペします。

まず文字コードとトンネル設定をコピペします。

console character en.ascii
console columns 200
ipv6 lan1 prefix change log on
tunnel select 1
no tunnel encapsulation map-e
no nat descriptor address outer 20000 map-e
tunnel encapsulation ipip
tunnel endpoint remote address TUNNEL-DESTINATION-ADDRESS
ip tunnel mtu 1460
ip tunnel secure filter in 400003 400020 400021 400022 400023 400024 400025 400030 400032 400100 400101 400102 400200
ip tunnel tcp mss limit auto

#DMZへの接続を許可するフィルタを追加します
ip filter 400200 pass * 111.111.111.2,111.111.111.3,111.111.111.4,111.111.111.5,111.111.111.6

#NAT変換する場合のアドレスにはIP8のうちどれでも設定できますがかぶらないよう先頭アドレスを設定しておきます。
nat descriptor address outer 20000 111.111.111.0
schedule at 1 */* *:0,15,30,45 * lua emfs:/xpass-kotei.lua
schedule at 2 */* 00:13 * ntpdate ntp.nict.jp

ついでですが、L2TP/ipsecのリモート接続を許可する場合のフィルタとNAT設定は以下を追加します。

ip filter 400100 pass * 192.168.100.1 esp
ip filter 400101 pass * 192.168.100.1 tcp * 500
ip filter 400102 pass * 192.168.100.1 udp * 4500
nat descriptor masquerade static 20000 1 192.168.100.1 esp
nat descriptor masquerade static 20000 2 192.168.100.1 udp 500
nat descriptor masquerade static 20000 3 192.168.100.1 udp 4500
tunnel select 1
ip tunnel secure filter in 400003 400020 400021 400022 400023 400024 400025 400030 400032 400100 400101 400102 400200

次にスクリプト部分についてもコピペします。

embedded file xpass-kotei.lua <<EOF
UPD_SV = "UPDATE-SERVER-URL"
FQDN = "FQDN"
DPASS = "DDNS-PASSWORD"
DUSER = "DDNS-ID"
WAN_IF = "LAN1"

LOG_LEVEL = "info"
LOG_PFX = "[xpass]"
FAIL_MSG = "Failed to notify IPv6 address to the update server. (remaining retry: %d time(s))"

function logger(msg)
  rt.syslog(LOG_LEVEL, string.format("%s %s", LOG_PFX, msg))
end
            
function get_ipv6_adr()
    local ipv6adr, s0, s1, e, rtn, str
        rtn,str=rt.command("show ipv6 address " .. WAN_IF) 
    s0,s1=str:find("global%s+",0) 
    s2=str:find("%x+",s1) 
    e=str:find("%/",s2) 
    ipv6adr=str:sub(s2,e-1) 
    return ipv6adr
end

local rtn, count, log, result, adr1, err, str

adr1 = get_ipv6_adr()
local req_t = {}
local res_t
req_t.url = string.format("%s?d=%s&p=%s&a=%s&u=%s", UPD_SV, FQDN, DPASS, adr1, DUSER)
req_t.method = "GET"
req_t.auth_type = "BASIC"
req_t.auth_name = "Basic-ID"
req_t.auth_pass = "Basic-PASS"

      res_t = rt.httprequest(req_t)
      if res_t.rtn1 then
        logger("Notified IPv6 address to the update server.")
        if res_t.code == 200 then
          result = "Succeeded"
        else
          result = "Failed"
        end 
        log = string.format("%s to update IPv6 address. (code=%d, body=%s)", result, res_t.code, res_t.body)
        logger(log)
      end

EOF

save

ひかり電話のホームゲートウェイがあるとき

必須ではありませんがホームゲートウェイ(オフィスゲートウェイ、直収のビジネスホン主装置)があるときルータで使うDNSサーバはIPアドレスでNTTのものを直接指定することをおすすめします。自動取得ではルータはホームゲートウェイのIPがDNSサーバだとこのように認識します。

# show status ipv6 dhcp

  LAN2 [client]
    state: established
    server:
      DNS server[1]: 2001:f77:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx ←HGWのIPv6アドレス
      Domain name[1]: flets-west.jp
      Domain name[2]: iptvf.jp
      SNTP server[1]: 2001:a7ff:102::b
      SNTP server[2]: 2001:a7ff:102::a

NTT網のDNSサーバIPを使用するよう修正します。ONU直下の場合に自動取得するものです。

#参考に設定ウィザードで設定されるDNSの指定です。HGW配下だとHGWのアドレスをDNSとして取得してしまいます。
dns server select 500000 dhcp lan2 any .

#消します
no dns server select 500000

#NTT東西エリアにあわせてどちらかを指定します。
#NTT西日本エリア
dns server 2001:a7ff:5f01::a 2001:a7ff:5f01:1::a
#NTT東日本エリア
#dns server 2404:1a8:7f01:a::3 2404:1a8:7f01:b::3

ビジネス利用でLAN内のPCにIPv6アドレスを配布したくないとき

ヤマハのGUIではLAN内のPCにIPv6アドレスが配布されます。ビジネス利用でセキュリティ面からLAN内にはIPv6アドレスを配布したくないときもあるかと思います。その場合はさらに次の内容をコピペしてください。

no ipv6 lan1 address ra-prefix@lan2::1/64
no ipv6 lan1 prefix change log on
no ipv6 lan1 rtadv send 1 o_flag=on
no ipv6 lan1 dhcp service server

ipv6 lan2 address ra-prefix@lan2::1/64
ipv6 lan2 prefix change log on

また上記のスクリプト部分の、WAN_IF = “LAN1″を WAN_IF = “LAN2″に変更します。

ルータのパスワードを設定

最近のヤマハのファームウェアは、telnetはLANからのみ可となっていますが念の為にパスワードを設定しておくと安心です。

補足説明

  • クロスパス固定IPは、アルテリアネットワーク側に、ユーザ側のIPv6アドレスをダイナミックDNSを利用して通知することでIPIPトンネルが張れる仕組みです。
  • 15分毎にダイナミックDNS登録をスケジュールで実行しています。
  • ルータのインタフェースに::1 を割り当てていますが、::1でなければいけないわけではありませんので、変更してもかまいません。
  • 上でも説明していますがこの例ではIP8契約でCONFIG例ではわかりやすくするため割り当てられたアドレス範囲を 111.111.111.0/29 としています。0,1,2,3,4,5,6,7 の8個になりますが1をルータのDMZインタフェースに。2-6がDMZとして自由に5台分のサーバに割当できるアドレスとしました。DMZに配置するPCやサーバはゲートウェイアドレスに1を指定します。通常先頭0はネットワークアドレスで最後の7はブロードキャストアドレスで使わないことも多いのですが、先頭の0はLAN内のPCがインターネットアクセスに使うNATマスカレードアドレスに使用できます。最後の7は使っていません。

動作確認

ログ確認
# show log reverse
2021/02/25 10:15:00: [xpass] Succeeded to update IPv6 address. (code=200, body=<HTML><BODY><H1>DDNS API</H1><HR><H2>* Query parameter check : OK</H2>・・・・・・
2021/02/25 10:15:00: [xpass] Notified IPv6 address to the update server.
2021/02/25 10:15:00: [SCHEDULE] lua emfs:/xpass-kotei.lua
2021/02/25 10:04:35: Add IPv6 prefix 2001:*********::/64 (Lifetime: 2592000) via LAN1 by RA

luaスクリプトの動作確認
# show status lua
# show status lua running

luaスクリプト停止
# terminate lua all

luaスクリプト手動実行
# lua emfs:/xpass-kotei.lua

インタフェースへのIPv6アドレス割当確認
# show ipv6 address

回線から受け取ったIPv6のDNSなどの確認
# show status ipv6 dhcp 

疎通確認 IPv6
# ping6 2001:F60:0:206::1
# ping6 2001:4860:4860::8888

疎通確認 IPv4 (トンネルが通っているか)
# ping 8.8.8.8

接続テスト

こちらのページにアクセスして確認していただけます。IPv4アドレスの次の行のホスト名に、****.west.xps.vectant.ne.jp または ****.east.xps.vectant.ne.jp と表示されればOKです。

http://check.xpass.jp/