如果您喜歡這裡的內容,記得分享到您的Facebook和Twitter上面所有的朋友們吧!

2009年4月30日 星期四

怎麼會忽然 "動態取得" 一個怪怪的 IP 位址? (DHCP Snooping)

其實就是有人在你的網段中, 不小心打開了 DHCP Server 功能. 最常見的原因, 就是因為網路孔位不足, 有人自己去電子商場買了 "寬頻分享器" (Cheap, SOHO, Broadband Router). 通常他們的 DHCP 服務預設都是打開的, 而且都是 192.168.1.0/24 這個網段. 所以這些怪怪的 IP 位址, 通常都是長得這個模樣: 192.168.1.X.

而且整個網段, 通常會"部分取得正確, 部分取得錯誤". 我相信很多網管工作者都有遇到過這種窘境.

如何防範, 其實在各位的 Cisco 2950 以上的 Switch 就支援的 DHCP Snooping 功能, 正是為了解決這個問題而來的! 打開以後, 不管再有誰做這種事, 也不會發生錯誤取得IP位址的問題!

DHCP Snooping 的原理簡單的來說, Switch 會監看 DHCP 的活動, 就是只允許指定的部分 Switch Port 放行 DHCP伺服器的回應封包, 其他的一律不准. 所以只會取得指定 Server 回應的 DHCP 內容.

注意: 有一點很重要, 如果 DHCP Server 不是接在本 Switch 時, Uplink port 請務必要允許 DHCP Server 回應, 不然整台 Switch 上的 PC 都會收不到動態的 IP位址資訊!

另外, 因為設定過程會影響 DHCP 運作, 建議最好是在下班時間再啟動這個功能!

以下是典型的設定:
! Global, 啟動 DHCP Snooping, 這行一定要
 ip dhcp snooping

! 假設只對 VLAN 100 和 VLAN 200 作 DHCP 設限, 這行也一定要
 ip dhcp snooping vlan 100 200

! DHCP Server 埠, 或是 Uplink, 這點很重要, 不然會全部都收不到!
 interface GigabitEthernet0/1
  ip dhcp trust

! 一般使用者埠, 這是預設值, 可以不用下
 interface FastEthernet 0/1
  no ip dhcp trust

[Reference]
DHCP Snooping Configuration Guidelines section of Configuring DHCP Features, on Cisco.com


2009年4月28日 星期二

Windows 上啟用 SNMP 服務

我在作業系統為 Windows XP Pro 和 Windows Server 2003 上面有試過是成功的, XP Home 我就不確定, 有待網友補充!

我以下先用 Windows XP Pro 舉例, 至於其他版本的 Windows, 原理應該是一樣的!

簡單的步驟如下
  1. 安裝SNMP服務軟體. 從 "控制台"\"新增移除 Windows 元件"\"Management and Monitoring Tools"\"Simple Network Management Protocol"
  2. 建議最好接著更改群組代碼允許查詢的來源 IP位址.

我也將幾個關鍵畫面貼給各位參考!

2009年4月27日 星期一

VUE: Cisco 重考一次優惠: “Specialize” Promotion

一樣是可重考一次, 但是僅限於以下幾個 CCNA Specialization:
  • 640-460 IIUC CCNA Voice
  • 640-553 IINS CCNA Security
  • 640-721 IUWNE CCNA Wireless

有效期間跟之前的狀況一樣, 我都找不到官方資訊! 很有可能都是 2009 年 7 月中. 如果還沒考過 CCNA和相關考試的朋友, 建議要好好利用!


[Reference]



2009年4月26日 星期日

2009年4月21日 星期二

唱首歌, 來告訴你甚麼是 "Spanning Tree"!



這首詩歌的詞, 正是 Radia Perlman 本人. "她" 正是發明 "Spanning Tree" 的那位博士. 至於 Piano 曲是否真為本人, 那我就不知了!

Algorhyme

I think that I shall never see
A graph more lovely than a tree.

A tree whose crucial property
Is loop-free connectivity.

A tree that must be sure to span
So packets can reach every LAN.

First the root must be selected.
By ID, it is elected.

Least-cost paths from root are traced.
In the tree, these paths are placed.

A mesh is made by folks like me,
Then bridges find a spanning tree.


- Radia Perlman

http://books.google.com/books?id=AIRitf5C-QQC&pg=PA58&vq=spanning+tree&dq=book+interconnections+spanning+tree&source=gbs_search_s&cad=0

On Page 58.

2009年4月19日 星期日

設定啟動 IPv4 和 IPv6 共存, 並同時提供完整連通性 (CNA-04-006)

CCNA Exploration 4.0 第四學期上課檔案 (CNA-04-006), 設定啟動 IPv4 和 IPv6 共存, 並同時提供完整連通性.




這個例子主要是讓大家練習, IOS IPv6 的相關命令, 和啟動 IPv6 路由交換協定的新方法.

(請注意, Packet Tracer Version 4.X 並不支援 IPv6, 所以請務必使用 5.X 以後的版本!)

網路卡的位址我已經幫各位加上去了, 各位只需要觀察就好!

interface FastEthernet0/0
 ip address 10.1.1.1 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
 ipv6 address 2001:1:1:1::1/64
!
interface Serial0/0/0
 ip address 10.2.2.1 255.255.255.0
 ipv6 address 2001:2:2:2::1/64
 clock rate 64000
!

路由資訊交換協定, 則要各位自己加. 啟動 IPv4 RIPv2 應該難不倒各位, 只要按照基本兩步驟即可:
  1. 先用 "router X" 命令, 帶起路由資訊交換協定的軟體
  2. 再用 "network Y" 命令, 指名哪些網路卡要啟用這個協定軟體

router rip
 version 2
 network 10.0.0.0
 no auto-summary
!

當然以本例來說, 剛好並不需要 "no auto-summary", 不過, 養成好習慣也不錯!

至於 IPv6 的 RIPng 的部分, 設定的方式就和 IPv6 有很大的不同:
  1. 還是需要先帶起該協定的軟體, 但是這時候就要取個名字了(標籤, TAG), 因為可以支援多份 (Multiple Instance)
  2. 直接到網卡指名, 要不要啟動該協定軟體, 的哪一個 Instance

interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
 ipv6 address 2001:1:1:1::1/64
 ipv6 rip CCNA enable 
!
interface Serial0/0/0
 ip address 10.2.2.1 255.255.255.0
 ipv6 address 2001:2:2:2::1/64
 ipv6 rip CCNA enable 
 clock rate 64000
!
interface Serial0/0/1
 no ip address
 shutdown
!
ipv6 router rip CCNA
!

請注意, 本例中的標籤 "CCNA" 僅為內部識別使用! 所以各位還可以自己玩一下, R1 和 R2 使用不同的標籤名稱, 來驗證一下這件事!

2009年4月16日 星期四

讓我們一起為他加油吧!

Purple Lotus (DSCN1136)
Purple Lotus (DSCN1136),
originally uploaded by Li-Ji.
我們之間的一位朋友, 今天要去參加好不容易才等到的一次工作面試.

讓我們一起為他加油吧!

2009年4月14日 星期二

設定 Cisco IOS 位址轉譯功能 (NAT and PAT), 來讓內部使用者可以連上 Internet (CNA-04-005)

CCNA Exploration 4.0 第四學期上課檔案 (CNA-04-005), 設定 Cisco IOS 位址轉譯功能 (Network Address Translation, NAT, and Port Address Translation, PAT), 來讓內部使用者可以連上 Internet.




這個練習的圖和定址其實和前面的 ACL 例子一模一樣, 我們還是拿 R0 當做 Internet, 只不過將 R0 和 R1間的EIGRP拿掉. 並在 R1 上加入 Default route, 指向 R0 (Internet).

一開始, 下方的兩個網段的任何PC或是Switch, 都是沒有辦法連線到 R0 (Internet) 的, 這是因為 R0 根本就沒有這兩個網段的路由資訊. 除非, R1 可以將下方兩個網段的 PC 或是 Switch 出發的連線的來源位址, 都轉譯成 10.1.1.0/24 網段內的 IP 位址, 那才有機會成功連線!

所以各位還記得 NAT 和 PAT 的基本三設定要素:
  1. 指明 Inside 網卡: 從哪些網卡進來的封包, 它們的位址需要被轉換
  2. 指明 Outside 網卡: 從哪些網卡進來的封包, 它們的位址需要被還原
  3. 指明位址轉譯規則: 這點 NAT 就和 PAT 不同, 而且有好幾種模式

前兩個步驟 NAT 和 PAT 都一樣
interface FastEthernet0/0
 ip address 192.168.10.1 255.255.255.0
 ip nat inside
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 192.168.11.1 255.255.255.0
 ip nat inside
 duplex auto
 speed auto
!
interface Serial0/0/0
 ip address 10.1.1.1 255.255.255.0
 ip nat outside
 clock rate 64000
!

[PAT]

第三步就不同, 我先說明 PAT. PAT 提供的功能, 就是要盡量節省 IP 位址的使用, 所以就直接拿 R1 的 S0/0/0 IP 位址來給大家共用, 但是利用 TCP 和 UDP 的 Port 號來區別, 哪一個封包該還原回哪一個位址.

另外, ACL 在這裡又派上用場, 當成篩選封包的條件: 如果篩選結果是 "permit", 那就幫你 PAT, 反過來如果是 "deny", 則 不 幫你 PAT.

關鍵設定如下:


ip nat inside source list 100 interface Serial0/0/0 overload
!
access-list 100 permit ip 192.168.10.0 0.0.0.255 any
access-list 100 permit ip 192.168.11.0 0.0.0.255 any
!

以下是轉譯的觀察, 我分別從兩台 PC, TELNET 到 R0, 在 R1 上看到的結果.

R1>show ip nat translation
Pro  Inside global     Inside local       Outside local      Outside global
tcp 10.1.1.1:1024      192.168.10.10:1025 10.1.1.2:23        10.1.1.2:23
tcp 10.1.1.1:1025      192.168.11.10:1025 10.1.1.2:23        10.1.1.2:23

R1>


從 R0 上看更清楚, R0 以為是來自 10.1.1.1 的兩個連線.

R0>show user
    Line       User       Host(s)              Idle       Location
* 67 vty 0                idle                 00:00:00 10.1.1.1
  68 vty 1                idle                 00:01:48 10.1.1.1

  Interface    User               Mode         Idle     Peer Address
R0>

[NAT]

NAT 指的是上網的 PC 各自完全佔用一個 IP 位址. 所以設定上也不同. 我先假定有連續一整段的 IP 位址可以供分配來使用: 10.1.1.101 到 10.1.1.200.

請注意, 單純的 NAT, 是完全佔用一個 IP 位址, 所以, 先搶先贏, 搶不到的人, 就完全沒有位址可以上網! 本例子中, 只有前 100 名有位址可用. 第 101 位使用者起, 就只好說抱歉了!

關鍵設定如下:

ip nat pool INET-POOL 10.1.1.101 10.1.1.200 netmask 255.255.255.0
ip nat inside source list 100 pool INET-POOL
!
access-list 100 permit ip 192.168.10.0 0.0.0.255 any
access-list 100 permit ip 192.168.11.0 0.0.0.255 any
!

跟前面一樣, 以下是轉譯的觀察, 我分別從兩台 PC, TELNET 到 R0, 在 R1 上看到的結果.

R1>show ip nat translation
Pro  Inside global     Inside local       Outside local      Outside global
---  10.1.1.101        192.168.10.10      ---                ---
---  10.1.1.102        192.168.11.10      ---                ---

R1>

從 R0 上看更清楚, R0 以為是 分別來自 10.1.1.101 和 10.1.1.102 的兩個連線.

R0>show users
    Line       User       Host(s)              Idle       Location
*  0 con 0                idle                 00:00:00 
  67 vty 0                idle                 00:01:45 10.1.1.101
  68 vty 1                idle                 00:01:35 10.1.1.102

  Interface    User               Mode         Idle     Peer Address
R0>

2009年4月13日 星期一

時機不好, 更要增加自我學習的份量

Open wide and full (DSCN0634)
Open wide and full (DSCN0634),
originally uploaded by Li-Ji.
時機不好, 讓人不管是身處在哪一個行業, 或是遇到了哪種狀況, 多少都會感覺到: 時間忽然變多了!

從另外一個角度來想, 時間變多, 不就正好就是學習充電的好機會! 以下我舉一些可以嘗試的方向:

  1. 我課堂有提過的 Cisco 官方學習網站, 是否應該多花點時間去逛逛? 順便練練英文溝通也不錯!
  2. 如果可以爭取得到公司的贊助, 去上上課也不錯! 例如直接在上方的 Google自訂搜尋中搜尋 "ccnp", 就會得到不少課程資訊了!
  3. 用 Email 訂閱本網站, 告訴我你想知道哪些新資訊, 讓我可以多寫些內容給各位看!

其實還是要鼓勵大家多多訂閱本網站啦! 我準備了一份小小的神秘禮物, 只要在今年2009年12月31日之前使用 Email 訂閱成功的朋友,每位都可以得到! 現在已經 Email 訂閱的老朋友也有喔!

歡迎大家廣為宣傳!


2009年4月7日 星期二

使用存取控制清單 (Access Control List, ACL), 來限制 Internet 進來的連線 (CNA-04-004)

CCNA Exploration 4.0 第四學期上課檔案 (CNA-04-004), 使用存取控制清單 (Access Control List, ACL), 來限制 Internet 進來的連線.




這個例子我們必須使用 "延伸式ACL" (Extended ACL). 這是因為來自相同 IP 位址的封包, 有不同的權限: ICMP 可以過, 但是 TCP 的 port 23 TELNET 不能過.

至於ACL的內容, 我使用以下的方式給各位參考:


interface Serial0/0/0
 ip address 10.1.1.1 255.255.255.0
 ip access-group 100 in
 clock rate 64000
!
access-list 100 deny tcp any 192.168.0.0 0.0.255.255 eq telnet
access-list 100 permit ip any any

這個例子是套用在 "Serial0/0/0" 其實相同的 ACL 也可以只套用在 "FastEthernet0/0" 和 "FastEthernet0/1", 效果相同.

2009年4月6日 星期一

使用 TFTP 還原 IOS 映像檔, 與設定內容的備份/還原練習 (CNA-04-003)

CCNA Exploration 4.0 第四學期上課檔案 (CNA-04-003), 使用 TFTP 還原 IOS 映像檔, 與設定內容的備份/還原練習.




這個例子純粹只是提供一個簡單的 Packet Tracer 環境, 讓大家可以練習與感覺一下, Cisco IOS 映像檔 (Image file) 如何還原, 與設定內容 (Configuration) 的備份與還原.

不過, 如果各位有真實的 Router/Switch, 還是盡量以真實的機器練習, 畢竟 Packet Tracer 只是模擬器! 同時還少了很多, 例如 IOS 映像檔備份這個方向的練習。

[In Packet Tracer 5.0]


Cisco-Switch-2960>en
Cisco-Switch-2960#copy ?
  running-config  Copy from current system configuration
  startup-config  Copy from startup configuration
  tftp:           Copy from tftp: file system
Cisco-Switch-2960#copy tftp: ?
  flash:          Copy to flash: file system
  running-config  Copy configuration from system
  startup-config  Copy startup configuration from system
Cisco-Switch-2960#
[In real Cisco 2960 switch]
Cisco-Switch-2960#copy ?
  /erase          Erase destination file system.
  /noverify       Disable automatic image verification after copy
  bs:             Copy from bs: file system
  cns:            Copy from cns: file system
  flash:          Copy from flash: file system
  ftp:            Copy from ftp: file system
  null:           Copy from null: file system
  nvram:          Copy from nvram: file system
  rcp:            Copy from rcp: file system
  running-config  Copy from current system configuration
  startup-config  Copy from startup configuration
  system:         Copy from system: file system
  tftp:           Copy from tftp: file system
  xmodem:         Copy from xmodem: file system
  ymodem:         Copy from ymodem: file system

Cisco-Switch-2960#copy tftp: ?
  flash:          Copy to flash: file system
  null:           Copy to null: file system
  nvram:          Copy to nvram: file system
  running-config  Update (merge with) current system configuration
  startup-config  Copy to startup configuration
  system:         Copy to system: file system

Cisco-Switch-2960#

2009年4月1日 星期三

Frame-Relay 搭配 RIP 的問題設定與解決 (CNA-04-002)

CCNA Exploration 4.0 第四學期上課檔案 (CNA-04-002), Frame-Relay 搭配 RIP 的問題設定與解決.




當然我上課中並不鼓勵大家繼續使用 RIP, 不過這是一個典型的 "Frame-Relay + RIP" 的老問題, 所以還是提出來讓大家認識一下問題所在.

這個例子中, 我們只有兩條 Virtual Circuit 可以用, 分別是 "Router 1/Router 2 間", 與 "Router 2/Router 3 間".

Frame Relay 的設定並不困難, 只要在 Serial 網卡 Encapsulation 改成 "frame-relay" 即可. 以 Router 1為例:


interface Serial0/0/0
 ip address 10.1.1.1 255.255.255.0
 encapsulation frame-relay

稍等一下子, 等 Cisco 的反向 ARP (Inverse ARP) 資料同步後, 這三部路由器之間是可以透過 Serial 網卡的 IP 位址連線得到. 以 Router 2 為例:


R2#show frame-relay map
Serial0/0/0 (up): ip 10.1.1.1 dlci 201, dynamic, broadcast, CISCO, status defined, active
Serial0/0/0 (up): ip 10.1.1.3 dlci 203, dynamic, broadcast, CISCO, status defined, active
R2#ping 10.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/50/60 ms

R2#ping 10.1.1.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/54/91 ms

R2#

但是問題來了, 如果只是單純地啟動 RIP, 那我們就會發現, Router 1 永遠收不到 Router 3 身後的網段, 反之亦然:

R1>show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

     10.0.0.0/24 is subnetted, 1 subnets
C       10.1.1.0 is directly connected, Serial0/0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/0
R    192.168.2.0/24 [120/1] via 10.1.1.2, 00:00:23, Serial0/0/0
R1>

其實原因就是卡在 Router 2. 以這個例子, 因為我們只有兩條 Virtual Circuit 可用, 所以 Router 3 的路由資訊只有 Router 2 收得到, 除非 Router 2 "主動" 再將 "從 Router 3 收到的資訊" 再傳給 Router 1, 否則 Router 1 就會永遠收不到 "Router 3 身後的網段資訊".

為何 Router 2 不送, 這是因為 "分割視野 (Split Horizon)" 起了作用, Router 2 認定 Router 3 送出的資訊是由 "Serial 0/0/0" 進入, 所以按照 "分割視野" 的規則, 這些資料就都不會再從 "Serial 0/0/0" 透過 RIP 送出. "分割視野" 預設是啟動的, 這正是為什麼 Router 1 收不到的原因!

所以這個現象的正解, 就是要在 Router 2 的 "Serial 0/0/0" 上面, 我們必須取消 "Split Horizon" 的功能, 像這樣:

interface Serial0/0/0
 ip address 10.1.1.2 255.255.255.0
 no ip split-horizon
 encapsulation frame-relay

如此一來就可以正常使用 Frame Relay + RIP.

不過當然, 還是強烈建議使用 EIGRP 或是 OSPF, 她們都不會有這類問題. 除非萬不得已才使用 RIP, 再參考本例來解決這種怪問題.

經典熱門文章