2014年3月30日日曜日

BBR-4HG環境でWindows7(64bit)を使用すると、Web接続が不安定になる

4月からの増税かつ、WindowsXPの保守切れ対応としてPCを新調したは良いのですが、少しトラブルがあったため、
記録しておきます。


私の自宅で使用しているブロードバンドルータは、
BUFFALO社製 BBR-4HG です。
WindowsXP時代から、8年に渡って現役を貫いている、
とても安定した機種です。
環境によっては、実測値ベースで90Mbps以上を出すこともできました。

ところが、Windows7(64bit)でWeb接続を試みたところ、
接続が不安定になる事象が発生しました。
具体的には、 BBR-4HG再起動直後はWeb接続可能ですが、
数分するとWeb接続不可能になりました。

スマホやゲーム機(PS3)から接続を試しても、
DNSエラーとのことで、どうやら BBR-4HGが機能していなさそうな模様。
※PCからBBR-4HG宛のPingは通りましたが、
  GUI管理画面へのアクセスがとても遅く、ほぼアクセス不可の状態でした。

色々と調べたところ、古いファームウェアを利用した
BBR-4HGは、Vista以降のWindowsOSからの接続があると、
ハングアップしてしまう事象があるとのことでした。

なので、以下の通りファームウェアを更新し、
現在は Windows7(64bit)から快適にWeb接続可能となりました。

【更新前】
 1.33 Release 0001
【更新後】
 1.45 Release 0003

まだまだBBR-4HGには現役でいてもらいたいものです。

2014年3月26日水曜日

Cisco機器のコンフィグをTera Termマクロで一度に流し込む

Cisco機器にコンフィグを投入するとき、
予めテキストにコンフィグ内容を記載しておき、
少しずつ、Tera Term等のターミナルソフトにコピペしている人も
結構多いのではないでしょうか。

余りにも一気にコピペを行うと、
Cisco機器が正しく読み込んでくれなかったりするため、
このような文化になっています。

コンソール接続の場合はTera Termにおけるシリアルポート設定で、
「送信遅延」を設定することで、
一気にコピペをしても大丈夫にはなりますが、
その名の通り、入力に遅延をかけるものなので、
通常より時間がかかる上に、途中でのキャンセルができません。
(※通称:流し込み)

下記のTera Termマクロを使用すれば、
マクロ実行後にEnterを1度押すだけで、
指定されたテキストファイルを最後まで投入することができます。

動作確認はTera Term Version 4.82 で実施しています。
古いバージョンでは、ファイル選択ダイアログが表示されず
マクロエラーとなってしまうのでご注意下さい。

◆Tera Termマクロ
 (この下の行から fileclose までの行を拡張子 .ttl として保存して下さい。)
;--------------------------------------------
; プロンプト設定
;--------------------------------------------
prompt = '#'

;--------------------------------------------
; 投入Configファイルの選択 [キャンセル]なら終了
;--------------------------------------------
filenamebox '投入Configファイルを選択して下さい。' 0
if result = 0 then
  end
endif

config = inputstr

;--------------------------------------------
; 投入Configファイルの確認 [いいえ]なら終了
;--------------------------------------------
strconcat msg config
strconcat msg ' を投入しますか?'
yesnobox msg 'Tera Term'

if result = 0 then
  end
endif

; ファイルを開く
fileopen fHandle config 0

;--------------------------------------------
; 読み込んだファイルを1行ずつ投入
;--------------------------------------------
:loop
  wait prompt
  filereadln fHandle line

  ; ファイルの最終行なら終了処理へ
  if result goto fclose

  sendln line
  goto loop

; 終了処理
:fclose
  fileclose fHandle

◆使い方
1. グローバルコンフィグレーションモードに移動した状態で、
[コントロール] → [マクロ] を選択します。













2. ここでは、cisco_add.ttl というファイル名で保存したので、
これを選択し、[開く] をクリックします。













3. 投入したいコンフィグが記述されたテキストファイルを選択し、
[開く] をクリックします。













4. 投入したいコンフィグファイルに誤りがないことを確認し、
[はい] をクリックします。









5. Tera Termに戻って、Enterキーを押すと、
流し込みが開始されます。

 ※ご使用は自己責任でお願いします。

2014年3月25日火曜日

GNS3内の仮想ルータと、実機のCatalystを接続する

Cisco機器のシミュレータであるGNS3においては、
NM-16ESW と呼ばれるイーサネットスイッチモジュールにより、
ある程度の機能をシミュレートすることはできますが、
Catalystは完全にサポートされていません。


なので、きちんとした勉強をしたい場合、Ciscoルータも
Catalystスイッチも両方とも実機で揃えなければならないか?
と言うと、そんなことはありません。

オークションなどでCatalyst及び
GNS3でシミュレートできるCiscoルータ(とIOS)が用意できれば、

あとはCatalystをPCに接続するNICを用意すれば良いです。
必要な枚数のNICがあれば、
GNS3内の仮想ルータと実機のCatalystを接続できます。

CCIE R&S対策に、構成を検討している方も多いかと思います。
V5.0のLab試験トポロジがどのような構成か不明点が多いですが、
少なくとも、「CCIE Routing and Switching v5.0 Configuration Practice Labs」を見る限り
Catalyst⇔GNS3間の接続NIC数は、V4.0の頃と同じく、
現時点では12ポートもあれば充分な気がしています。


問題は、この12ポートを確保する方法です。
以下の2案※が候補となりました。

 A. 4ポートNICを3枚用意する(quad NIC)
  この方法が一番良さそうなのですが、安価なNICはLinux限定だったり、
  64bit版のWindows7では動かなかったりするようです。
  そもそも、手に入りにくかったりします。

B.  USBハブ経由で、USB-LANアダプタを12個接続する
  お手軽ではありますが、配線がゴチャゴチャしたり、
  動作が不安定になることが予想されます。

※3案目として、breakout switch という方法もあるようですが、
  CDPの出力に違和感が発生したり、
  1台多くCatalystが必要なので、断念しました。

私はB案を採用し、機材は以下を使用しました。
USBハブ1台につき、バスパワーで4台のUSB-LANアダプタを接続しています。
なお、以下のUSB-LANアダプタ及びUSBハブは、
WindowsXP / Windows7(32,64bit) / Windows8 (32,64bit)
に対応しています。

実際に動作させてみたところ、動作も安定しており、問題ないと言えます。

・USB-LANアダプタ(LUA3-U2-ATX)

・USBハブ(BSH5UD0610)


接続後にUSB-LANアダプタのドライバを、付属のCD-ROMまたは、
Web上から入手してインストールすれば、下記のように
「ローカルエリア接続 <No.>」として認識されます。

なお、12個使用する場合、ドライバのインストールが12回必要です。
どこのポートに接続するのか、名前を変更しておくとわかりやすいです。
その他にはPC側で、各USB-LANアダプタに設定変更等は不要です。














物理接続は、以下のようになっています。










PCを再起動してから、GNS3を起動しましょう。
クラウドを選択し、配置します。












配置されたクラウドをダブルクリックして表示される設定画面から、
接続したいNICを選択します。














追加 → OK をクリックします。














後は通常通り、仮想ルータを配置し、クラウドと接続すれば良いです。
物理接続を行った数だけクラウドが配置されます。











同一Catalystへ接続している箇所は、
クラウドを重ねると見栄えがよくなります。











以下、参考情報です。
きちんとPing疎通もOKですし、CDPによる情報取得も正常です。

◆Ping疎通

Catalyst3560#ping 192.168.10.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/16/25 ms
Catalyst3560#ping 192.168.20.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.20.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/18/51 ms
Catalyst3560#ping 192.168.30.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.30.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/15/25 ms
Catalyst3560#ping 192.168.40.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.40.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/20/42 ms
Catalyst3560#ping 192.168.50.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.50.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/16/42 ms
Catalyst3560#ping 192.168.60.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.60.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/15/25 ms
Catalyst3560#ping 192.168.70.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.70.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/18/42 ms
Catalyst3560#ping 192.168.80.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.80.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/20/34 ms
Catalyst3560#ping 192.168.90.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.90.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 9/15/25 ms
Catalyst3560#ping 192.168.100.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.100.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/16/33 ms
Catalyst3560#ping 192.168.110.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.110.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/18/33 ms
Catalyst3560#ping 192.168.120.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.120.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/15/33 ms

◆ARPテーブル
Catalyst3560#show arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.10.1            -   0023.0442.cec1  ARPA   FastEthernet0/1
Internet  192.168.10.254         14   c201.0c3c.0000  ARPA   FastEthernet0/1
Internet  192.168.20.1            -   0023.0442.cec2  ARPA   FastEthernet0/2
Internet  192.168.20.254         13   c202.0c3c.0000  ARPA   FastEthernet0/2
Internet  192.168.30.1            -   0023.0442.cec3  ARPA   FastEthernet0/3
Internet  192.168.30.254         12   c203.0c3c.0000  ARPA   FastEthernet0/3
Internet  192.168.40.1            -   0023.0442.cec4  ARPA   FastEthernet0/4
Internet  192.168.40.254         11   c200.0c3c.0000  ARPA   FastEthernet0/4
Internet  192.168.50.1            -   0023.0442.cec5  ARPA   FastEthernet0/5
Internet  192.168.50.254         11   c204.02f0.0000  ARPA   FastEthernet0/5
Internet  192.168.60.1            -   0023.0442.cec6  ARPA   FastEthernet0/6
Internet  192.168.60.254         11   c206.0abc.0000  ARPA   FastEthernet0/6
Internet  192.168.70.1            -   0023.0442.cec7  ARPA   FastEthernet0/7
Internet  192.168.70.254         10   c207.0abc.0000  ARPA   FastEthernet0/7
Internet  192.168.80.1            -   0023.0442.cec8  ARPA   FastEthernet0/8
Internet  192.168.80.254         10   c208.0abc.0000  ARPA   FastEthernet0/8
Internet  192.168.90.1            -   0023.0442.cec9  ARPA   FastEthernet0/9
Internet  192.168.90.254          9   c209.0abc.0000  ARPA   FastEthernet0/9
Internet  192.168.100.1           -   0023.0442.ceca  ARPA   FastEthernet0/10
Internet  192.168.100.254         9   c20a.0fac.0000  ARPA   FastEthernet0/10
Internet  192.168.110.1           -   0023.0442.cecb  ARPA   FastEthernet0/11
Internet  192.168.110.254         8   c20b.0fac.0000  ARPA   FastEthernet0/11
Internet  192.168.120.1           -   0023.0442.cecc  ARPA   FastEthernet0/12
Internet  192.168.120.254         8   c20c.0fac.0000  ARPA   FastEthernet0/12
Catalyst3560#

◆CDP

Catalyst3560#sh cdp neighbors detail
-------------------------
Device ID: R12
Entry address(es):
  IP address: 192.168.120.254
Platform: Cisco 3725,  Capabilities: Router Switch IGMP
Interface: FastEthernet0/12,  Port ID (outgoing port): FastEthernet0/0
Holdtime : 147 sec

R12#show cdp neighbors detail
-------------------------
Device ID: Catalyst3560
Entry address(es):
  IP address: 192.168.120.1
Platform: cisco WS-C3560-24TS,  Capabilities: Router Switch IGMP
Interface: FastEthernet0/0,  Port ID (outgoing port): FastEthernet0/12
Holdtime : 136 sec

◆2014/04/26追記
 Windows7(64bit版)でも、上記構成が問題なく動作することを確認しました。

Ciscoルータを使用してVRF間ルーティングを実装する

VRF ( Virtual Routing and Forwarding )機能を使用すると、
物理的なルータ1台の中に、仮想的にルータを作成することができ、
VRFが分かれているなら、IPアドレスが重複しても問題ありません。

VRFはキャリア等の、通信サービス事業者で使用されている技術です。
同じ通信サービス事業者を使用している企業がたくさんあれば、
異なる企業同士でIPアドレスが重複する可能性も高くなり、
企業が使用できるIPアドレスに制限が出てしまいます。


そこで、企業が自由にIPアドレスを選択できるように、
通信サービス事業者内では、VRFによって企業単位で
ルーティングテーブルを分けているのです。

通常のままですと、VRF間の通信はできませんが、
IPアドレスが重複していない下記のような構成の場合、
StaticルートによってVRF間を通信させることができます。

R2のStaticルート設定において、nexthopアドレスと、
出力インタフェースの両方を指定するのがポイントです。

◆構成

















◆R1 Config抜粋
ip vrf VRF_A

interface FastEthernet0/0
 ip vrf forwarding VRF_A
 ip address 10.1.1.254 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip vrf forwarding VRF_A
 ip address 1.1.1.1 255.255.255.0
 duplex auto
 speed auto
!
ip route vrf VRF_A 20.1.1.0 255.255.255.0 1.1.1.2

◆R2 Config抜粋
ip vrf VRF_A
!
ip vrf VRF_B

interface FastEthernet0/0
 ip vrf forwarding VRF_A
 ip address 1.1.1.2 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip vrf forwarding VRF_B
 ip address 2.2.2.2 255.255.255.0
 duplex auto
 speed auto
!
ip route vrf VRF_A 10.1.1.0 255.255.255.0 1.1.1.1
ip route vrf VRF_A 20.1.1.0 255.255.255.0 FastEthernet0/1 2.2.2.1
ip route vrf VRF_B 10.1.1.0 255.255.255.0 FastEthernet0/0 1.1.1.1
ip route vrf VRF_B 20.1.1.0 255.255.255.0 2.2.2.1

◆R3 Config抜粋
ip vrf VRF_B

interface FastEthernet0/0
 ip vrf forwarding VRF_B
 ip address 20.1.1.254 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip vrf forwarding VRF_B
 ip address 2.2.2.1 255.255.255.0
 duplex auto
 speed auto
!
ip route vrf VRF_B 10.1.1.0 255.255.255.0 2.2.2.2




◆確認
PC_A#ping 20.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/87/128 ms
PC_A#
PC_A#traceroute 20.1.1.1

Type escape sequence to abort.
Tracing the route to 20.1.1.1

  1 10.1.1.254 44 msec 32 msec 32 msec
  2 1.1.1.2 40 msec 44 msec 32 msec
  3 2.2.2.1 96 msec 80 msec 80 msec
  4 20.1.1.1 96 msec 68 msec 68 msec
PC_A#

PCやCiscoルータの1つのネットワークインタフェースにIPアドレスを複数設定する

私も最近知ったのですが、1つのNICにIPアドレスを複数設定できます。

例えば、複数台のSyslogサーバが存在するシステムにおいて、
新規にネットワーク機器を導入する際、当該機器からのSyslogが複数のSyslogサーバに送信されることを事前に確認しておく必要があるとします。

このとき、ネットワークインタフェース(いわゆるLANポート)が1つだけある、
PCに複数同時にIPアドレスを設定することができます。

手順は以下の通りです。

◆PCの手順
※画像はWindowsXPですが、
  WindowsVistaやWindows7でも同様の設定は可能なはずです。

1. ファイル名を指定して実行を開きます。
 (Win+R が早いですね。)

2. ncpa.cpl と入力してEnterを押下します。
 (どのWindowsOSでも「ネットワーク接続」の画面を表示できるので、
 ショートカットとして便利です。)









3. ローカルエリア接続を右クリックして、プロパティを選択します。


4. インターネットプロトコル(TCP/IP)をダブルクリックします。



















5. 詳細設定 をクリックします。

















6. 追加 をクリックします。


















 7. 追加したいIPアドレスを入力して、追加 をクリックします。 
  これまでに開いたウインドウも全てOKで閉じていきます。








8. コマンドプロンプトから ipconfig で確認すると
  IPアドレスが2つ割り振られていることが確認できます。


◆Ciscoルータの手順
Ciscoルータを設定しているような方でしたら、詳細は不要かと思いますので、
Configだけ記載しておきます。この設定は、セカンダリアドレス というそうです。
ただし、「セカンダリアドレス」を使用すると、ルーティングプロトコルの
隣接関係が正常に確立できないなど、問題もあるそうなので、あくまで予備知識としての
位置付けとして置いたほうが賢明かと思います。
※セカンダリアドレス宛に、他機器からのNTP同期は成功しました。

interface FastEthernet0/0
 ip address 192.168.1.2 255.255.255.0 secondary
 ip address 192.168.1.1 255.255.255.0
 duplex auto
 speed auto
!