Ciscoルータを800円で手に入れたので自宅に導入してみた

　どうも sawada です。
　今回はネットサーフィン中に見つけた Cisco のルータを 800 円で手に入れることができたので、導入までの設定をナレッジ代わりに書いていこうと思います。
　購入したのはサービス統合型ルータ Cisco 892J-K9 V01(以下 892J)です。

##用意するもの
　今回は以下のものを用意しました。
　　・購入した 892J
　　・コンソールケーブル
　　・LAN ケーブル（ONU や サーバに接続するために必要な本数）
　　・無線ルータ（アクセスポイントにします）

　これといって特別なものはないですね。基本的なものだけです。

##概要
　自宅には 892J のほかに Cisco のスイッチが一台あるのですが、自宅ラボを作成中ということもあり、接続する機器数的にも 892J が持つポート数で足りるので、今回は 892J だけを使用します。

　まずは簡単なトポロジ図を考えてみました。

　ONU --- 892J --- Minecraft サーバ
　　　　　　　　|
　　　　　　　　　--- アクセスポイント
　　　　　　　　|
　　　　　　　　　--- iMAC
　　　　　　　　|
　　　　　　　　　--- Windows機
　　　　　　　　|
　　　　　　　　　--- 自作ESXi環境

　とまあこんな感じに・・・。

　基本的な ACL を設定したり、Minecraftサーバ用にポートを開けたりなんかしていきます。

　そのうち何台かタワーサーバを購入してサーバ専用エリアを作る予定です。その時に眠っているスイッチに活躍してもらいましょう。

　あ、あとセキュリティに関してもいろいろ要件等は考えていますが、そこは割愛させてもらいます。


##設定
　さて、では早速設定をしていきたいと思います。

####【DHCP の設定】
　DHCPを設定していく前に、使用するIPの範囲などを決めていきます。

　　・192.168.10.0/24の範囲のIPアドレスを使用
　　・DNSサーバ、デフォルトゲートウェイは892J 自体で使用する予定の 192.168.10.254 を使用。
　　・使用しない範囲のアドレスは配布IPから除外するように指定。
　　・リース期間は31日間に設定

　以下、実際に設定した内容です。

```:DHCP設定
(config)#service dhcp
(config)#ip dhcp excluded-address 192.168.10.25 192.168.10.254
(config)#ip dhcp pool dhcp-pool
(dhcp-config)#network 192.168.10.0 255.255.255.0
(dhcp-config)#default-router 192.168.10.254
(dhcp-config)#dns-server 192.168.10.254
(dhcp-config)#lease 31
```

####【NAT の設定】

```
(config)ip nat inside source list 100 interface Dialer1 overload
(config)ip nat inside source static tcp (サーバ側のローカルIP) 25565 interface Dialer1 25565
```
　上記では、アクセスリストに記載のある通信にはDialer1を使用し PPPoE 通信を開始するように設定。
また、今回は外部から minecraft サーバにアクセスできるようにするために 22565 ポートをあけておきます。(セキュリティ的に気になるのでそのうちポートを変えるかも)

####【WAN 側の設定】
　WAN 側の設定をしていきますが、その前に CBAC や ACL の設定は済ませておいたほうがスムーズに設定できるかとおもいます。

　ここでは、すでに ACL 等の設定を終えているものとして設定を行っていきますのでご了承ください。

　まずは、Dialer インターフェースの設定をします

　Dialer は PPPoE を実現させるために必要なインターフェースです。

　Cisco ルータに搭載されているポートは Ethernet ポートなのですが、Ethernet ポートはマルチアクセスで動作するので、PPP が動作しません。なので、Dialer インターフェースを作成し、このインターフェースの中に必要な設定をしたあとに Ethernet ポートに関連付けることで、 PPPoE として動作させることが可能になります。

```:Dialerインターフェースの設定
(config)#int dialer 1
(config-if)#ip address negotiated
(config-if)#dialer pool 1
(config-if)#dialer-group 1
(config-if)#encapsulation ppp
(config-if)#ppp authentication chap callin
(config-if)#ppp chap hostname （プロバイダのID）
(config-if)#ppp chap password （プロバイダのパスワード）
(config-if)#ip mtu 1454
(config-if)#ip nat outside
(config-if)#ip inspect CBAC out
(config-if)#ppp ipcp dns request accept
(config-if)#ppp ipcp route default
(config-if)#ip tcp adjust-mss 1414
```

　Dialer インターフェースの設定が完了したら、ONU と接続する WAN 側インターフェースに関連付け等の設定を行っていきます。

```:WAN側インターフェースの設定
(config)#int Gi0
(config-if)#no shutdown
(config-if)#pppoe enable
(config-if)#pppoe-client dial-pool-number1
```

おっと、忘れていけないのが Vlan の設定です。
これを設定してないとほかのポートからの通信ができなくなってしまいます。

```:Vlan設定
(config)#int vlan1
(config-if)#ip address 192.168.10.254 255.255.255.0
(config-if)#ip nat inside
(config-if)#no shutdown
```

さて、これで大体の設定が終わりましたので、外部への通信が可能になりました。

##まとめ
　久々に Cisco 機器の設定を行いましたが、やっぱり触っていないと忘れてしまいますね・・・。今回はいい復習になりました。
　
　今回購入したルータは WAN 側のルーテッドポートは 1Gbps なのですが、そのほかのスイッチングポートは 100Mbps で動作しているので、ちょっと通信が遅いのが残念です。（中古だからってのもあるのかな・・）
　やはり全体的に 1Gbps で通信させたいので、841M-4X あたりでも安く手に入ったらそれをエッジとして利用していきたいですね。

　この記事が今後 Cisco 機器を自宅に導入してみたい方たちの参考になってくれればうれしく思います。
　また、こういう設定もしたほうがいいんじゃない？などのご意見や、不明点などがあればお気軽にコメント頂ければ幸いです。