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

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, 再參考本例來解決這種怪問題.

經典熱門文章