管理者/Ciscoルータ800Mの設定 のバックアップソース(No.7)

更新

[[公開メモ]]

#contents

* とてもわかりにくいと評判のルータを設定してみます [#pc997fb4]

Cisco はその道では昔から有名なので、
研究室のルータを新調するときに「せっかくだからいいものを」と
Cisco 800M というのを買ったのですが、
蓋を開けてみると当たり前の設定をするにも非常に苦労するという
使い勝手としてはあまり評判のよくないものだったようで、

ちゃんと設定できてしまえば性能はさすが、と思えることを信じて、
設定をしてみます。

* 今のところ全然うまく行ってません [#ef14b09a]

ネットワークにはかなり詳しい自信があるのですが、、、
これはあまりに手強いです orz

* 接続 [#df962153]

設定中にも Internet につながらないと、Google 先生のお世話になれないので、
WIFI と有線と、両方備えたノートPCを使い、WIFI は既存のネットワークに、
有線は 800M の LAN 側につないで、設定を始めます。

&uml(
cloud Internet
node 設定済み
storage 自分のPC
node 800M
Internet -- 設定済み :  WAN (130.158.0.0)
設定済み -- 自分のPC: LAN (10.225.225.0)
800M -- 自分のPC: LAN (10.10.10.0)
Internet .. 800M: WAN (130.158.0.0)
);

* 初期画面 [#qf909c82]

半分設定済みの 800M の背面 LAN ポート 0 番に繋いで、
http://10.10.10.1/ へブラウザでアクセスすると、
ID とパスワードを聞かれてこんな画面が出ました。

&ref(cisco-configuration-professional-express.png,,50%);

* CCP Express [#e48d2843]

Cisco Configuration Professional Express は
Cisco Configuration Professional の軽量版、
のようなことも書かれていましたが、

http://www.cisco.com/c/en/us/products/cloud-systems-management/eos-eol-listing.html

によると、Cisco Configuration Professional (Cisco CP) はすでに廃盤のようです?

http://www.cisco.com/c/en/us/support/cloud-systems-management/configuration-professional/products-release-notes-list.html

を見ると 

- CCP Express は 2015/9/24 に出た 3.3 が最新
- Cisco CP は 2014/5/20 に出た 2.8 が最新

なので、確かにそうなのかもしれない。

しかしこのリリースノートのソート順はどうなってるんだろう?

ユーザーのことを少しでも気にかけていたらこうはならないように思えてしまう。

* バージョンを確認 [#a67acf38]

[ルータの診断] のアイコンを押したところ、

- デバイスのタイプ: C841M-4X-JSEC/K9
- IOSバージョン: 15.5(3)M,

となっていて、

CCP Express のバージョンは確認できません。。。

CLI インターフェイスで show version として Exec したところ、

 LANG:console
 Exec$ show version
  Cisco IOS Software, C800M Software (C800M-UNIVERSALK9-M), Version 15.5(3)M, RELEASE SOFTWARE (fc1)
  Technical Support: http://www.cisco.com/techsupport
  Copyright (c) 1986-2015 by Cisco Systems, Inc.
  Compiled Thu 23-Jul-15 03:45 by prod_rel_team
  
  ROM: System Bootstrap, Version 15.5(1r)T1, RELEASE SOFTWARE (fc1)
  
  10.225.225.4 uptime is 2 hours, 41 minutes
  System returned to ROM by reload at 11:09:57 GMT Fri Mar 3 2017
  System image file is "flash:c800m-universalk9-mz.SPA.155-3.M.bin"
  Last reload type: Normal Reload
  Last reload reason: Load customer configuration
  
  
  
  This product contains cryptographic features and is subject to United
  States and local country laws governing import, export, transfer and
  use. Delivery of Cisco cryptographic products does not imply
  third-party authority to import, export, distribute or use encryption.
  Importers, exporters, distributors and users are responsible for
  compliance with U.S. and local country laws. By using this product you
  agree to comply with applicable laws and regulations. If you are unable
  to comply with U.S. and local laws, return this product immediately.
  
  A summary of U.S. laws governing Cisco cryptographic products may be found at:
  http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
  
  If you require further assistance please contact us by sending email to
  export@cisco.com.
  
  Cisco C841M-4X-JSEC/K9 (revision 1.0) with 496716K/27571K bytes of memory.
  Processor board ID FGL193721W4
  6 Gigabit Ethernet interfaces
  1 Virtual Private Network (VPN) Module
  DRAM configuration is 32 bits wide
  255K bytes of non-volatile configuration memory.
  255984K bytes of USB Flash usbflash0 (Read/Write)
  1916928K bytes of SD Flash sdflash (Read/Write)
  
  
  License Info:
  
  License UDI:
  
  -------------------------------------------------
  Device#	  PID			SN
  -------------------------------------------------
  *1  	  C841M-4X-JSEC/K9      FGL193721W4     
  
  
  
  License Information for 'c800m'
      License Level: advsecurity   Type: Permanent
      Next reboot license Level: advsecurity
  
  
  Configuration register is 0x2102

でしたので、、、やっぱりわかりません???

ああ、右上の ? アイコンをクリックしたら ~
http://www.cisco.com/c/en/us/td/docs/net_mgmt/cisco_configuration_professional_express/v3_1/guides/featureguide/ccp_express_Feature_Guide.html ~
へ飛んだので、どうやら CCP Express 3.1 のようです。

* 設定のバックアップ [#u9411e25]

すでに1人目の犠牲者がいろいろ設定を試した後だったので、
まずは設定をバックアップします。

[[Google:バックアップ "Cisco Configuration Professional Express"]]

から、

CCP Express 3.1 リカバリ&初期化ガイド~
https://supportforums.cisco.com/ja/document/12603681

というのを見つけました。

CCP Express は Cisco Configuration Professional Express であるのはよいとして、
手元の 800M の CCP Express のバージョンがいくつなのか、[ルータの診断]
に現れないのは不親切。

上記ページのプレゼン画面も、いちいちページをめくらないと進めないし、
画面の文字をコピーできないし、使いづらいことこの上ない。
日本語もとても変。なんとか読み解くと、

> ルータに USB メモリを指して、[CLI の構成] で
> copy running-config usbflash0:customer-config
> を実行。

とのこと。

バックアップからのリカバリ方法が書かれていないのも片手落ち。

たぶん、

> copy usbflash0:customer-config running-config

かな?

** やってみる [#yd437b34]

800M の後ろの USB ポートに San Disk の 「250MB の USB メモリ(!)」 を挿して、
トップページから [任意のコマンド] を押すと、サブページでは同じ項目が
[CLIの設定] と呼ばれています。しかもこれは [CLI による設定] が正しい訳語のはずです。
まあいろいろと、GUI 設計のやる気のなさが感じられます。。。

アドレスはこれ。

http://10.10.10.1/sdflash:ccpexp/html/frames.html?feature=anycli

copy running-config usbflash0:customer-config を入れて Exec を押すと、

 LANG:console
 exec$ copy running-config usbflash0:customer-config
  Destination filename [customer-config]? 
    
  8250 bytes copied in 1.524 secs (5413 bytes/sec)

となった。

途中でファイル名を聞かれているみたいなのだけれど、
この Web インターフェースからでは入力できないようで、
コマンドラインで指定した通り customer-config が使われたみたい。

PC から USB の中身を見ると customer-config というテキストファイルができていて、
中にいろいろ設定が書かれていた。

気になるのは、このファイルの冒頭が

 
 !
 ! Last configuration change at 09:37:42 GMT Fri Mar 3 2017 by admin
 !
 version 15.5
 service timestamps debug datetime msec
 service timestamps log datetime msec
 no service password-encryption
 ...

となっていたこと。

ここにあるのはどうみても、最終変更時刻ではなく、バックアップ時刻のはず。
正しくは、Last configuration saved at ... とすべきです。

全然意味が違うのだからこんな基本的なところで間違えないでほしい。

** 書き戻してみる [#pc792724]

エラーが出ることはあっても、設定が変わってしまうことはないだろうと信じて、

 LANG:console
 $ copy usbflash0:customer-config running-config
  Destination filename [running-config]? 
    3082022B 30820194 A0030201 02020101 300D0609 2A864886 F70D0101 05050030 
    ^
  % Invalid input detected at '^' marker.
  
    31312F30 2D060355 04031326 494F532D 53656C66 2D536967 6E65642D 43657274 
    ^
  % Invalid input detected at '^' marker.
  
    69666963 6174652D 31383735 39393038 3634301E 170D3135 31313132 31333536 
    ^
  % Invalid input detected at '^' marker.
  
    34305A17 0D323030 31303130 30303030 305A3031 312F302D 06035504 03132649 
    ^
  % Invalid input detected at '^' marker.
  
    4F532D53 656C662D 5369676E 65642D43 65727469 66696361 74652D31 38373539 
    ^
  % Invalid input detected at '^' marker.
  
    39303836 3430819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 
    ^
  % Invalid input detected at '^' marker.
  
    8100B835 29B8FC09 F45304CA 0022F6A6 B5D771F2 62C6E389 8E697DDD 80F74102 
    ^
  % Invalid input detected at '^' marker.
  
    6681FC17 ED981D16 8C772C0D 99214362 7B3B0A23 AC16A8B6 D4D248AB 97343FD7 
    ^
  % Invalid input detected at '^' marker.
  
    B3091964 0DB00B3C F780B630 A4D3DFEF 15485DD8 03F7F4B4 226148F2 86D340E1 
    ^
  % Invalid input detected at '^' marker.
  
    95989225 9C3C689C DE061781 5B7FC58E B12E0657 3385B6B0 693CACC7 74788EB8 
    ^
  % Invalid input detected at '^' marker.
  
    D48D0203 010001A3 53305130 0F060355 1D130101 FF040530 030101FF 301F0603 
     ^
  % Invalid input detected at '^' marker.
  
    551D2304 18301680 1483B927 45C21729 715DF8F8 4E8A4A1D 8FA1372C CD301D06 
    ^
  % Invalid input detected at '^' marker.
  
    03551D0E 04160414 83B92745 C2172971 5DF8F84E 8A4A1D8F A1372CCD 300D0609 
    ^
  % Invalid input detected at '^' marker.
  
    2A864886 F70D0101 05050003 8181002F C79D5492 320119E6 97EFE0EA FFE94E59 
    ^
  % Invalid input detected at '^' marker.
  
    9F662309 F58A8C16 B991AE4E 4774523D FAC38EDE A23B24EC 261CDABA 25612338 
    ^
  % Invalid input detected at '^' marker.
  
    E0CAF1E3 9A470564 E268F075 0ABC8A99 91323CFC CBF4DE36 4E579C30 9FCC4B0B 
     ^
  % Invalid input detected at '^' marker.
  
    B34C3E94 CE2ED318 68A5C723 9B1A3F18 9E705175 9C385449 1237FA9A 64718110 
    ^
  % Invalid input detected at '^' marker.
  
    786C8985 2477A839 D58E401F 8D6210
    ^
  % Invalid input detected at '^' marker.
  
    	quit
     ^
  % Invalid input detected at '^' marker.
  % Interface is already member of zone WAN
  % Interface is already member of zone LAN
  
  8250 bytes copied in 0.172 secs (47965 bytes/sec)

いやいやいやいや、なにそれ、ありえないでしょ。

まず、Destination filename [running-config]?  というのが訳わからん。

今ならこれは Source filename でしょ。

で、今書き出したばかりのファイルを読もうとして文法エラーっぽいのが出るとか。

** 設定が書き換わってしまっていないことを確かめる [#f4d4e70f]

先のファイルを customer-config_initial と書き換えて、
もう一度 

 LANG:console
 $ copy running-config usbflash0:customer-config
  Destination filename [customer-config]? 
  
  8250 bytes copied in 1.784 secs (4624 bytes/sec)

ふむファイルサイズは変わっていない。~
できたファイルと元のファイルとの diff を取ったところ、
日付以外は変わっていませんでした。

** 正しい書き戻し方は? [#c7adbc87]

「CCP Express バックアップ」 で検索をかけようとすると、Google の検索ワード候補から
「CCP Express バックアップからのリカバリ方法」 が出てくるあたり、みんな困ってる。

しかも、残念ながらバックアップはリカバリするんじゃなくてリストアするものらしい???

http://www.networld.co.jp/files/7814/5448/1356/Cisco_CiscoStartRouter_Manual_BuckupAndRestoreConfiguration_Cisco841MJ_1.0_20160202.pdf

バックアップとリストアという基本的な操作を説明するのにこれだけの文書が必要になるものなのか?!

で、書かれていたのは上記のうまくいかなかった方法と同じ、

> copy usbflash0:<backup file name> running-config

** エラー行まではちゃんと読まれている [#i809cd45]

[CLI の設定] で "hostname testtest" を入れて configure すると、

 LANG:console
 exec$ show running-config | include hostname
   hostname G225
 configure$ hostname testtest
  コマンドは正常に完了しました。
 exec$ show running-config | include hostname
  hostname testtest
 exec$ copy usbflash0:customer-config running-config
  ...
  (上記エラー)
  ...
  8250 bytes copied in 0.160 secs (51563 bytes/sec)
 exec$ show running-config | include hostname
   hostname G225

そうなると、うまく行ってなさそうなのは、

  crypto pki certificate chain TP-self-signed-1875990864
   certificate self-signed 01
    3082022B 30820194 A0030201 02020101 300D0609 2A864886 F70D0101 05050030 
    31312F30 2D060355 04031326 494F532D 53656C66 2D536967 6E65642D 43657274 
    69666963 6174652D 31383735 39393038 3634301E 170D3135 31313132 31333536 
    34305A17 0D323030 31303130 30303030 305A3031 312F302D 06035504 03132649 
    4F532D53 656C662D 5369676E 65642D43 65727469 66696361 74652D31 38373539 
    39303836 3430819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 
    8100B835 29B8FC09 F45304CA 0022F6A6 B5D771F2 62C6E389 8E697DDD 80F74102 
    6681FC17 ED981D16 8C772C0D 99214362 7B3B0A23 AC16A8B6 D4D248AB 97343FD7 
    B3091964 0DB00B3C F780B630 A4D3DFEF 15485DD8 03F7F4B4 226148F2 86D340E1 
    95989225 9C3C689C DE061781 5B7FC58E B12E0657 3385B6B0 693CACC7 74788EB8 
    D48D0203 010001A3 53305130 0F060355 1D130101 FF040530 030101FF 301F0603 
    551D2304 18301680 1483B927 45C21729 715DF8F8 4E8A4A1D 8FA1372C CD301D06 
    03551D0E 04160414 83B92745 C2172971 5DF8F84E 8A4A1D8F A1372CCD 300D0609 
    2A864886 F70D0101 05050003 8181002F C79D5492 320119E6 97EFE0EA FFE94E59 
    9F662309 F58A8C16 B991AE4E 4774523D FAC38EDE A23B24EC 261CDABA 25612338 
    E0CAF1E3 9A470564 E268F075 0ABC8A99 91323CFC CBF4DE36 4E579C30 9FCC4B0B 
    B34C3E94 CE2ED318 68A5C723 9B1A3F18 9E705175 9C385449 1237FA9A 64718110 
    786C8985 2477A839 D58E401F 8D6210
    	quit

の部分いこうということになる。

** startup-config に書き込まないとリセットで元に戻っちゃう? [#ub6368a5]

http://www.cisco.com/cisco/web/support/JP/docs/CIAN/IOS/IOS15_1S/CG/019/cf_cli-basics.html?bid=0900e4b1825ae639

> EXEC モードで copy running-config startup-config コマンドを発行しない限り、スタートアップ コンフィギュレーション ファイルに保存されません。

設定をリストアしたりも含めて、何か変えたら copy running-config startup-config を忘れないようにしないと。

** running-config じゃなくて startup-config を書き出すべきでは? [#g40c5d28]

そうすれば上記のエラーが出た部分は書き出されないっぽい。

さらに、読み込むときも startup-config へ読み込むのがよさそう。

「現在ルータに保存されている設定」を USB に書き出すには、

 LANG:console
 Exec$ copy startup-config usbflash0:(ファイル名)

USB に保存した設定を、「ルータに保存されている設定」に書き戻すには、

 LANG:console
 Exec$ copy usbflash0:(ファイル名) startup-config 

ただし、「ルータに保存されている設定」を書き換えても、
今現在のルータの動作が変化するわけでは無いので、
読み込んだ設定を動作に反映させるにはリブートする必要がある。

* 一旦、工場出荷状態に戻す [#saf6159d]

今後のこともあるので、一旦工場出荷状態に戻してから始めます。

で、とても見にくいこの資料によると、~
https://supportforums.cisco.com/ja/document/12603681

工場出荷時の設定ファイルをダウンロードして書き戻せ、ということみたいです。

&ref(recovery.png,,50%);

あ、バックアップのリカバリ方法はここに書いてあったのか!

赤矢印から USB のルートフォルダへ customer-config という名前でダウンロードして、
背面のリセットを5秒以上押したところ、前面の SYS が点滅し始めて、いったん消え、
また点滅し始めて、ずいぶん待たされてから点灯して、さらにずいぶん待たされてから
USB メモリの LED と LAN の CONNECTION インジケータが光りました。

この間、USB メモリの LED を見る限り、アクセスしている感じがなくて心配するのですが、、、

ちゃんとリセットされたみたいで、
起動後は初期アカウントの cisco/cisco でログインすることになりました。

** startup-config への copy コマンドでもできるようです [#i1296468]

上記の通り、startup-config へ書き戻してリブートする、つまり

 LANG:console
 Exec$ copy usbflash0:customer-config startup-config
 Exec$ reload

とすると初期化されて再起動しました。

この方法の良いところは、読み込む設定ファイル名を任意に選べるところです。
また、800M 本邸に物理的に手が届かなくてもできるのもいいですね。

工場出荷時の設定ファイル名は
usbflash0:factory-config などとしておくとわかりやすいはず。

* 初期画面 [#mea4e2ba]

初期パスワードを聞かれるので cisco/cisco を入れると、

管理者IDとパスワードの設定があります。

その後表示される初期画面は以下のようなものでした。

&ref(initial-screen.png,,50%);

高度なセットアップを選ぶと、先ほどと同じ画面が出ました。

** 一旦保存 [#qb4b73d2]

config を保存しておきます。

 LANG:console
 Exec$ copy startup-config usbflash0:config-history1

この時点で、ダウンロードした factory-config とは似ても似つかない内容になっていますので、
これを元に、今後の GUI 設定がどのように config ファイルに反映されるかを見ていきます。

なぜこれが重要かというと・・・
GUI で設定していると、頻繁に config ファイルにゴミが残る気がするためです。

GUI で設定して、書き換えると、元の設定が完全には消えずに残ってしまうのです。

履歴を取りながら慎重に勧めます。

(このあたりからして難易度は最初からナイトメアと思って間違いないです)

* クイックセットアップウィザードから設定する [#ma2d1a39]

クイックセットアップウィザードを選択して、基本的な設定を済ませてしまおうと思います。

- ルータ名 G225
- ドメインネーム bk.tsukuba.ac.jp
- タイムゾーン (GMT+09:00) Osaka, Sapporo, Tokyo
- WAN接続タイプ Ethernet(Direct/PPPOE)
-- インターフェース GigaEthernet0/4 (下側コネクタ)
-- DNS/IPアドレス
--- [ ] ISPから直接DNSサーバ情報を取得する
--- プライマリ DNS 130.158.68.21
--- セカンダリ DNS 8.8.8.8  (Google Public DNS)
-- IPV4
--- [ ] ISPから自動的に取得する
--- IP アドレス 130.158.130.211
--- サブネットマスク 255.255.255.0
--- ゲートウェイの指定方法は???
--- [*] NATを有効にする
-- IPV6
--- [ ] IPv6 を有効にする
-- [ ] PPPoE を有効化
- バックアップ WAN
-- [ ] バックアップWANを有効化
- LAN
-- ここでは変更不可
-- LANネットワーク 10.10.10.0
-- サブネットマスク 255.255.255.128 (256個 ではなく 128個 しか確保されていない)
-- 利用可能なIPサイズ ルータを含む 126 のホスト
--- これはアドレス範囲の 128個 から ネットワークアドレス=0 と ブロードキャストアドレス=127 を除いた 126個
-- LAN Interface [GigabitEthernet0/0, GigabitEthernet0/1, GigabitEthernet0/2, GigabitEthernet0/3, Vlan1]
--- 背面の4つのポートと・・・Vlan1 とは何だろう???
- セキュリティの設定
-- [*] ファイアウォール機能を有効化 (これ、やめた方がよかったかも)
--- [*] 基本的なトラフィックを許可するポリシーを作成する(推奨)~
(強制チェック)

CLI スクリプトは

 hostname G225
 ip domain name bk.tsukuba.ac.jp
 clock timezone GMT 9
 
 ip name-server 130.158.68.21 8.8.8.8
 ip domain lookup
 ip dhcp pool ccp-pool
 dns-server  130.158.68.21  8.8.8.8
 
 zone security LAN
 zone security WAN
 
 flow record nbar-appmon
 match ipv4 source address
 match ipv4 destination address
 match application name
 collect interface output
 collect counter bytes
 collect counter packets
 collect timestamp absolute first
 collect timestamp absolute last
 exit
 flow monitor application-mon
 cache timeout active 60
 record nbar-appmon
 exit
 
 parameter-map type inspect global
 nbar-classify
 
 object-group network vpn_remote_subnets
 any
 
 object-group network local_cws_net
 interface Vlan1
 zone-member security LAN
 ip nbar protocol-discovery
 load-interval 30
 ip flow monitor application-mon input
 ip flow ingress
 ip flow egress
 
 object-group network Web_src_net
 any
 object-group network Web_dst_net
 any
 object-group network Others_src_net
 any
 object-group network Others_dst_net
 any
 object-group service Web_svc
 ip
 object-group service Others_svc
 ip
 
 ip access-list extended Web_acl
 permit object-group Web_svc object-group Web_src_net object-group Web_dst_net
 
 ip access-list extended Others_acl
 permit object-group Others_svc object-group Others_src_net object-group Others_dst_net
 
 class-map type inspect match-any Others_app
 match protocol https
 match protocol smtp
 match protocol pop3
 match protocol imap
 match protocol sip
 match protocol ftp
 match protocol dns
 match protocol icmp
 
 class-map type inspect match-any Web_app
 match protocol http
 
 class-map type inspect match-all Web
 match class-map Web_app
 match access-group name Web_acl
 
 class-map type inspect match-all Others
 match class-map Others_app
 match access-group name Others_acl
 
 policy-map type inspect LAN-WAN-POLICY
 class type inspect Web
 inspect
 class type inspect Others
 inspect
 class class-default
 drop log
 
 zone-pair security LAN-WAN source LAN destination WAN
 service-policy type inspect LAN-WAN-POLICY
 
 interface Vlan1
 ip nat inside
 exit
 
 object-group network local_lan_subnets
 10.10.10.0 255.255.255.128
 
 ip access-list extended nat-list
 permit ip object-group local_lan_subnets any
 deny ip any any
 
 interface GigabitEthernet0/4
 no shutdown
 description PrimaryWANDesc_
 zone-member security WAN
 ip address 130.158.130.211 255.255.255.0
 ip nat outside
 exit
 
 access-list 23 permit 10.10.10.0 0.0.0.127
 ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/4
 ip nat inside source list nat-list interface GigabitEthernet0/4 overload

であることを確認して、[設定] を押しました。

時間がかかると言われたけれど、30秒もかからなかった。

** ここでも保存 [#ld661d32]

 LANG:console
 Exec$ copy startup-config usbflash0:config-history2

* dhcp の変更 [#z4c62e0f]

工場出荷状態で ccp-pool という dhcp pool ができているのだけれど、
これを変えてしまうと CCP Express に繋がらなくなるので、
これは変更してはダメ、なのかな???

念のため、ここでは別に dhcp pool を作ってそれを使う。

ダッシュボードの上のメニューから [DHCP/DNS/ホスト名] をクリックして、

DHCP プール一覧の [追加] を押す。

- プール名 g225-pool
- プールネットワーク 10.225.225.0
- サブネットマスク 255.255.255.0
- デフォルトルート 10.225.225.1
- この DHCP プールにある DNS 値を含める [ ]
- DHCP サーバデータベースに全ての DHCP オプションをインポートする [*]

[OK] して "% Option 6, instance 0 is not in the database." という
エラーが出たときは、

- この DHCP プールにある DNS 値を含める [*]

としたら無事追加される場合もあるみたい。なんのこっちゃ???

で、この設定を使うためにはインターフェイスの設定が必要になる。

** ここでも保存 [#f121c2ec]

 LANG:console
 Exec$ copy startup-config usbflash0:config-history3

* インターフェイスの設定 [#wc223c5e]

https://supportforums.cisco.com/sites/default/files/initial-setting_guide_v05.pdf

の28ページあたりによると、cpp-pool が使えないと CCP Express 
へアクセスできなくなったりするので、4つしかない LAN ポートのうち1つを 
Configuration 用に開けておいて、通常用途には3つしか使えないようです???
マジデカ?!

dhcp pool は Vlan ごとに指定するようで、
まず g225-pool を使うポートをまとめるための Vlan を作成して、
そこで指定する dhcp に g225-pool を指定します。

[ダッシュボード] の上のメニューから [インターフェイス] を選び、[VLANの追加] をします。

- VLAN
-- VLAN ID: 2
-- ポートの関連づけ: GigabitEthernet0/[1,2,3]
- IPv4 アドレス
-- タイプ DHCPから選択
-- DHSP一覧 g225-pool
-- NATの有効化 [*]

これで、Vlan1 からは GigabitEthernet0/[1,2,3] の指定が抜けて、
GigabitEthernet0/0 だけが残ります。

** うまくいったかを確認する [#u1997632]

PC からの有線接続を LAN ポート 1 に差し替える。

かなーり時間がかかって、PC のアドレスは正しく 10.225.225.2 が割り当てられた。

そこから 10.10.10.1 へアクセスしたところ、繋がらなかった。

10.225.225.1 へアクセスしても、繋がらなかった

管理者権限付きのコマンドプロンプトから~
>route add 10.10.10.1 MASK 255.255.255.255 0.0.0.0 if 10 ~
としてルーティングを設定し、ゲートウェイを通さず直接 10.10.10.1 へアクセスしても
繋がらなかった。

これは本当に、設定用に1ポート開けとかなきゃだめってこと?!!!

しかたがないので、とりあえずそのまま進む。

** ここでも保存 [#n3b217fc]

 LANG:console
 Exec$ copy startup-config usbflash0:config-history4

* dhcp 除外範囲を設定 [#gc7b5248]

http://www.cisco.com/cisco/web/support/JP/docs/CIAN/IOS/IOSSWRels15_1/CG/001/iad_dhcp_svr_cfg.html?bid=0900e4b1825ae5ce
を見ながら。

特定のマシンに dhcp で割り当てる IP アドレスを固定したいので、
まずは dhcp で自動割り当てする IP アドレス範囲を制限する。

これには CLI が必須になる。

 LANG:console
 Configure$ ip dhcp excluded-address 10.225.225.1 10.225.225.10
  コマンドは正常に完了しました。

** ここでも保存 [#k0574d9a]

これ、今まで通り copy startup-config usbflash0:config-history5 
とだけしたら変更が反映されていなかった。
copy running-config startup-config が必要みたい。

 LANG:console
 Exec$ copy running-config startup-config
 Exec$ copy startup-config usbflash0:config-history5

ああ、どうして GUI から作業すると CLI からするよりもずっと時間がかかるのか
不思議だったのだけれどこれでわかった。
copy running-config startup-config に時間がかかるのか。

CLI でちょちょっと変更した内容は startup-config には書かれないので、
ちゃんと保存しておかなければならない。

* IP アドレスの固定 [#ff5c92f8]

自分の PC の MAC アドレスを指定して、10.225.225.4 へ固定してみる。

MAC アドレスが C8-5B-76-53-6D-5C なので、~
hardware-address には C85B.7653.6D5C を指定する。

 LANG:console
 Configure$ ip dhcp pool g225-pool
 Configure> host 10.225.225.4
 Configure> hardware-address C85B.7653.6D5C ethernet
 Configure> client-name takeuchi-t460s
  % This command may not be used with network, origin, vrf, or relay pools.

あ、どうも違うみたい。

1つのアドレスを固定するためには、新たにアドレスプールを作る必要があるらしい。

 LANG:console
 Configure$ ip dhcp pool g225-takeuchi-t460s
 Configure> host 10.225.225.4
 Configure> hardware-address hardware-address C85B.7653.6D5C ethernet
  Invalid input detected.
 Configure$ ip dhcp pool g225-takeuchi-t460s
 Configure> host 10.225.225.4 255.255.255.0
 Configure> hardware-address C85B.7653.6D5C ethernet
  % A binding already exists for 10.225.225.4.
 Exec$ show running-config
  ...
  ip dhcp pool g225-takeuchi-t460s
  host 10.225.225.4 255.255.255.0
  ...
 Configure$ no ip dhcp pool g225-takeuchi-t460s
  コマンドは正常に完了しました。
 Configure$ ip dhcp pool g225-takeuchi-t460s
 Configure> host 10.225.225.4 255.255.255.0
 Configure> hardware-address C85B.7653.6D5C ethernet
  コマンドは正常に完了しました。

始め、hardware-address の行をミスタイプしていたために
Configure に失敗したのだけれど、中途半端に書き込まれてしまったようで、
no ip dhcp pool で消さないと上書きできませんでした。

でも、これで設定できたっぽい。

** 試す → 失敗 [#uf99f43e]

LAN ポートの1につなぎ替えると、、、あれれ?~
10.225.225.4 ではなく 10.225.225.2 が割り当てられていました orz

** 古い設定を消す [#qb5980ff]

LAN ポート 0 に戻して CLI から、

 $ show ip dhcp binding
  Bindings from all pools not associated with VRF:
  IP address          Client-ID/	 	    Lease expiration        Type
  		    Hardware address/
  		    User name
  10.10.10.2          01c8.5b76.536d.5c       Mar 03 2017 03:29 PM    Automatic
  10.225.225.2        01c8.5b76.536d.5c       Mar 04 2017 12:34 PM    Automatic
  10.225.225.4        c85b.7653.6d5c          Infinite                Manual
 $ clear ip dhcp binding 10.225.225.2
  コマンドは正常に完了しました。
 $ show ip dhcp binding
  Bindings from all pools not associated with VRF:
  IP address          Client-ID/	 	    Lease expiration        Type
  		    Hardware address/
  		    User name
  10.10.10.2          01c8.5b76.536d.5c       Mar 03 2017 03:29 PM    Automatic
  10.225.225.4        c85b.7653.6d5c          Infinite                Manual

** 試す → 惜しい [#ceaa60fb]

LAN ポート 1 へ挿し変えると、、、惜しい! (のか?)~
10.225.225.4 ではなく 10.225.225.11 が割り当てられていました

少なくとも excluded の設定は効いたことになります。

** client-identifier も指定してみる [#oc2b253d]

 LANG:console
 Exec$ show ip dhcp binding
  Bindings from all pools not associated with VRF:
  IP address          Client-ID/	 	    Lease expiration        Type
  		    Hardware address/
  		    User name
  10.10.10.2          01c8.5b76.536d.5c       Mar 03 2017 03:29 PM    Automatic
  10.225.225.4        c85b.7653.6d5c          Infinite                Manual
  10.225.10.11        01c8.5b76.536d.5c       Mar 04 2017 12:34 PM    Automatic
 Configure$ no ip dhcp pool g225-takeuchi-t460s
  コマンドは正常に完了しました。
 Configure$ ip dhcp pool g225-takeuchi-t460s
 Configure> host 10.225.225.4
 Configure> client-identifier 01c8.5b76.536d.5c
 Configure> hardware-address c85b.7653.6d5c ethernet
  % A binding for this client already exists.
 Exec$ clear ip dhcp binding
  コマンドは正常に完了しました。
 Configure$ ip dhcp pool g225-takeuchi-t460s
 Configure> host 10.225.10.4
 Configure> client-identifier 01c8.5b76.536d.5c
 Configure> hardware-address c85b.7653.6d5c ethernet
  コマンドは正常に完了しました。
 Exec$ show ip dhcp binding
  Bindings from all pools not associated with VRF:
  IP address          Client-ID/	 	    Lease expiration        Type
  		    Hardware address/
  		    User name
  10.10.10.2          01c8.5b76.536d.5c       Mar 03 2017 03:40 PM    Automatic
  10.225.10.4         c85b.7653.6d5c          Infinite                Manual

** 試す → ダメ [#wa2d6493]

LAN ポート 1 へ挿し変えると、、、むむう~
10.225.225.4 ではなく 10.225.225.12 が割り当てられた

どうして 11 じゃないんだろう???

** client-identifier のみ指定する [#hcbbc0ce]

 LANG:console
 Exec$ clear ip dhcp binding
  Invalid input detected.
 Exec$ clear ip dhcp binding 10.225.225.12
  コマンドは正常に完了しました。
 Configure$ no ip dhcp pool g225-takeuchi-t460s
  コマンドは正常に完了しました。
 Exec$ show ip dhcp binding
  Bindings from all pools not associated with VRF:
  IP address          Client-ID/	 	    Lease expiration        Type
  		    Hardware address/
  		    User name
  10.10.10.2          01c8.5b76.536d.5c       Mar 03 2017 03:51 PM    Automatic
 Configure$ ip dhcp pool g225-takeuchi-t460s
 Configure> host 10.225.225.4
 Configure> client-identifier 01c8.5b76.536d.5c
  コマンドは正常に完了しました。
 Exec$ show ip dhcp binding
  Bindings from all pools not associated with VRF:
  IP address          Client-ID/	 	    Lease expiration        Type
  		    Hardware address/
  		    User name
  10.10.10.2          01c8.5b76.536d.5c       Mar 03 2017 03:51 PM    Automatic
  10.225.225.4        01c8.5b76.536d.5c       Infinite                Manual

** 試す → ようやく成功 [#c396fc4d]

http://www.cisco.com/cisco/web/support/JP/docs/CIAN/IOS/IOSSWRels15_1/CG/001/iad_dhcp_svr_cfg.html?bid=0900e4b1825ae5ce#45310

をよく読むと、

DHCP パケットでクライアント ID を送信するクライアントと、~
DHCP パケットでクライアント ID を送信しないクライアントがいて、~
前者には client-identifier を、後者には hardware-address を指定せよとなっていました。

私の PC は MAC アドレスの頭に 01 をつけたクライアント ID を送信しているので、
それに合わせた client-identifier を指定しないと正しく認識されない、ということなのだと思います。

普通は MAC アドレスを入れれば大丈夫なのに、どうしてこんなに頑固なんだろう???

** ここでも保存 [#c0405397]

 LANG:console
 Exec$ copy running-config startup-config
 Exec$ copy startup-config usbflash0:config-history6

* ポートフォワードの設定 [#s5b0298a]

外部からのアクセスを内部のサーバーマシン (10.225.225.2 とする) 
に届けるため、ポートフォワード設定をします。

https://supportforums.cisco.com/ja/document/12984096

GUI から [セキュリティ] を選んで、[スタティックNAT] を [追加]

- 内部 IP 10.225.225.2
- 外部IP/インタフェース 130.158.130.211
- [*] ポートフォワーディングを有効にする
-- [*] TCP
-- 内部ポート 80
-- 外部ポート 80

[OK] すると項目が作られましたが・・・

え?ポート番号ごとにエントリーを作らなきゃならないの???

しかも、作ったエントリー一覧にポート番号が表示されていないから、
いくつか作るとどれがどれだかわからない。

まともに GUI 作る気ないってことですか???

結局 CUI からやった方が楽ってこと・・・

** CUI から確認&設定する [#md58f84e]

http://www.cisco.com/cisco/web/support/JP/102/1022/1022277_827spat-j.html

を見てもさっぱりなので、上で作った設定を確認して、
まねすることにします。

 LANG:console
 Exec$ show running-config
  ...
  ip nat inside source list nat-list interface GigabitEthernet0/4 overload
  ip nat inside source static tcp 10.225.10.2 80 130.158.130.211 80 extendable
  ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/4
  ...
 Configure$ ip nat inside source static tcp 10.225.10.2 22 130.158.130.211 22 extendable
   コマンドは正常に完了しました。
 Exec$ show running-config
  ...
  ip nat inside source list nat-list interface GigabitEthernet0/4 overload
  ip nat inside source static tcp 10.225.10.2 22 130.158.130.211 22 extendable
  ip nat inside source static tcp 10.225.10.2 80 130.158.130.211 80 extendable
  ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/4
  ...
 Configure $ ip nat inside source static tcp 10.225.10.2  25 130.158.130.211  25 extendable
 Configure > ip nat inside source static tcp 10.225.10.2 110 130.158.130.211 110 extendable
 Configure > ip nat inside source static tcp 10.225.10.2 143 130.158.130.211 143 extendable
 Configure > ip nat inside source static tcp 10.225.10.2 443 130.158.130.211 443 extendable
 Configure > ip nat inside source static tcp 10.225.10.2 465 130.158.130.211 465 extendable
 Configure > ip nat inside source static tcp 10.225.10.2 587 130.158.130.211 587 extendable
 Configure > ip nat inside source static tcp 10.225.10.2 993 130.158.130.211 993 extendable
 Configure > ip nat inside source static tcp 10.225.10.2 995 130.158.130.211 995 extendable

うん、この感じで項目は追加できるっぽい。

-http  = 80
-ssh   = 22 
-smtp  = 25 
-pop3  = 110
-imap  = 143
-https = 443
-smtps = 465
-smtp  = 587
-imaps = 993
-pop3s = 995

で、上記設定をしてから GUI で確認すると、

&ref(static-nat-gui.png,,50%);

これをどうしろっていうんだろう?

** ここでも保存 [#c0405397]

 LANG:console
 Exec$ copy running-config startup-config
 Exec$ copy startup-config usbflash0:config-history7

* ファイアーウォールの設定 [#k556c30f]

[セキュリティ] - [ポリシー] から確認すると、

- ポリシー名 Web (変更なし)
-- アクション 許可
-- 送信元ゾーン LAN
-- 宛先ゾーン WAN
-- 送信元ネットワーク Any
-- 宛先ネットワーク Any
-- 選択されたアプリケーション http
-- 送信元ポート Any
-- 宛先ポート Any
-- ドメインフィルタリング なし
-- ユーザグループ 選択なし
- ポリシー名 Others (選択されたアプリケーションに追加)
-- アクション 許可
-- 送信元 LAN
-- 宛先 WAN
-- 送信元ネットワーク Any
-- 宛先ネットワーク Any
-- 選択されたアプリケーション https, smtp, pop3, imap, sip, ftp, dns, icmp, imaps, pop3s, ntp, ssh, irc
-- 送信元ポート Any
-- 宛先ポート Any
-- ドメインフィルタリング なし
-- ユーザグループ 選択なし

基本、これらは内側から外側へのパケットなので、
ここで指定した以外のポートを使うアプリケーションは動かなくなる。

必要か?これ???

あれ??? [OK] を押したら 「ポリシーは設定されていません」 になってしまった。

なんだ、それ?!

** 保存しておく [#u9cf7462]

 LANG:console
 Exec$ copy running-config startup-config
 Exec$ copy startup-config usbflash0:config-history8

config ファイルを見ると上で追加したプロトコルが追加されていない。

あと、Others だったところが others 担っている部分がいくつかあり、

さらに、

 class type inspect Others
  inspect 

が無くなっていて、

 service-policy type inspect LAN-WAN-POLICY

も無くなっていた。

えーと、こんなに分かりやすいバグが残っているのですか?

** 手動で設定する [#gc6d41b0]

config-history7 に以下のように項目を加えて、
config-history8b として保存した。

  class-map type inspect match-any Others_app
   match protocol https
   match protocol smtp
   match protocol pop3
   match protocol imap
   match protocol sip
   match protocol ftp
   match protocol dns
   match protocol icmp
 + match protocol imaps
 + match protocol pop3s
 + match protocol ntp
 + match protocol ssh
 + match protocol irc

 LANG:console
 Exec$ copy usbflash0:config-history8b startup-config
 Exec$ reload

としてリブートしたところ設定が更新された。

ちゃんと項目が増えている:~
&ref(policy-added-application.png,,50%);

** ファイアーウォールの設定は off にした方が良いのかも [#jb984a62]

なんかうっかり設定壊しそうなのと、
そもそも中から外へのパケットを落とす意味がそれほどあるとも思えない???

* 内部からサーバーにアクセスする [#s29ac7e8]

以上の設定で、

- 内部のマシン同士(サブネット内は直接やりとり)
- 内部から外部へ(NAT)
- 外部から内部サーバーへ (sNAT によるフォワーディング)

は可能になったはずですが、

- 内部から内部サーバーへ

はうまくいきません。

内部から、130.158.130.211 へアクセスすると、
このアドレスはサブネット外なので、
ゲートウェイであるルーターを通じて外へ出て行ってしまい、
ルーターへ戻ってくることはないので、行方不明になってしまいます。

この問題を解決するには、

+ 内部から 130.158.130.211 へのアクセスを
snat を通して内向きに送り返す
+ 内部にはサーバーのアドレスとして内部アドレスである
10.225.10.2 を教えておく (内部用の DNS サーバーを立てる)

の2つがあります。

** ルーティングでなんとかならないか [#v7eca31c]

http://www.merges.co.jp/archives/874

この感じ、たぶんなんとかはならないみたい?

** DNS でなんとかする [#yd2f4ee8]

調べてもよくわからない・・・

http://www.cisco.com/cisco/web/support/JP/docs/CIAN/IOS/IOSSWRels15_1/CG/001/iad_config_dns.html?bid=0900e4b1825ae5ce#pgfId-1049340

http://blog.redbox.ne.jp/cisco-pppoe-setting.html

http://www.firewall.cx/cisco-technical-knowledgebase/cisco-routers/257-cisco-router-dns-server.html

 LANG:console
 Exec$ ping dora.bk.tsukuba.ac.jp
  Translating "dora.bk.tsukuba.ac.jp"...domain server (130.158.68.21) (8.8.8.8)
  % Unrecognized host or address, or protocol not running.
 Config$ ip host dora.bk.tsukuba.ac.jp 10.225.225.2
  コマンドは正常に完了しました。
 Exec$ ping dora
  Type escape sequence to abort.
  Sending 5, 100-byte ICMP Echos to 10.225.225.2, timeout is 2 seconds:
  .....
  Success rate is 0 percent (0/5)
 Exec$ ping dora.bk.tsukuba.ac.jp
  Type escape sequence to abort.
  Sending 5, 100-byte ICMP Echos to 10.225.225.2, timeout is 2 seconds:
  .....
  Success rate is 0 percent (0/5)
 Config$ ip dns server
  コマンドは正常に完了しました。

一応、dora や dora.bk.tsukuba.ac.jp を 10.225.225.2 に変換してくれているみたい。

これだけで良いのだろうか???

外から引けるかどうかはよくわからない。

どのインターフェース向けに dns を提供するとか、指定できないと困るのだけれど。

** とりあえず保存 [#kc63e525]

 LANG:console
 Exec$ copy running-config startup-config
 Exec$ copy startup-config usbflash0:config-history9

* 実際に動かしてみる [#j004e870]

既存のルータと取り替えてみます

- できたこと
-- http://10.225.225.1/ で 800M の設定画面が出た~
(出るんだ)
-- http://10.225.225.2/ で 研究室の web サーバー に繋がった~
(IP アドレスの固定ができた)
- できないこと
-- 外へ出られない
-- 外からサーバーに繋がらない

肝心なルータ機能 (NAT, static NAT) が働いてない orz

Firewall を off にして設定し直してみたけでやはりだめ。

NAT は GUI 一発で設定しているはずなので動かないのは納得いかないところ。

* しかしこれ [#obc4be09]

わざと情報を小出しにしてるんじゃなきゃ、よっぽどダメダメですよ。

わざとわかりにくくしてサポートで稼ごうとか、そういう仕組みを疑ってしまうほどの
情報の細切れさだと思います。

間違ってもこれを人には勧められない。。。

Counter: 83220 (from 2010/06/03), today: 1, yesterday: 0