😽

Cisco ISR 891FJ セットアップ

2022/09/08に公開

Ciscoの891FJを10,980円で入手しました
なのでセットアップのメモを残しておきます

891FJとは

Ciscoはスイッチやルーターをはじめとしたネットワーク機器を幅広く扱っている会社です
ルーターひとつとっても多くの製品があります
891FJは多く存在するルーター製品の中でもISR(サービス統合ルータ)と呼ばれる製品群のうちの一つです
サービス統合というだけあって純粋なルータ機能以外にもセキュリティ機能があったり製品によってはWifiルータとして使えたりもします
正直ここらへんは製品が多くてきちんとした説明はできません
今回セットアップする891FJはどういうわけかわからないですがそれなりに性能がありながら1万円くらいで入手できるコスパのいい製品です
インターネット上に情報も多いので人気の機種なんだと思います
たぶん

セットアップの前に:PPPoE

セットアップする前にPPPoEについて簡単に説明します
世間一般で使われているインターネット物理回線は基本的にNTT東西が所有しています
言い方を変えると壁に開けたインターネット用の穴にはNTT東西の回線がつながっているわけです
(もちろん例外もあります)
しかしこの回線にルータを繋げるだけではインターネットには接続できません
水道と同じように契約してお金を払わないとインターネットは使えないのです
お金をもらってインターネットを提供する会社をISP(インターネットサービスプロバイダー)と呼びます
いわゆる「プロバイダ」のことです
プロバイダは門番みたいなものでIDとパスワードを伝えないとインターネットを使わせてくれません
また、インターネットを利用する場合は基本的にプロバイダを経由しなければいけません
そのためルーターとISPの間の通信は「ISP用IDパスワード付き通信」みたいなもので行う必要があります
その「ISP用IDパスワード付き通信」を行うのがPPPoEです
(正確には違います)
このときルータの設定で気を付けなくてはいけないのはPPPoEは元々電話線で使うプロトコルを拡張して作られているということです
そのためPPPoEを使う場合はEthernetインターフェースを電話線のように使う設定を入れる必要ががあるわけです
PPPoEに使うインターフェースはダイヤラーインターフェースとよばれます
IPv6では色々と前提が異なるのですが詳細は省きます

完成図

さきに完成図を示します
セットアップ完成図
セットアップ完成図

Dialer1がダイヤラーインターフェースです
BVIはBridge Virtual Interfaceで仮想ブリッジです
今回はGigabitEthernet8(WAN側インターフェース)とVlan1(LAN側インターフェース)をブリッジで接続します
IPv4通信だけであればブリッジを使わずにNATを使うだけで通信可能です
今回はIPv6通信を行うのでWAN側とLAN側を直接接続します
「直接接続してセキュリティ的に大丈夫?」と思われるかもしれませんが、大丈夫です
そもそもNATはセキュリティを確保する機能ではありません
IPv6の思想としても直接接続する方が望ましいです
セキュリティに関してはACLを適切に設定しましょう
今回のようなIPv6の通信方式はIPv6パススルー、またはIPv6ブリッジと呼ばれます

ブリッジの作成

WAN側インターフェースGigabitEthernet8とVlan1をブリッジで接続します

router(config)#ipv6 unicast-routing
router(config)#bridge irb
router(config)#interface GigabitEthernet8
router(config-if)#bridge-group1
router(config-if)#exit
router(config)#interface Vlan1
router(config-if)#bridge-group1
router(config-if)#bridge-group 1 input-type-list 200
router(config-if)#exit
router(config)#interface BVI1
router(config-if)#ip address 192.168.1.254 255.255.255.0
router(config-if)#exit
router(config)#bridge 1 protocol ieee
router(config)#bridge 1 route ip
router(config)#access-list 200 permit 0x86DD 0x0000
router(config)#access-list 200 permit 0x0800 0x0000
router(config)#access-list 200 permit 0x0806 0x0000

bridge 1 protocol ieeeはスパニングツリープロトコルの設定です
スパニングツリープロトコルに関しての詳細は省きます
簡単に言うとループを防止してくれます
access-list 200はブリッジを流れるプロトコルに対するアクセスリストです
許可しているプロトコルはIPv4(0x0800),ARP(0x0806),IPV6(0x86DD)です

ダイヤラーインターフェースの作成

WAN側インターフェースにPPPoEが使えるダイヤラーインターフェースを設定します

router(config)#interface GigabitEthernet8
router(config-if)#no shutdown
router(config-if)#pppoe enable
router(config-if)#pppoe-client dial-pool-number 1
router(config-if)#exit
router(config)#interface Dialer1
router(config-if)#ip address negotiated
router(config-if)#dialer pool 1
router(config-if)#dialer-group 1
router(config-if)#exit
router(config)#dialer-list 1 protocol ip permit
router(config)#dialer-list 1 protocol ipv6 permit

pppoe-client dial-pool-number 1dialer pool 1で設定を紐づけています
dialer-list 1dialer-group 1に対する許可する通信のリストです
IPv4とIPv6を許可しています

ACL設定

次にACLの設定です
ACL(Access Control List)は一般的なセキュリティ機能の一つです。
インターフェースから入ってくるパケットとインターフェースから出ていくパケットに対して通信の許可をリスト形式で記述します
今回はWAN側のインターフェースから入ってくるパケットを戻りのトラフィックに限定します

出力は全て許可、入力は戻りを許可するACLを作ります

router(config)#ip access-list extended OUTBOUND
router(config-ext-nacl)#permit icmp any any
router(config-ext-nacl)#permit ip any any reflect IPREFLECT
router(config-ext-nacl)#exit
router(config)#ip access-list extended INBOUND
router(config-ext-nacl)#permit icmp any any
router(config-ext-nacl)#evaluate IPREFLECT
router(config-ext-nacl)#exit
router(config)#ipv6 access-list V6OUTBOUND
router(config-ipv6-acl)#permit icmp any any
router(config-ipv6-acl)#permit ip any any reflect V6IPREFLECT
router(config-ipv6-acl)#exit
router(config)#ipv6 access-list V6INBOUND
router(config-ipv6-acl)#permit icmp any any
router(config-ipv6-acl)#evaluate V6IPREFLECT
router(config-ipv6-acl)#exit

permit ip any any reflect IPREFLECTを出力に書くことで出ていくパケットを記録できます
evaluate IPREFLECTを入力に設定することで戻って来たパケットかどうか判断できます
ではインターフェースに設定していきます
設定するインターフェースはDialer1です

router(config)#interface Dialer1
router(config-if)#ip access-group OUTBOUND out
router(config-if)#ip access-group INBOUND in
router(config-if)#ipv6 traffic-filter V6OUTBOUND out
router(config-if)#ipv6 traffic-filter V6INBOUND in
router(config-if)#exit

LAN側は全ての通信を許可するのでACLは不要です

ルーティング設定

デフォルトルートにWAN側インターフェースを指定します

router(config)#ip route 0.0.0.0 0.0.0.0 Dialer1
router(config)#ipv6 route ::/0 Dialer1

LAN側も設定しておきます

router(config)#ip route 192.168.1.0 255.255.255.0 Vlan1

NAT設定

NATの内側と外側を設定します

router(config)#interface BVI1
router(config-if)#ip nat inside
router(config-if)#exit
router(config)#interface Dialer1
router(config-if)#ip nat outside
router(config-if)#exit
router(config)#ip nat inside source list 1 interface Dialer1 overload

ここでlist 1はACLのことです
1番のACLを作成します

router(config)#access-list 1 permit 192.168.1.0 0.0.0.255

IPv6は使えるIPが多いので基本的にNATはしません

PPPoE設定

最後にPPPoEの設定です。
まずMTUとMSSを設定します

router(config)#interface BVI1
router(config-if)#ip tcp adjust-mss 1412
router(config-if)#exit
router(config)#interface Dialer1
router(config-if)#ip mtu 1454
router(config-if)#exit

次に認証情報を設定します
契約時に貰った紙を持ってきておいてください

router(config)#interface Dialer1
router(config-if)#encapsulation ppp
router(config-if)#ppp authentication chap callin
router(config-if)#ppp chap hostname ****@****
router(config-if)#ppp chap password ********

以上です

おまけ:SSH設定

router(config)#hostname router
router(config)#ip domain-name localdomain
router(config)#crypto key generate rsa
The name for the keys will be: router.localdomain
Choose the size of the key modulus in the range of 360 to 4096 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 2048
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 2 seconds)

router(config)#ip ssh version 2
router(config)#enable secret ********
router(config)#username cisco secret ********
router(config)#line vty 0 4
router(config-line)#login local
router(config-line)#transport input ssh
router(config-line)#exit
router(config)#exit

Discussion