Cisco C841M ルータ初期設定

はじめに

「ルータ買ったみたはいいものの設定方法が分からない」
「いろんなブログの内容みてみたけどよく分からない」

実際にルータを購入してみて意外と躓いた部分が多かったので、
備忘を兼ねて Cisco ルータの初期設定についてなるべく詳細に解説していきます。

ルータに接続する

まず、設定用のPC、PCとルータ間をつなぐコンソールケーブルが必要となります。
コンソールケーブルはこれみたいに一方がUSBタイプになっているものが便利です。

今回は設定用の PC として、Macbook Pro を用いて設定を行いました。
標準のターミナルを起動して、コンソールケーブルを繋ぎます。

まず接続されているUSBデバイスを確認します。

User$ ls -l /dev/tty.*
crw-rw-rw-  1 root  wheel    9,   0  6  5 13:46 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw-  1 root  wheel    9,   2  6  6 22:04 /dev/tty.usbserial-AQ01BV8S

/dev 配下にデバイスファイル(デバイスを操作するためのファイル)が存在しています

screen コマンドを使ってシリアル接続を行います

$ screen /dev/tty.usbserial-AQ01BV8S

ルータの電源を入れてログインします。

初期ユーザ名/パスワードは両方とも cisco です。

このユーザはワンタイムユーザ(一度しか使えないユーザ)なので、ログアウトする前にかならずユーザーを作成してください。

作成する前にログアウトや再起動をするとROMMONで入ってリカバリしないといけなくなるのでかなりめんどくさいです。(私はこれをやってしまいました)

yourname(config): username ユーザ名 privilege 15 secret 0 パスワード

初期設定

必要なポートでインターフェースにIPアドレスを設定します。

C841RT(config): int gi0/5
C841RT(config-if): ip add 192.168.0.200 255.255.255.0
C841RT(config-if): no shut
C841RT(config-if): ex

デフォルトルートを設定します。

C841RT(config): ip route 0.0.0.0 0.0.0.0 <GatewayのIPアドレス>

# ルーティングテーブルの確認
C841RT(config): do sh ip route                        

# 外部に出られるかの確認
C841RT(config): do ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms

インターフェースに設定したグローバルIPを利用してルータに接続された端末が通信できるようにNAPTの設定をします。

C841RT(config):
# ACLとNAPTの設定
C841RT(config): access-list 1 permit 192.168.0.0 0.0.0.255
C841RT(config): ip nat inside source list 1 int gi0/4 overload

# このインターフェースより向こう側を内部NWと定義
C841RT(config): int gi0/5
C841RT(config-if): ip nat inside
C841RT(config-if): ex

# このインターフェースより向こう側を外部NWと定義
C841RT(config): int gi0/4 
C841RT(config-if): ip nat outside

# 期待通りNATが設定されているか確認する
C841RT(config): do sh ip nat translations 

各ポートにパスワードを設定します。

# コンソール
C841RT(config): line console 0
C841RT(config-line): password 
C841RT(config-line): login
C841RT(config-line): logging sync
C841RT(config-line): ex

# VTY
C841RT(config): line vty 0 4 
C841RT(config-line): password 
C841RT(config-line): login 
C841RT(config-line): logging sync 
C841RT(config-line): exit

# 暗号化
C841RT(config): service password-encryption

SSHの設定をします。

# ドメイン名を適当に設定
C841RT(config): ip domain-name <ドメイン名>

# ドメイン名とホスト名から暗号化用の鍵を生成する
# RSA暗号方式を利用
C841RT(config): crypto key generate rsa

# 鍵長を聞かれるので1024で
How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 0 seconds)

C841RT(config): 
*Jun  7 05:59:56.624: %SSH-5-ENABLED: SSH 1.99 has been enabled

# バージョンは2を利用する
C841RT(config): ip ssh version 2

# セキュリティを考慮してTelnetを禁止し、SSHのみに制限する
C841RT(config): line vty 0 4
C841RT(config-line): transport input ssh

さて設定が完了したので、SSHしようとしますが、、

USER$
USER$ ssh -l root <IP>
ssh: connect to host <IP> port 22: Connection refused

Refusedされます。

sh run で確認してみるとACLによる制御がかかっていることがわかりました。

line con 0
 password 7 03075218050017611F48
 logging synchronous
 login    
 no modem enable
line vty 0 4

# 以下のACLが原因でした 
 access-class 23 in
 privilege level 15
 password 7 00071A1507543D2B5E60
 logging synchronous
 login local
 transport input ssh
line vty 5 15
 access-class 23 in
 privilege level 15
 login local
 transport input telnet ssh

# ACLを確認する
C841RT: sh access-lists
Standard IP access list 23
    10 permit 10.10.10.0, wildcard bits 0.0.0.127

ACL にSSH接続を許可したいIPアドレスを定義します。
これでSSHできるようになります。

C841RT(config): 
C841RT(config): access-list 23 permit 192.168.0.0 0.0.0.255

C841RT(config): do sh access-lists
Standard IP access list 23
    10 permit 10.10.10.0, wildcard bits 0.0.0.127
    20 permit 192.168.0.0, wildcard bits 0.0.0.255

不要なサービスを無効化します。

C841RT(config): 
C841RT(config): no cdp run
C841RT(config): no service pad
C841RT(config): no service tcp-small-servers
C841RT(config): no service udp-small-servers
C841RT(config): no ip http server
C841RT(config): no ip http secure-server
C841RT(config): no ip bootp server

セキュリティの観点からインターネット接続側のインターフェースに拡張ACLを定義して適用します。

C841RT(config): 
C841RT(config): ip access-list extended anti-spoof

# プライベートアドレスからの通信をドロップ
C841RT(config-ext-nacl): deny ip 10.0.0.0 0.255.255.255 any
C841RT(config-ext-nacl): deny ip 172.16.0.0 0.15.255.255 any
C841RT(config-ext-nacl): deny ip 192.168.0.0 0.0.255.255 any

# マルチキャストアドレスからの通信をドロップ
C841RT(config-ext-nacl): deny ip 224.0.0.0 31.255.255.255 any

# ループバックアドレスからの通信をドロップ
C841RT(config-ext-nacl): deny ip 127.0.0.0 0.255.255.255 any

# マイクロソフト Windows で予約されているループバックアドレス
C841RT(config-ext-nacl): deny ip 169.254.0.0 0.0.255.255 any

# その他はpermit
C841RT(config-ext-nacl): permit ip any any

# 適用
C841RT(config): int gi0/4
C841RT(config-if): ip access-group anti-spoof in

最後に設定を保存します。

C841RT: copy run start
Destination filename [startup-config]?

この記事の内容は以上です。ご覧いただきありがとうございました。