カテゴリ:

今回はIOSでhttp serverの設定を行います。R1のF0/1に設定してある192.168.0.100に対してクライアント(Windows 7)のブラウザから接続をします。

R1#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/1            192.168.0.100   YES manual up                    up

初期値ではhttp serverは無効になっています。

R1#show ip http server status
HTTP server status: Disabled
HTTP server port: 80
HTTP server authentication method: enable
HTTP server access class: 0
HTTP server base path:
HTTP server help root:
〜略〜

ip http serverコマンドで有効になります。

R1(config)#ip http server
R1(config)#do sh ip http server status
HTTP server status: Enabled
〜略〜

ではブラウザよりhttp://192.168.0.100/に接続します。ユーザ認証を促すプロンプトが表示されますが、level_15_accessのサーバと表示されることに注意してください。

Http1_2

ユーザ名は無し、パスワードはenableパスワードを入力することでログイン出来ます。

Http2

画面上のリンク、Monitor the routerを利用することでブラウザ上からIOSのコマンドを実行することが可能です。

Http3

現在の設定ではアクセス制限がなく、望ましい状態とは言えません。下記はaccess-listを利用し、192.168.0.0/24からのみアクセス出来るようにする例です。

R1(config)#access-list 1 permit 192.168.0.0 0.0.0.255
R1(config)#ip http access-class 1
R1(config)#do sh ip http server status | i class
HTTP server access class: 1

次にユーザ名を利用した認証を確認します。まずユーザciscoをパスワードciscoで作成します。下記のようにprivilegeを指定しない場合、privilege levelは1となります。

R1(config)#username cisco secret cisco
R1(config)#do sh run | i username
username cisco secret 5 $1$wLzt$1ERo8cQ7l4xSpjzVTJoMv1

ユーザ認証を有効にするため、ip http authentication localを実行します。

R1(config)#ip http authentication local
R1(config)#do sh ip http server status | i method
HTTP server authentication method: local

この状態でデバグを有効にし、ログインを実行するとどうなるか確認します。

R1#debug ip http authentication
HTTP Server Authentication debugging is on

認証に必要なレベル15ではないためログインは失敗し、下記のように表示されます。

Apr 11 06:37:46.139: HTTP: Authentication failed for level 15

ここでユーザciscoのprivilegeを15に変更します。

R1(config)#username cisco privilege 15
R1(config)#do sh run | i username
username cisco privilege 15 secret 5 $1$wLzt$1ERo8cQ7l4xSpjzVTJoMv1

問題なくログイン出来るようになりました。

Apr 11 06:40:20.423: HTTP: Priv level granted 15

http serverのパスを指定し、その場所にファイルを置くとそのままブラウザで表示可能です。

R1(config)#ip http path flash:
R1(config)#do sh ip http server status | i path
HTTP server base path: flash:

コマンドの結果はredirectを利用すると直接指定した場所に保存できます。

R1#show ip http server statistics | redirect flash:http.txt

上記のファイルは http://192.168.0.100/http.txt で表示可能です。このように、普通のWebサーバとして出来ることが分かります。

Http4_2