如果您喜歡這裡的內容,記得分享到您的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>
如果您喜歡這篇文章,不考慮試試Email訂閱嗎?




0 意見:

張貼留言

小技巧:也可以 匿名 留言!

經典熱門文章