Lab 1-4: NAT TĨNH, ĐỘNG VÀ TÙY CHỌN OVERLOAD
Mô tả:
Trong bài bài thực hành này, chúng ta sẽ cấu hình NAT tĩnh, NAT động và tùy chọn overload trong NAT
Công ty du lịch ABC cần khoảng 100 địa chỉ IP riêng dịch sang một dãy địa chỉ IP thật để có thể định tuyến ra ISP. ABC đã thực hiện điều này bằng cách sử dụng NAT, dịch các địa chỉ riêng thành các địa chỉ công cộng được cấp bởi các nhà cung cấp dịch vụ ISP
Thực hiện
1. Cấu hình các địa chỉ IP trên các router theo sơ đồ trên, kiểm tra các kết nối trực tiếp bằng lệnh show cdp neighbor. Kiểm tra bằng cách ping giữa các workstation và router NAT, giữa WebServer và router ISP1.
2. Do không sử dụng các giao thức định tuyến động, ta cấu hình default route ra Internet trên router NAT:
NAT(config)#ip route 0.0.0.0 0.0.0.0 200.200.100.2
ISP cần được cấu hình để đến được mạng 192.168.1.0/24. Nhưng các host trong mạng này sẽ đổi địa chỉ riêng 192.168.1.0/24 thành địa chỉ thật 200.200.100.128/25, do đó ta cấu hình tuyến đường tĩnh trên ISP:
ISP(config)#ip route 200.200.100.128 255.255.255.128 200.200.100.1
3. Trong bước này, ta sẽ chỉ định các địa chỉ riêng và công cộng (public) sẽ được NAT. Trước hết, ta dùng NAT tĩnh để chuyển địa chỉ 192.168.1.5 thành 200.200.100.252:
NAT(config)#ip nat inside source static 192.168.1.5 200.200.100.252
Cấu hình NAT trên các cổng giao tiếp:
NAT(config)#int e0/0
NAT(config-if)#ip nat inside
NAT(config-if)#int s0/1
NAT(config-if)#ip nat outside
Lúc này, host 192.168.1.5 có thể ping được WebServer, còn host 192.168.1.2 thì chưa thể. Do packet đi từ router NAT theo default route qua ISP đến WebServer nhưng khi WebServer gửi trả packet lại thì nó không route được do không học được mạng 192.168.1.0
WebServer#debug ip packet
IP packet debugging is on
WebServer#
00:29:05: IP: s=200.200.100.252 (Ethernet0/0), d=200.200.50.2 (Ethernet0/0), len 60, rcvd 3
00:29:05: IP: s=200.200.50.2 (local), d=192.168.1.2, len 60, unroutable
WebServer#
00:29:06: IP: s=200.200.50.2 (local), d=192.168.1.2, len 58, unroutable
NAT tĩnh có ưu điểm là từ mạng bên ngoài luôn có thể truy cập được host 192.168.1.5 thông qua địa chỉ 200.200.100.252. Nhưng việc cấu hình NAT tĩnh đối với một mạng bên trong có nhiều host đòi hỏi nhiểu thời gian cấu hình không gian địa chỉ. Trong trường hợp đó, ta cấu hình cơ chế NAT động. Trước hết, ta xác định dãy địa chỉ các host sẽ được NAT. Dùng access-list để định nghĩa dãy địa chỉ này:
NAT(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Kế tiếp, xác định dãy địa chỉ thật sẽ được sử dụng bởi NAT:
NAT(config)#ip nat pool public 200.200.100.129 200.200.100.250 netmask 255.255.255.128
Cho phép các địa chỉ riêng được NAT thành dãy địa chỉ thật:
NAT(config)#ip nat inside source list 1 pool public
Kiểm tra kết quả của NAT bằng cách ping từ địa chỉ bên trong 192.168.1.2 đến máy chủ web:
NAT#debug ip nat
IP NAT debugging is on
NAT#
01:02:15: NAT*: s=192.168.1.2->200.200.100.129, d=200.200.50.2 [3969]
01:02:20: NAT*: s=192.168.1.2->200.200.100.129, d=200.200.50.2 [3970]
Kiểm tra các kết quả chuyển đổi hiện có của NAT:
NAT#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 200.200.100.129 192.168.1.2 --- ---
--- 200.200.100.252 192.168.1.5 --- ---
NAT overload
Do việc thuê từ ISP một dãy địa chỉ IP thật là khá tốn kém, các nhà quản trị công ty ABC quyết định giảm số lượng địa chỉ thuê từ ISP xuống càng ít càng tốt. Trong trường hợp này, ta dùng NAT overload để giảm số lượng địa chỉ thật cấn sử dụng:
NAT(config)#no ip nat inside source static 192.168.1.5 200.200.100.252
NAT(config)#no ip nat inside source list 1 pool public
NAT(config)#ip nat inside source list 1 interface Serial0/1 overload
Ở đây, thay vì dùng 1 dãy các địa chỉ như trước, ta sẽ cho các PC trong mạng LAN dùng chung địa chỉ với serial 0/1 (200.200.100.1) để ra bên ngoài Internet.
Tham số overload cho phép nhiều host dùng chung một địa chỉ IP (router phân biệt các host bằng chỉ số cổng của TCP) để ra ngoài ISP.
Ta kiểm tra bằng cách ping từ IP 192.168.1.5 đến Webserver.
NAT#show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 200.200.100.1:512 192.168.1.5:512 200.200.50.2:512 200.200.50.2:512
NAT#debug ip packet
IP packet debugging is on
NAT#
01:36:00: IP: s=200.200.100.1 (Ethernet0/0), d=200.200.50.2 (Serial0/1), g=200.200.100.2, len 60, forward
01:36:00: IP: s=200.200.50.2 (Serial0/1), d=192.168.1.5 (Ethernet0/0), g=192.168.1.5, len 60, forward
Cấu hình
NAT#show running-config
!
hostname NAT
!
ip subnet-zero
no ip domain-lookup
!
interface Ethernet0/0
ip address 192.168.1.1 255.255.255.0
no ip directed-broadcast
ip nat inside
!
interface Serial0/1
ip address 200.200.100.1 255.255.255.252
no ip directed-broadcast
ip nat outside
!
ip nat pool public 200.200.100.129 200.200.100.129 prefix-length 24
ip nat inside source list 1 pool public overload
ip classless
ip route 0.0.0.0 0.0.0.0 200.200.100.2
!
access-list 1 permit 192.168.1.0 0.0.0.255
!
line con 0
logging synchronous
transport input none
line aux 0
line vty 0 4
privilege level 15
no login
!
no scheduler allocate
end
ISP1#show running-config
!
hostname ISP1
!
ip subnet-zero
!
no ip domain-lookup
!
!
interface FastEthernet0/0
ip address 200.200.50.1 255.255.255.0
!
interface Serial0/1
ip address 200.200.100.2 255.255.255.252
clockrate 64000
!
ip classless
ip route 200.200.100.128 255.255.255.128 200.200.100.1
no ip http server
!
line con 0
logging synchronous
transport input none
line vty 0 4
privilege level 15
no login
!
no scheduler allocate
end
WebServer#show running-config
!
hostname WebServer
!
no logging buffered
logging rate-limit console 10 except errors
!
ip subnet-zero
!
no ip domain-lookup
!
interface Ethernet0/0
ip address 200.200.50.2 255.255.255.0
half-duplex
!
ip classless
ip route 0.0.0.0 0.0.0.0 200.200.50.1
ip http server
end
Comment