nuro光環境でCisco891ルータを使ったネットワーク構築(L2L3)

2019年10月29日

最近ネットワーク構築に興味が沸き、気付けばネットワーク機器がスペースを占領し始めました。

占領された机(下から順にりん、ねねっち、ひふみん)

自身のネットワークに関する状態とネットワーク環境

・自身のネットワーク構築に関する経験やら知識やら
・知識としてネットワークに関する基礎的な知識はある状態(多分基本/応用情報くらい)
・ちょこっとだけvyOSやCiscoIOSを触ったことがある状態
・クラウド環境でWebサービスをいくつか作ったことがあるくらい

環境
・WANはnuro光(v4, v6)と物件にデフォで引かれていたJCOM(v4)
・nuroはONUとルータが一体になっている

最終的にはこんな感じの構成になっています

全体の簡単なトポロジ図

各端末情報

Aoba: HG-8045Q (nuro契約したら貰えたONU兼ブロードバンドルータ) 通称: ぞい
nene: Cisco891FJ (LANの諸々を管理する用) 通称: ねねっち
Hihumin: Cisco Meraki MR33 (WiFi ルータ) 通称: ひふみん
Rin: HP DL360 Gen9 (メインのサーバ) 通称: りん
pi-1: Raspberry 3B+ (リモートで触ってる時にnene以下のネットワークに何かあった時用) 通称: パイ

WAN

今回はおうちに2回線きているという事で速い方(nuro)をメイン回線として、JCOMをバックアップ回線としました。

有線LAN

コアルータとして使っているCisco 891FJ(ねねっち)

nuro回線で今うちにきているONUはルータ機能もくっついていて非常に便利なんですが、ネットワークをもうちょっと自分で設定したくなった時に困ります。

どういう時に困るのかというと今回みたいに自分のルータをブロードバンドルータとして使いたいと思った時にPPPoEパススルーや、NATせずにトラフィックを下に流す。
といったような設定が出来ないので2重NAT、いわゆる2重ルータ状態になっています。(うまいこと設定できるよって場合は教えてもらえると嬉しいです。)

また、今回はフローティングスタティックルートを使った2回線構成にしています。
NAT周りのコンフィグは以下の通りです。
JCOMの方のモデムは機器名とか設定方法とか色々調べるのもめんどくさくてとりあえずDHCPでIPもらってきています。

ip nat inside source route-map NAT-Jcom interface FastEthernet0 overload
ip nat inside source route-map NAT-Nuro interface GigabitEthernet8 overload
ip route 0.0.0.0 0.0.0.0 192.168.0.1 track 10
ip route 8.8.8.8 255.255.255.255 192.168.0.1
ip route 0.0.0.0 0.0.0.0 dhcp 200
!
ip sla 1 icmp-echo 8.8.8.8source-interface GigabitEthernet8
frequency 5
ip sla schedule 1 life forever start-time now
!
route-map NAT-Nuro permit 10
match ip address 199
match interface GigabitEthernet8
!
route-map NAT-Jcom permit 10
match ip address 199
match interface FastEthernet0
!
access-list 199 permit ip 10.0.0.0 0.0.255.255 any

配線はJCOMはFastEther0(以下Fe0)にNUROはGigabitEther8(以下Ge8)にRJ45でつないでいます。
今回は定期的にGe8で外(8.8.8.8)に疎通が取れるかチェックをし、取れなくなった場合にGe8がルーティングテーブルから消えるようになっています。
track の情報は以下のようになっています

nene#show track
Track 10
IP SLA 1 reachability
Reachability is Up
20 changes, last change 02:10:52
Latest operation return code: OK
Latest RTT (millisecs) 3
Tracked by:
Static IP Routing 0

あとはメインのサーバ(10.0.1.1)に向けてよく使いそうな80番、443番、3000番のポートだけフォワーディングしています

ip nat inside source static tcp 10.0.1.1 80 interface GigabitEthernet8 80
ip nat inside source static tcp 10.0.1.1 443 interface GigabitEthernet8 443
ip nat inside source static tcp 10.0.1.1 3000 interface GigabitEthernet8 3000

このメインのサーバではESXiを動かしているのですが、その中の話はまた後日書いていきます。

無線LAN

Cisco Merakiシリーズ MR33(ひふみん)

無線LANのAPはCiscoのMerakiシリーズのMR33を使用しています。
Merakiは結線した後はWebから見られるコンソールから色々設定することになります。

管理もネットワーク経由で出来てとても便利なんですが、コンフィグの反映もネットワーク経由なので地味に色々厄介な事もあります。(APが外との疎通が無いとAPのステータスやら諸々が取得出来なかったりも)

今回はAPに10.0.2.0/24と10.0.3.0/24を割り振って個人用とゲスト用とでネットワークを分けています。
また、ゲスト用のセグメントからはWANにそのまま出る事しか出来ないようにしてあります。

access-list 100 permit udp any any eq bootps
access-list 100 permit udp any any eq bootpc
access-list 100 permit ip 10.0.2.0 0.0.0.255 any
access-list 100 deny ip 10.0.3.0 0.0.0.255 10.0.0.0 0.255.255.255
access-list 100 permit ip 10.0.3.0 0.0.0.255 any

上のルールでは単純にdenyでLANへのトラフィックを弾くと、DHCPでIPも振れなくなってしまうというトラップがあり、DHCP関係のトラフィックは許可するルールを最初に書いています。

とりあえずこのような設定で現在ネットワークを動かしています。
まだ、v6の対応が出来ていないので近いうちに対応したいと思います。