ルータといえば、Cisco と言われるほど Ciscoはルータの デファクト スタンダードになっている。(最近はそうでもないって? そうねぇ、仕事場の新しいルータは CentreCOMだったりもするしね)
以下は 基本的に Cisco2500 の設定である。(ほとんどの場合、Cisco製の多くのルータで同様に設定可能と思われる・・4機種しかイジったことないが・・なお、Cisco IOSのバージョンは11.0以上を想定している)
Password: XXXXXXXXXXXXXXXX (No Echo Back)
なお、設定の確認のためのコマンドは、以下のとおり。
router#write terminal (略式の wr t でも可)
上流ISPによっては、シリアル(専用線)側のIPアドレスは、Unnumberedにしなきゃならない場合もある。
上記のように line vty 0 4 に対して "1"というアクセス制限をかける。"1" の内容は次のとおり。これで ルータには、XXX.YYY.ZZZ.0 (自己ネットワーク)内からのみtelnet接続可能になる。
最近ではSSHを実装したルータもあるが、telnetしか接続手段がない場合は、絶対に他ネットワークからアクセス可にしてはならない。SSHでさえも安心はできないのだ。(・・ちなみに、自ネットワークであればtelnetでOKということではない。 password /通信内容は簡単にバレバレになってしまう。一番いいのは、ルータやらFireWallは常にコンソールからのみのアクセスにすることである)
上の例では、XXX.YYY.ZZZ.0〜XXX.YYY.ZZZ.zzzまでの範囲のアドレスからの接続を許可するが、CIDRで例えば XXX.YYY.ZZZ.64〜XXX.YYY.ZZZ.79 を指定したい場合は、
permit XXX.YYY.ZZZ.64 0.0.0.15 と記述する。(64+15=79 ・・ようするに 0.0.0.15 というのはネットマスクではない)
ルータにアクセスするのはネットワーク管理者くらいのものなので、できるだけアクセス可能なアドレス範囲を絞ったほうがいいだろう。
Serial0 とは、一般的に外側へ向けたインタフェイスであり、機種によっては BRI0 だったりもする。
また、Ethernet0 とかにして Ethernet側にも制限をかけることができるし、in だけではなく out 側にも設定できる。(ただし、in側で制限した方がCPU負荷が軽い。速度遅いし)
上記 "101" の内容は次のとおり。複数記述可能。
自己ネットワークのIPアドレス(XXX.YYY.ZZZ.0)を騙っての接続(IP Spoofing)を切る。(最近のルータでは暗黙のうちに切ってくれるヤツもある)
router(config)#access-list 101 deny ip XXX.YYY.ZZZ.0 0.0.0.255 any
このほか、127.*.*.* や、プライヴェイト アドレスからの接続も切るべきだろう。
なぜなら、ルータの外側から自己ネットワークのアドレス(またはプライヴェイト アドレス)を発信元としたパケットが到来することは有り得ないからである。
(実は、プライヴェイト アドレスからのアクセスについては、過去、実際にあった・・某社の設定ミスだったが、こんなものは当然切ってかまわない)
繰り返すが、どうしても外部ネットワークからLoginしたい場合は、telnetではなく、SSHを使用する。SSHにもバグVersionがあるので注意のこと。
とにかく、外部ホストとの間で使用しないプロトコル(ポート)は落としてしまうのが基本である。
ただし、ISPではこう単純にはいかないだろう。悩みますな。
最後の行に上のように設定しておかないと、結局すべてのパケットを切ることになるので注意。(アクセスリストを設定すると、すべての記述にマッチしなかったパケットは破棄されることになる)
なお、access-list の方を先に設定してから ip access-group を設定しないと、Ethernet側にアクセス制限をかける場合などは、設定をミスると設定途中でルータにアクセスできなくなるので、これも注意。write memoryをしてなければ電源再投入で元に戻るが、そうでなければRS232Cのクロスケーブルで接続して設定修正するしかない。(この場合、ターミナルとルータの接続速度、パリティ、ストップビット等の設定を合わせておかないと接続できないので注意・・最近のターミナルでは自動検出してくれるとは思うが・・ちなみに、9600bps-8bit-パリ無-stopbit1-X有 とするのが普通なのだが、旧いヤツは stopbit2だったりするので注意)
こうすれば "101" のリストが全部削除される。他の設定を無効化するのにも no を使う。
LIST | アクセスリストの番号 |
---|---|
CONTROL | permit(許可) または deny(拒否) |
PROTO | プロトコル tcp udp icmp ip のどれか(ip は他全部を含む) |
SRC | 発信元アドレス(およびポート) |
DEST | 宛先アドレス(およびポート) |
OPTION | コネクション成立パケットのみ指定の場合 established とする(当然 tcp) |
router#clock set 00:00:00 16 sep 2000
Ciscoルータの内蔵時計はかなり正確であるというウワサがある。LOGをとる場合などは安心できるかも。(最近ではNTPクライアントを実装したルータもある)
publicとなっているのは、SNMPのコミュニティ名。ネットワーク監視(MRTGなど)を行なうとき使用。RO ってのはアールゼロではなく、アールオゥで、Read Onlyのこと。
ちなみに、publicという名前は、セキュリティ上、別のに変えておく方がいいかも。