【回線】CiscoルータでHomeNOCに接続する

概要

機会があり、HomeNOCさんに接続させて頂きました。備忘録です。
こちらの手法は上手く行っておらず、まだ検証が続いています。

一応、動作が確認された方法は このページ(【回線】NEC+CiscoルータでHomeNOCに接続する) に載っています。

恐らくこのページの方法でもルータを2台に分ければ上手くいくのではないかと思いますが、詳細な要因は今のところ不明です。


2023.05.23追記

原因は接続対向ルータのソフトウェア不具合だったようです。クリティカルケースを踏み抜いてしまったらしいです

こちらのブログアーカイブ)さんでは、同じく Cisco 891FJ/K9 ルータを使う方法でBGP over GREを確立されていました。


手順

① HomeNOCさんのホームページでやること
② NTTさんにお願いすること
③ Ciscoのルータでやること
の3種類があります。


① HomeNOCホームページでやること

まずはホームページをよく読みます。

次に、ダッシュボードにアクセスし、必要事項を記入。

IPv4アドレスのサブネットマスクですが、サーバ用途なら/30を選択すると良いでしょう。1つはゲートウェイ、1つはブロードキャストのため、2つがグローバルIPとして使えます。どれを選べば良いか困ったらSlackなりメールなりで質問してみましょう。

接続方式及び回線種別はL3接続(BGP)、トンネル(GRE)を選択するのが無難です。

ちなみに「接続情報の追加」で図1のようにエラーが出るのはシステムの不具合とのことです。同じ事象に遭遇した人は運営委員さんにメール(support@homenoc.ad.jp)で問い合わせてください。

[400] error: invalid ipv4 route template
OK
図1.登録のエラー

補足:接続方式および回線種別について

HomeNOCさんのホームページを見ると、あたかも知っていて当たり前かのようにStatic Routing/BGP接続、GRE/IPIPトンネルなどという用語が並んでいますが、少し前提知識が必要なので補足です。

rarafyの技術ブログ|【回線】Static Routing/BGP接続、GRE/IPIPトンネルの違い


② NTTにお願いすること

webでの申請が最終段階(接続情報の追加)に進み、IPv6アドレスを記入する段になったらフレッツ光を引きます。

無償のIPv6オプションは必ず付けてもらってください。ちなみに小型ONUも無償オプションです。対応したルータで小型ONUをどうしても使いたいと伝えたところOKが出ました。

私の家では「フレッツ光ネクスト マンション・ギガラインタイプ」を引きました。

図2.フレッツ光ネクスト マンション・ギガラインタイプ

マンションに導入されていたインターネット環境がVDSL方式だったため、光配線方式に変更するところから手続しました。2022年1月末に手続を始めて開通したのは4月15日です。回線工事には延べ4ヶ月を要し、体感ではVDSL→光配線の切替えにおおよそ2ヶ月、スプリッタ→部屋への工事に1ヶ月かかりました。



③Ciscoのルータでやること

Cisco 891FJ-K9を1台買いました。まずは小型ONUをSFPポートに挿します。図3のように挿しました。インターフェイスは Gigabit Ethernet 8 です。

図3.Gigabit Ethernet 8(通称 Gi 8)に小型ONUを挿したところ

左側面が光る本小型ONUは、モデル名にMと入っているので三菱製ということが分かります。

さて、小型ONUを挿してランプが点いたら、コンソールケーブルを挿してルータのセットアップを行います。

※ちなみに本体を初期化せず立ち上げたらユーザ名がkashiwazaki_kariwa_xxx でした。Cisco製品はそんな所でも使われているのですね。

参考:
BLUECORE.NET|[Network] Home NOC Operators Groupに接続をした。


・Adminモード→コンソールの設定

まずは本体設定です。システムメッセージ割込みを自動改行するようにし、出力されるメッセージを最後まで表示するよう設定し、タイムアウトは30分に延長します。

Router> en
Router# term len 0
Router# conf t
Router(config)# line cons 0
Router(config-line)# logg sync
Router(config-line)# exec-timeout 30 0
Router(config-line)# exit


・時刻

Router(config)# clock timezone JST 9
Router(config)# exit
Router# clock set 18:00:00 15 April 2022
Router# wr mem


・ポート有効化

ポートの状態を確認します。

Router# show ip int brie

“administratively down” となっているポートがあります(図4)。

図4.インターフェイスの状態

“FastEthernet0″(100MbpsのLAN)と “BRI0″(ISDN回線≒アナログ電話と同じ2線式メタル回線) は多分使わないので、それ以外の “GigabitEthernet8” を有効化します。SFPモジュールも使えるようにします。

Router# conf t

Router(config)# int gi 8
Router(config-if)# no shutdown
Router(config-if)# exit

Router(config)# !service unsupported-transceiver


・NTT東日本から割当られたIPv6アドレスの確認

IPv6アドレスを確認するため、以下のコマンドを打込みます。

Router(config)# ip cef
Router(config)# ipv6 unicast-routing
Router(config)# ipv6 cef
Router(config)# ipv6 dhcp pool STATELESS
Router(config-dhcpv6)# import dns-server
Router(config-dhcpv6)# import domain-name
Router(config-dhcpv6)# exit

Router(config)# int gi 8
Router(config-if)# no ip address
Router(config-if)# ipv6 address autoconfig default
Router(config-if)# ipv6 enable
Router(config-if)# ipv6 nd ra suppress all
Router(config-if)# end

Router# show ipv6 interface

※ “ipv6 nd ra suppress all” は、コンフリクトエラーへの対応です。”conflicting ND setting reachable time” というのは、link-local に RA を吐いている (競合している) ルータが居ることを意味し、Gi8に対して(こちらから)RAを吐く必要は無いので、上記コマンドでRAを抑制します。

Apr 24 10:55:28.075: %IPV6_ND-3-CONFLICT: Router FE80::225:84FF:FE99:19C6 on GigabitEthernet8 conflicting ND setting reachable time 300000

すると、図5のようにNTTから割り当てられたIPv6アドレスが確認できます。この場合は “2408:213:86A3:B900:DAB1:90FF:FE18:3D96/64” ですね。この数値はHomeNOCの「接続情報を追加」の段階でWebから入力します。

図5.IPv6アドレス情報の確認

参考:
Cisco|IPv6 インターネット接続設定例(IPv6oE方式)
ネットワークエンジニアとして|IPv6 – ipv6 unicast-routing / ipv6 address
OPEN IPv6 DDNS for NGN|Ciscoルータでの使用方法

・接続情報の確認

接続情報を確認します。

図6.接続情報の確認


・GREトンネルの確立

この時点でトンネル先にpingが到達することを確認しておきましょう(図7)。

図7.トンネル宛先のping応答確認

次に、GREトンネルを確立します。サブネットマスクの変換には図8を使ってください。

Router# configure terminal
Router(config)# interface tunnel 0
Router(config-if)# ip address 103.247.181.167 255.255.255.254
Router(config-if)# tunnel source 2408:213:86A3:B900:726D:15FF:FEBF:791E
Router(config-if)# tunnel destination 2405:6580:9a30:1600::1111
Router(config-if)# tunnel mode gre ipv6
Router(config-if)# end
図8.サブネットマスクの変換(IPアドレス サブネットマスク 早見表から引用)

この段階でGREトンネルが確立されることを確認します。

図9.トンネル0のStatus, Protocolの両方がupになっていることを確認

参考:
Cisco|インターフェイスおよびハードウェア コンポーネント コンフィギュレーション ガイド、Cisco IOS XE Release 3S | GRE IPv6 トンネル
島根データセンター友の会|[Config設定例] Ciscoルーターを用いて、上流拠点とGREを用いてピアを張る場合


・BGP接続

Router# configure terminal
Router(config)# router bgp 65041
Router(config-router)# neighbor 103.247.181.166 remote-as 59105
Router(config-router)# address-family ipv4
Router(config-router-af)# neighbor 103.247.181.166 activate
Router(config-router-af)# network 103.202.216.68 mask 255.255.255.252
Router(config-router-af)# end

参考:
Cisco|BGP ケース スタディ
ネットワークエンジニアとして|MP-BGP


・DNSの設定

Router# configure terminal
Router(config)# no ip domain-lookup
Router(config)# ip name-server 8.8.8.8 8.8.4.4
Router(config)# ip name-server 2404:1A8:7F01:A::3 2404:1A8:7F01:B::3
Router(config)# ip name-server 2001:4860:4860::8888 2001:4860:4860::8844


・IPアドレスの設定(LAN側)

まずVLANの状況を確認します。

Router# show vlan-switch

↓アウトプット

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Gi0, Gi1, Gi2, Gi3, Gi4, Gi5
                                                Gi6, Gi7
10   VLAN0010                         active
20   VLAN0020                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        1002   1003
10   enet  100010     1500  -      -      -        -    -        0      0
20   enet  100020     1500  -      -      -        -    -        0      0
1002 fddi  101002     1500  -      -      -        -    -        1      1003
1003 tr    101003     1500  1005   0      -        -    srb      1      1002
1004 fdnet 101004     1500  -      -      1        ibm  -        0      0
1005 trnet 101005     1500  -      -      1        ibm  -        0      0

VLAN2をGi 0とします。VLAN1はGi1-7です。

Router# conf t
Router(config)# vlan 2
Router(config-vlan)# exit

Router(config)# int Gi 0
Router(config-if)# switchport mode access
Router(config-if)# switchport access vlan 2
Router(config-if)# exit

Router(config)# int range gi 1 - 7
Router(config-if-range)# swit mode acc
Router(config-if-range)# swit acc vlan 1
Router(config-if-range)# end

VLANの状態を確認します(図10)。

図10.スイッチVLAN状態の確認

VLAN2(ルータ)にはグローバルIPアドレス103.202.216.69/30を割り当てます。

Router# conf t
Router(config)# int vlan 2
Router(config-if)# ip address 103.202.216.69 255.255.255.252
Router(config-if)# exit

IPアドレス設定で “bad mask /30 for address” と出てしまった場合は有効なサブネットマスクを適用し直します。図11参考。

図11./30のサブネットマスク(サブネットマスクは九九でわかる? -失敗から学ぶ CCNA – より引用)


DHCPの設定(LAN側)

192.168.102.2-192.168.102.30をDHCPで配布するアドレスから除外します。DHCPプールの名前は適当に”sales”とでもします。

Router(config)# service dhcp
Router(config)# ip dhcp excluded-address 192.168.102.2 192.168.102.30
Router(config)# ip dhcp pool sales
Router(dhcp-config)# network 192.168.102.0 255.255.255.0
Router(dhcp-config)# dns-server 8.8.8.8 8.8.4.4
Router(dhcp-config)# default-router 192.168.102.1
Router(dhcp-config)# lease 0 2
Router(dhcp-config)# exit


NATの設定(WAN⇔LAN)

VLAN3グループに対してNAT(PAT)を適用します。最後のDNSサーバの設定が必要かは分かりません(要らないかもしれません)。

Router(config)# access-list 1 permit 192.168.102.0 0.0.0.255
Router(config)# ip nat inside source list 1 int tu 0 overload
Router(config)# int tu 0
Router(config-if)# ip nat outside
Router(config-if)# exit
Router(config)# int vlan3
Router(config-if)# ip nat inside
Router(config-if)# exit

Router(config)# ip dns server

これでLAN側に繋いだPCからでもインターネットへの接続が確認できるはず……


・パケットキャプチャ

参考:
ITBOOK|EPC (Embedded Packet Capture)

・IOSアップデート

参考:
ワイズリマインダー|Cisco 841M J ルータのIOSをアップデートしてみた
雑録的ノート|CiscoのIOSバージョンアップにはUSBメモリを使おう


作成者: rarafy

2013年くらいからUnityを触っているかもしれません。 特に書くこともありませんが、趣味は部屋の掃除です。

1件のコメント

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です