- CNA-04-005.pkt, (Backup Link)
- CNA-04-005-pat-sample-sol.pkt, (Backup Link)
- CNA-04-005-nat-sample-sol.pkt, (Backup Link)
這個練習的圖和定址其實和前面的 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 的基本三設定要素:
- 指明 Inside 網卡: 從哪些網卡進來的封包, 它們的位址需要被轉換
- 指明 Outside 網卡: 從哪些網卡進來的封包, 它們的位址需要被還原
- 指明位址轉譯規則: 這點 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>
0 意見:
張貼留言
小技巧:也可以 匿名 留言!