Cisco 892jでブロードバンドルーターを構築して自分でダメ出ししてみた(PPPoE接続)①

自宅のインターネット契約を切り替えた。
すると今まで使っていた自宅のONU兼ルーターが、契約の切り替わりに伴いルーター機能が無効になってしまった。

これは大変。

我が家には、余っているブロードバンドルーターがありません。そのため、今のまま放置するとインターネットに接続できなくなってしまう。
というわけで昔4500円で購入し、その後放置してきたCiscoの892J様をブロードバンドルーターとして構築してみることにした。

自宅の環境

切り替え前の環境は以下の通り。

どこのご家庭にもあるインターネット環境ですね。

切り替え後は以下の通り。

ONUーHUB間にブロードバンドルーター兼NAT箱として892が収まる。

というわけでちゃちゃっと構築してみた。

構築時コンフィグ

コンフィグは以下の通り。

インターネットでよそ様のコンフィグかき集めてガッチャン&張り合わせて構築した。

しかしながらどこの設定をどう拝借したのか失念してしまった。。。

参考情報をお伝え出来ずに申し訳ない。。。。


Current configuration : 3307 bytes
!
! Last configuration change at 09:31:29 JST Sat Oct 9 2021 by #####
!
version 15.1
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
service password-encryption
!
hostname b-router
!
boot-start-marker
boot-end-marker
!
!
logging buffered 512000
enable secret 5 #####
!
no aaa new-model
!
clock timezone JST 9 0
clock calendar-valid
crypto pki token default removal timeout 0
!
!
no ip source-route
!
!
!
!
ip dhcp pool LAN
   network 192.168.1.0 255.255.255.0
   dns-server 192.168.1.1
   default-router 192.168.1.1
   domain-name test.local
!
!
ip cef
ip name-server 8.8.8.8
ip inspect name INSPECT tcp
ip inspect name INSPECT udp
ip inspect name INSPECT ftp
no ipv6 cef
!
multilink bundle-name authenticated
license udi pid CISCO892-K9 sn #####
!
!
username hoge privilege 15 secret 5 #####
!
!
!
!
ip ssh logging events
ip ssh version 2
!
!
!
!
!
!
!
interface BRI0
 no ip address
 encapsulation hdlc
 shutdown
 isdn termination multidrop
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface FastEthernet4
!
interface FastEthernet5
!
interface FastEthernet6
!
interface FastEthernet7
!
interface FastEthernet8
 no ip address
 duplex auto
 speed auto
!
interface GigabitEthernet0
 no ip address
 ip access-group 101 in
 duplex auto
 speed auto
 pppoe-client dial-pool-number 1
!
interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly in
 ip tcp adjust-mss 1414
!
interface Dialer0
 no ip address
 no cdp enable
!
interface Dialer1
 mtu 1454
 ip address negotiated
 ip access-group 101 in
 no ip unreachables
 ip nat outside
 ip inspect INSPECT out
 ip virtual-reassembly in
 encapsulation ppp
 dialer pool 1
 dialer idle-timeout 0
 dialer persistent
 dialer-group 1
 ppp authentication chap callin
 ppp chap hostname #####@#####
 ppp chap password 7 #####
 ppp ipcp dns request accept
 ppp ipcp route default
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
ip dns server
ip nat inside source list LAN interface Dialer1 overload
!
ip access-list extended LAN
 permit ip 192.168.10.0 0.0.0.255 any
 permit ip 192.168.1.0 0.0.0.255 any
!
logging esm config
access-list 101 permit udp host 210.173.160.27 eq ntp any
access-list 101 permit udp host 210.173.160.57 eq ntp any
access-list 101 permit icmp any any
access-list 101 permit gre any any
access-list 101 deny   ip any any
dialer-list 1 protocol ip permit
no cdp run

!
!
!
!
!
!
control-plane
!
!
line con 0
 exec-timeout 0 0
 password 7 #####
 logging synchronous
 login
 exec prompt timestamp
 transport preferred none
line aux 0
 exec-timeout 0 0
 password 7 #####
 logging synchronous
 login
 exec prompt timestamp
 transport preferred none
line vty 0 4
 password 7 #####
 logging synchronous
 login local
 exec prompt timestamp
 transport preferred none
 transport input ssh
line vty 5 8
 password 7 #####
 login
 transport input telnet
line vty 9 15
 login local
 transport input ssh
!
ntp update-calendar
ntp server 210.173.160.27 prefer
ntp server 210.173.160.57 prefer version 3
end

特徴

適当に作成しているところ。ダメなところも含め淡々と説明。

SSH/TELNETどちらもログイン可能なところ

外部からの接続は拒否しているものの、ローカルからはSSH/TELNETどちらでも接続可能。あかんやん。

とはいえTELNETの動作確認したいから、あえて以下の設定で運用。

まあ、グローバルIP付与されていているのに、23番ポートだけ開放しておる企業のネットワーク機器も星の数ほどあるはずだぜ★。知らんけど。

以下の設定をnoしたらtelnet無効になるのかねえ。

line vty 5 8
 password 7 #####
 login
 transport input telnet

中→外への通信は名前付き拡張ACLなのに外→中への通信は拡張ACLである

仕様なのかバグなのか特定はできなかったけれど、外→中への通信は名前付きACLが利用できなかった。

動作に問題はないけれど、設計がぐだぐだな感じがしてちょっと嫌だ。

中→外のACL LAN

とりあえず、ローカルセグメント2つだけ許可している。家庭ネットワークの生活感?が滲み出ている。

自分ちの冷蔵庫を公開しているような恥ずかしさがすごい。

ip access-list extended LAN
 permit ip 192.168.10.0 0.0.0.255 any
 permit ip 192.168.1.0 0.0.0.255 any

汎用性を考えるなら10.0.0.0/8や172.16.0.0/16を加えて、192.168.0.0/16も許可するべきですな。

知らんけど。

ip access-list extended LAN
 permit ip 192.168.0.0 0.0.255.255 any
 permit ip 172.16.0.0 0.0.255.255 any
 permit ip 10.0.0.0 0.255.255.255 any

外→中のACL 101

NTPサーバーとGRE(VPN)とICMPを許可し、他は全拒否。

GRE許可しなかったら、外部のVPNに接続できなかったため渋々設定。

本当はWANとかニャンとかそんな名前を付けたかった。

access-list 101 permit udp host 210.173.160.27 eq ntp any
access-list 101 permit udp host 210.173.160.57 eq ntp any
access-list 101 permit icmp any any
access-list 101 permit gre any any
access-list 101 deny   ip any any
dialer-list 1 protocol ip permit

CBAC ( Context-Based Access Control )を使いこなせていない

Cisco独自のステートフルインスペクションらしいけど、よそからいただいてきたままの設定。

GREとかここで設定した方が美しいし管理も容易な気がする。 GRE設定できなかった。なんか使いにくい。。。

ip inspect name INSPECT tcp
ip inspect name INSPECT udp
ip inspect name INSPECT ftp

あと以下の設定を入れてログも出した方がいい気がする。

ip inspect log drop-pkt
ip inspect audit-trail

参考URL:

2 Ciscoルーターをブロードバンドルーターとして使う  Firewall (ACL) Reflexive ACL CBACの設定 | REDBOX Labo
前回の記事 「1 Ciscoルーターをブロードバンドルーターとして使う PPPOE NATの設定など」

MTUはDialer1で設定されているのにMSSだけVLAN1で設定されている

MTUを含むインターネット接続関連の設定はdialer1で設定されているが、MSS(最大セグメントサイズ)の設定だけ離れ小島のVLAN1で設定されている。

直した方が美しいのだろうけど、今動いているからいいか、という精神で放置。

MSSの値が1414でええのかどうかも疑問。自分はMSS=MTU-20と習った気がするのだが、ここも 今動いているからいいか、という精神でスルー。

MSSはMTU(現在1454)からマイナス40以下が適切とされているため1414で問題なし。

NTT|フレッツ光ネクスト[よくある質問]
NTT|フレッツ光ネクスト(Bフレッツ・フレッツ光プレミアム)、ひかり電話、フレッツADSL、フレッツISDNに関する総合サイト。フレッツ光(Bフレッツ・光プレミアム)はNTTが提供するインターネット定額接続サービスです。

現在の設定

interface Vlan1
 ip address 192.168.1.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly in
 ip tcp adjust-mss 1414
end

本来あるべき設定?

interface Dialer1
 mtu 1454
 ip tcp adjust-mss 1414
 ip address negotiated
 ip access-group 101 in
 no ip unreachables
 ip nat outside
 ip inspect INSPECT out
 ip virtual-reassembly in
 encapsulation ppp
 dialer pool 1
 dialer idle-timeout 0
 dialer persistent
 dialer-group 1
 ppp authentication chap callin
 ppp chap hostname #####@#####
 ppp chap password 7 #####
 ppp ipcp dns request accept
 ppp ipcp route default
end

MSSの参考URL

最大セグメントサイズとは - IT用語辞典
最大セグメントサイズ【MSS】とは、インターネットで標準的に用いられるプロトコル(通信規約)であるTCPで通信する際に指定する、一度にデータを受信できる単位(セグメント)の最大長。IPネットワーク上でよく用いられるトランスポート層のプロトコ...

DHCPの設定が不十分

除外するリストの記載なし。やる気ゼロ。

IP重複してリースしてしまったらどんな楽しいことが起こるのでしょうか。

というか、間違って自分のIPアドレスをリースしてしまわないのだろうか。

ip dhcp pool LAN
   network 192.168.1.0 255.255.255.0
   dns-server 192.168.1.1
   default-router 192.168.1.1
   domain-name test.local

除外設定は以下で可能。

ip dhcp excluded-address {ip-address} {last-ip-address}

具体的には以下を入れると192.168.0.1~192.168.0.100までがリース対象外になる

ip dhcp excluded-address 192.168.0.1 192.168.0.100

こちらの参考URL

DHCPサーバ - Ciscoコンフィグ設定
DHCPサーバ - Ciscoコンフィグ設定。

まとめ

色々あったけれど、仕事しておらず、暇していた892Jさんで色々できて勉強になりました。

やはし自宅の環境で色々と作ると勉強になりますなあ。

改めてきれいなコンフィグ作成しなおそうと思った。続きは以下のURLで実施。

Cisco 892jでブロードバンドルーターを構築して自分でダメ出ししてみた(PPPoE接続)②
Cisco 892jでブロードバンドルーターを構築して自分でダメ出ししてみた(PPPoE接続)②

コメント

タイトルとURLをコピーしました