Ciscoルータをブロードバンドルータとして使う機会があったので備忘録的な感じで残していこうと思う。
最近引っ越しをし、さらにルータも新しくCisco機器を導入したのでインターネットを使えるように設定してみた。上の画像の白い奴がVDSLモデム。リユース品。白い奴の下の機器がCisco 2911。
構成
自宅NW構成は下の画像のような感じ。ルーティングプロトコルは全てのNW機器で動かしており、EIGRPをAS番号1で設定している。(もっと詳細なNW構成図があるのだが諸事情で晒せない…)
今回はこの構成に基づいて設定を投入していく。
DMZエリアには外部へ問い合わせを行うDNSサーバやNTPサーバ、インターネットへ公開しているwebサーバなどがある。
設定をしていく機器は以下の通り。(まぁモデムは線つなげるだけ)
■ルータ
機器名 : Cisco 2911
OSバージョン : 15.7(3)M。
■モデム
機器名 : VH-100「4」E「N」
OSバージョン : ?(FWすらわからん…)
また以下のIPアドレスを使用する。
Cisco 2911 GigabitEthernet0/0(LAN側) : 192.168.2.1/30
Cisco ASA5520 Outside(2911のneighbor) : 192.168.2.2/30
設定
1.まずは初期設定をしていく。機器のホスト名やSSH接続する為に必須な設定を入れる。
「permit-ssh」のアクセスリストでログインを許可するホストのIPアドレスを入力する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
!ホスト名の設定とユーザの作成 hostname ■任意のホスト名■ enable password ■ログインパスワード■ username ■ユーザ名■ privilege 15 password ■ユーザパスワード■ ! ! !SSH接続できるホストを制限する設定 ip access-list standard permit-ssh permit ■IPアドレス■ exit ! ! !VTY接続でSSHのみログイン許可し、アクセスリストを適用 line vty 0 4 access-class permit-ssh in login local transport input ssh transport output none line vty 5 15 access-class permit-ssh in login local transport input ssh transport output none ! ! |
2.NTPの設定やDNSの設定を投入する。また、Ciscoルータはデフォルトでhttpサーバが動作しているが、使わない上に結構リソースを消費する為無効化しておく。
1 2 3 4 5 6 7 8 9 |
!DNS,NTPの設定 ntp server ■NTPサーバのIP■ ip name-server ■DNSサーバのIP■ ip domain-name ■ドメイン名■ ! ! !httpサーバを無効化 no ip http server no ip http secure-server |
3.インターフェースの設定を投入する。ここでは「GigabitEthernet0/0」がLAN側、「GigabitEthernet0/0/0」がWAN側で設定する。
「ip tcp adjust-mss 1414」でTCPセグメントの最大受信サイズを指定している。これはフレッツ光でのMTUは1454バイトあり、MSSがMTU-40以下のサイズでなければパケットの分割が発生してしまい、通信が正常に行えない機器がでてくる為。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
!LAN側インターフェースの設定 int g0/0 ip address 192.168.2.1 255.255.255.252 ! !TCPセグメントの最大サイズを指定(MSS) ip tcp adjust-mss 1414 ! !NAPTのインサイド側として指定 ip nat inside no shutdown exit ! ! !WAN側インターフェースの設定(PPPoEを有効化する) int GigabitEthernet0/0/0 pppoe enable pppoe-client dial-pool-number 1 ! !ここではIPアドレスは設定しない no ip address no shutdown exit ! ! |
4.Dialerインターフェースという論理インターフェースを作成しPPPoE接続する為のユーザ名やパスワードを入力する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
interface dialer1 ! !固定IPアドレスの場合はそのアドレスを設定する ip address [ negotiated | ■固定IPアドレス■ ] ! !フレッツ光のMTUが1454 mtu 1454 encapsulation ppp dialer pool 1 dialer-group 1 ppp authentication chap callin ppp chap hostname ■接続ユーザ名■ ppp chap password ■パスワード■ ! !NAPTのアウトサイド側として設定 ip nat outside exit |
5.interestingパケットの設定とデフォルトルートの設定をする。
interestingパケットとは発呼パケットとも呼ばれ、このパケットを受信すると回線接続を開始する。
1 2 3 4 5 6 |
!全てのIPトラフィックをinteresting(発呼)パケットとする設定 dialer-list 1 protocol ip permit ! !デフォルトルートの設定 ip route 0.0.0.0 0.0.0.0 dialer1 ! |
6.NAPT(CiscoではPATとも)の設定を行う。「access-list 1」で指定するネットワークアドレスは基本的に内部からインターネットへ通信を行いたいホストの存在するネットワークのネットワークアドレスを指定する。
「ip nat ~」の最後に「overload」を付けないとNAPTではなくNATになってしまうので注意すること。
さらに外部にwebサーバなどをインターネットに公開する場合は、静的NATの設定が必要になる。
1 2 3 4 5 6 7 8 9 10 |
access-list 1 permit 192.168.1.0 0.0.0.255 access-list 1 permit 192.168.3.0 0.0.0.255 access-list 1 permit 192.168.5.0 0.0.0.255 access-list 1 permit 192.168.6.0 0.0.0.255 access-list 1 permit 10.8.0.0 0.0.0.255 ip nat inside source list 1 interface dialer 1 overload ! !DMZでサーバを公開している場合は静的NATの設定が必要になる !(■webサーバのプライベートIP■:80 <--> Dialer1に割り当てられているIP:80) ip nat inside source static tcp ■webサーバのプライベートIP■ 80 interface Dialer 1 80 |
7.ルーティングプロトコルを有効化する。隣接する機器のinterface以外のinterfaceでpassive interfaceを設定する。また、「neighbor」コマンドで隣接機器のIPと送信元interfaceを指定することによって、
そのinterfaceから発信するEIGRPパケットはマルチキャストではなくユニキャストで送受信するようになるので、ACLでパケットを制御することができる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
router eigrp 1 !LAN側のnetworkアドレスをEIGRPに参加させるnetworkを指定 network 192.168.2.0 0.0.0.3 ! !全てのinterfaceでpassive-interfaceを設定 passive-interface default ! !「GigabitEthernet0/0」はpassive-interfaceを設定無効化する no passive-interface GigabitEthernet0/0 ! !neighborを静的に指定 neighbor 192.168.2.2 GigabitEthernet0/0 ! !デフォルトルートを配布する redistribute static exit ! |
8.オブジェクトを作製する。自分のNW内にはNTPサーバが構築されており、外部のNTPサーバ(ntp.nict.jp)と同期しているのだが、NTPサーバは複数存在する為オブジェクトとしてまとめておく。
1 2 3 4 5 6 7 |
object network allow_ntpserver host 133.243.238.244 host 133.243.238.164 host 133.243.238.243 host 133.243.238.163 exit ! |
9.ACLの設定を行う。今回は「再帰ACL」というものを使用していく(ほんとはCBACが使いたかった…)
再帰ACLとは、パケットのセッション情報を基に戻りの通信に対して、許可ACLを動的に作成してくれるACL。
まずは、LAN側から発信されるパケットの許可設定を入力する。ACLの最後に「reflect name」を付けると再帰ACLとなる。
また、「evaluate name」を設定されたACLに戻り通信用の許可ACLが自動的に挿入される。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
!タイムアウトまでの時間を120秒に設定(デフォルトで300秒) ip reflexive-list timeout 120 ! !LAN側から発信されるパケットに対するACL ip access-list extended recursion-acl-back ! !「permit-dmzservers」の再帰ACLで許可された通信の、戻りの許可ACLが自動で入る evaluate permit-dmzservers ! !「permit-acl」の再帰ACL !このNWではwebサイトを閲覧する時にプロキシを使っているのでプロキシのIPを指定する !もしプロキシを使用していない場合はweb閲覧を許可したいネットワークのアドレスを指定する permit tcp host ■squidのIPアドレス■ any eq 80 reflect permit-acl permit tcp host ■squidのIPアドレス■ any eq 443 reflect permit-acl ! !このNWではDNSサーバが構築されているのでDNSサーバを指定する !ルータをDNSサーバ替わりに使用している場合はルータのIPアドレスを入力する permit udp host ■DNSのIPアドレス■ any eq 53 reflect permit-acl permit tcp host ■DNSのIPアドレス■ any eq 53 reflect permit-acl ! !このNWではNTPサーバが構築されているのでNTPサーバのIPアドレスを指定する !(NTPは送信元ポート番号と送信先のポート番号が123で一緒) !構築されていない場合は別になくてもOK !(もしくは時刻同期をしたいクライアントのIPアドレスを指定する) permit tcp host ■NTPのIPアドレス■ eq 123 object allow_ntpserver eq 123 reflect permit-acl permit udp host ■DNSのIPアドレス■ eq 123 object allow_ntpserver eq 123 reflect permit-acl ! !内部からpingを許可 permit icmp any any ! !ルータをzabbixなどで監視する用のACL permit udp host ■SNMPサーバのIPアドレス■ host 192.168.2.1 eq 161 ! !このNWではEIGRPを使用しているので許可する必要がある permit eigrp host 192.168.2.2 host 192.168.2.1 ! !拒否された通信はログに残すように設定 deny ip any any log exit ! |
10.WAN側から発信されるパケットに対するACLを設定する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
!WAL側から発信されるパケットに対するACL ip access-list extended recursion-acl ! !「permit-acl」の再帰ACLで許可された通信の、戻りの許可ACLが自動で入る evaluate permit-acl ! !外部からLAN側webサーバへの通信許可設定 permit tcp any host ■webのIPアドレス■ eq 80 reflect permit-dmzservers ! !pingのリプライの許可設定 permit icmp any any ! !このNWではEIGRPを使用しているので許可する必要がある permit eigrp host 192.168.2.1 host 192.168.2.2 ! !拒否された通信はログに残すように設定 deny ip any any log exit ! |
11.interfaceにACLを適用するしてすべての設定は完了。
1 2 3 4 5 |
interface GigabitEthernet0/0 ip access-group recursion-acl out ip access-group recursion-acl-back in exit ! |
12.最後にルータをzabbixなどの監視サーバでSNMPを用いて監視している場合は以下の設定が必要になる。
1 2 3 4 5 |
snmp-server community public RO snmp-server community public_write RO snmp-server trap-source GigabitEthernet0/0 snmp-server host ■SNMPサーバのIPアドレス■ version 2c public snmp-server enable traps |
あとは内部のホストとかがインターネットでwebサイトとかを閲覧できてればOK。
今の所は「ネットがめっちゃ遅い!」みたいなことはないけど、どうなんだろ。。。
以上、回線開通後初記事でした。
wonderful put up, very informative. I’m wondering why the opposite experts of this sector do not understand this. You must continue your writing. I’m confident, you have a huge readers’ base already!