494
6
Đ
ánh
dấu cổng này là cổng kết nối ra
mạng công cộng bên ngoài.
Router (config
-if) #
ip nat outside
Hình v
ẽ - 2 hình
Hình 1.1.4.a
Sự chuyển
đ
ổ
i
đ
ị
a
chỉ sẽ
đư
ợ
c
thưc hiện giữa hai cổng inside và
outside
495
Hình 1.1.4.b.
Cấu hình NAT chuyển
đ
ổ
i
cố
đ
ị
nh
từ
đ
ị
a
chỉ 10.1.1.2 sang
192.168.1.2. Khi có một gói dữ liệu từ host 10.1.1.2
đư
ợ
c
gửi ra ngoài internet,
router GW sẽ chuyển
đ
ổ
i
đ
ị
a
chỉ nguồn 10.1.1.2 của gói dữ liệu sang
đ
ị
a
chỉ
192.168.1.2 trước khi phát gói ra cổng s0.
1.1.4.2. Chuyển đổi động
Đ
ể
Chuyển
đ
ổ
i
đ
ộ
ng
đ
ị
a
chỉ nguồn bên trong, chúng ta cấu hình theo các bước như
sau:
Bước
1
Thực hiện
Xác
đ
ị
nh
dải
đ
ị
a
chỉ
đ
ạ
i
diện bên ngoài
Rourter (config) #
ip nat pool
name start-ip
end-ip [netmask netmask /prefix-length
prefix
-length]
2
Ghi chú
Trong chế
đ
ộ
cấu hình
toàn cục, gõ lệnh
no ip
na
t pool
name
đ
ể
xóa dải
đ
ị
a
chỉ
đ
ạ
i
diên bên ngoài.
Thiết lập ACL cơ bản cho phép những
đ
ị
a
Trong chế
đ
ộ
cấu hình
chỉ nội bộ bên trong nào
đư
ợ
c
chuyển
đ
ổ
i.
Router (config)
#
access
-
list
access-list-
number
permit
source [source-wildcard]
toàn cục, gõ lệnh
n
o
access-list
access-list-
number
đ
ể
xóa ACL
đ
ó.
3 Thiết lập mối liên quan giữa
đ
ị
a
chỉ nguồn Trong chế
đ
ộ
cấu hình
đ
ã
đư
ợ
c
xác
đ
ị
nh
trong ACL
ở
bước trên với toàn cục, gõ lênh
no ip
dải
đ
ị
a
chỉ
đ
ạ
i
diện bên ngoài:
Router (config) #
ip nat inside source li
st
access-list-number
pool
name
nat inside source
đ
ể
xóa
sự chuyển
đ
ổ
i
đ
ộ
ng
này
4 Xác
đ
ị
nh
cổng kết nối vào mạng nội bộ Sau khi gõ xong lệnh
496
Router (config) #
interface
type number
interface,
dấu nhắc của
dòng lệnh sẽ chuyển
đ
ổ
i
từ config sang (config-if)#
5
Đ
ánh
dấu cổng này là cổng kết nối vào mạng
nội bộ.
Router (config
-if) #
ip nat inside
6 Thóat khỏi chế
đ
ộ
cổng hiện tại.
Router (config) #
exit
7 Xác
đ
ị
nh
cổng kết nối ra bên ngoài.
Router (config) #
interface
type number
8
Đ
ánh
dấu cổng này là cổng kết nối ra bên
ngoài.
Router (config) #
ip nat outside
Danh sách
đ
i
ề
u
khiển truy cập (ACL – Access Control List) cho phép khai báo
những
đ
ị
a
chỉ nào
đư
ợ
c
chuyển
đ
ổ
i.
Bạn nên nhớ là kết thúc một ACL luôn có câu
lệnh
ẩ
n
cấm tuyệt
đ
ố
i
đ
ể
tránh những kết quả không dự tính
đư
ợ
c
khi một ACL có
quá nhiều
đ
i
ề
u
kiện cho phép. Cisco khuyến cáo là không nên dùng
đ
i
ề
u
kiện cho
phép tất cả
permit any
trong ACL sử dụng cho NAT vì câu lệnh này làm hao tốn
quá nhiều tài nguyên của Router và do
đ
ó
có thể gây ra sự cố mạng.
497
Hình 1.1.4.c
Xét ví dụ hình 1.1.4.c: Dải
đ
ị
a
chỉ công cộng
đ
ạ
i
diện ben ngoài có tên là nat-
pool1, bao gồm các
đ
ị
a
chỉ từ 179.9.8.80
đ
ế
n
179.9.95.
Đ
ị
a
chỉ nội bộ bên trong
đư
ợ
c
phép chuyển
đ
ổ
i
đư
ợ
c
đ
ị
nh
nghĩa trong access-list 1 là 10.1.0.0 – 10.1.0.255.
Như v
ậy, gói dữ liệu nào trong mạng nội bộ
đ
i
ra ngoài Internet có
đ
ị
a
chỉ nguồn
nằm trong dải
đ
ị
a
chỉ 10.1.0.0 – 10.1.0.255 sẽ
đư
ợ
c
chuyển
đ
ổ
i
đ
ị
a
chỉ nguồn sang
một trong bất kỳ
đ
ị
a
chỉ nào còn trống trong dải
đ
ị
a
chỉ công cộng 179.9.8.80 –
179.9.8.95. Host 10.1.1.2 sẽ không
đư
ợ
c
chuyển
đ
ổ
i
đ
ị
a
chỉ vì
đ
ị
a
chỉ của nó
không
đư
ợ
c
cho phép trong acces-list 1, do
đ
ó
nó không truy cập
đư
ợ
c
Internet.
Overloading hay PAT
Overloading
đư
ợ
c
cấu hình theo hai cách tùy theo
đ
ị
a
chỉ IP công cộng
đư
ợ
c
cấp
phát như thể nào. Một ISP có thể cho một hệ thống mạng của khách hàng sử dụng
chung một
đ
ị
a
chỉ IP công cộng duy nhất,
đ
ia
jchỉ IP công cộng này chính là
đ
ị
a
chỉ của cổng giao tiểp trên Router nối về ISP. Sau
đ
ây
là ví dụ cấu hình cho tình
huống này:
498
Router (config) # access-list 1 permit 10.0.0.0 0.0.255.255
Router (config) ip nat inside source list 1 interface serial0/0 overload
Bước Thực hiện
1
Ghi chú
Tạo ACL
đ
ể
cho phép những
đ
ị
a
chỉ nội bộ Trong chế
đ
ộ
cấu hình
nào
đư
ợ
c
chuyển
đ
ổ
i.
Router(config)
#
access-list
acl-number
toàn cục, gõ lệnh
no
access-list
tương
ứ
ng.
access-list-
number
đ
ể
xóa access-list
permit
source [source-wildcard]
2A Thiết lập mối liên quan giữa
đ
ị
a
chỉ nguồn
đ
ã
Trong chế
đ
ộ
cấu hình
đư
ợ
c
xác
đ
ị
nh
trong access-list
ở
bước trên với toàn cục, gõ lệnh
no ip
đ
ị
a
chỉ
đ
ạ
i
diện là
đ
ị
a
chỉ của cổng kết nối với
nat inside source
đ
ể
xóa
bên ngoài.
Router (config) #
ip nat inside source list
acl-
number
interface
interface
overload
sự chuyển
đ
ổ
i
đ
ộ
ng
này.
Từ khóa
overload
đ
ể
cho
phép chạy PAT
Hoặc
2B
Khai báo dải
đ
ị
a
chỉ
đ
ạ
i
diện bên ngoài dùng
overload.
Router (config)
ip nat pool
name start-ip end-
ip
[netmask netmask /
prefix
-
length
prefix-
length]
Thiết lập chuyển
đ
ổ
i
overload giữa
đ
ị
a
chỉ nội
bộ
đ
ã
đư
ợ
c
xác
đ
ị
nh
trong ACL
ở
bước 1 với
dải
đ
ị
a
chỉ
đ
ạ
i
diện bên ngoài mới khai báo
ở
499
trên.
Router (config) #
ip nat inside source list
acl-
number
pool
name
overload
3 Xác
đ
ị
nh
cổng kết nối với mạng nội bộ.
Router (config) #
interface
type number
Router (config-if) #
ip nat inside
Sau khi gõ lệnh
interface,
dấu nhắc của dòng lệnh sẽ
đư
ợ
c
đ
ổ
i
từ (config)#
sang (config-if)#
4 Xác
đ
ị
nh
cổng kết nối với bên ngoài.
Router (config) #
interface
type number
Router (config-if) #
ip nat outside.
Một cách khác
đ
ể
cấu hình Overload là khi ISP cung cấp một hoặc nhiều
đ
ị
a
chỉ IP
công cộng
đ
ể
cho hệ thống mạng khách hàng sử dụng làm dải
đ
ị
a
chỉ chuyển
đ
ổ
i
PAT. Cấu hình ví dụ cho tình huống này như sau:
•
Xác
đ
ị
nh
đ
ị
a
chỉ nội bộ
đư
ợ
c
phép chuyển
đ
ổ
i
là 10.0.0.0/16:
500
Router (config) # access-list 1 permit 10.0.0.0.0.0.255.255
•
Khai báo dải
đ
ị
a
chỉ
đ
ạ
i
diện bên ngoài với tên là nat-pool2, bao gồm các
đ
ị
a
chỉ trong subnet 179.9.8.20/28:
Router (config) # ip nat pool nat-pool2 179.9.8.20 netmask
255.255.255.240
•
Thiết lập sự chuyển
đ
ổ
i
Overload
đ
ị
a
chỉ nội bộ
đư
ợ
c
xác
đ
ị
nh
trong access-
list 1 với dải
đ
ị
a
chỉ
đ
ạ
i
diện nat pool2:
Router (config) # ip nat inside source list 1 pool nat-pool2 overload
Hình 1.1.4.d.
Xét ví dụ hình 1.1.4.d:
đ
ị
a
chỉ nội bộ bên trong
đư
ợ
c
phép chuyển
đ
ổ
i
đư
ợ
c
xác
đ
ị
nh
trong access-list 1 là 192.168.2.0/24 và 192.168.3.0/24.
Đ
ị
a
chỉ
đ
ạ
i
diện bên
ngoài là
đ
ị
a
chỉ của cổng serial 0, cổng kết nối ra Internet. Như vậy phải toàn bộ
đ
ị
a
chỉ bên trong
đư
ợ
c
chuyển
đ
ổ
i
PAT với một
đ
ị
a
chỉ IP
đ
ạ
i
diện duy nhất là
đ
ị
a
chỉ của cổng kết nối ra Internet, cổng serial 0.
501
1.1.5. Kiểm tra cấu hình PAT
Sau khi NAT
đ
ã
đư
ợ
c
cấu hình, chúng ta có thể dùng lệnh clear và show
đ
ể
kiểm
tra hoạt
đ
ộ
ng
của NAT.
Mặc
đ
ị
nh,
trong bảng chuyển
đ
ổ
i
NAT
đ
ộ
ng,
mỗi một cặp chuyển
đ
ổ
i
đ
ị
a
chỉ sẽ bị
xóa
đ
i
sau một khoảng thời gian không sử dụng. Với chuyển
đ
ổ
i
không sử dụng chỉ
số Port thì khoảng thời gian mặc
đ
ị
nh
là 24 giờ. Chúng ta có thể thay
đ
ổ
i
khoảng
thời gian này bằng lệnh
ip nat translation timeout
timeout_seconds trong chế
đ
ộ
cấu hình toàn cục.
Các thông tin về sự chuyển
đ
ổ
i
có thể
đư
ợ
c
hiển thị bằng các lệnh sau:
Lệnh
Clear ip nat translation *
Giải Thích
Xóa mọi cặp chuyển
đ
ổ
i
đ
ị
a
chỉ
đ
ộ
ng
trong bảng NAT.
Clear ip nat translation inside
global- Xóa một cặp chuyển
đ
ổ
i
đ
ị
a
chỉ
đ
ộ
ng
ip local-ip [outside local-ip global-ip]
bên trong hoặc cả bên trong và bên
ngoài tương
ứ
ng
với
đ
ị
a
chỉ cụ thể
đư
ợ
c
khai báo trong câu lệnh.
Clear ip nat translation
protocol
inside
Xóa một cặp chuyển
đ
ổ
i
đ
ị
a
chỉ
đ
ộ
ng
global
-ip global-port local-ip local-port mở rộng.
[outside local-ip local-port global-ip
global
-port]
Show ip nat translations
Show ip nat statistics
Hiển thị bảng NAT
đ
ang
hoạt
đ
ộ
ng.
Hiển thị trạng thái hoạt
đ
ộ
ng
của NAT.
502
Hình 1.1.5.a
Hình 1.1.5.b
Chúng ta có thể dùng lệnh
show run
đ
ể
kiểm tra lại các giá trị cần khai báo trong
các câu lệnh cấu hình NAT, access-list, interface.
1.1.6. Xử lý sự cố cấu hình NAT và PAT
Thường rất khó xác
đ
ị
nh
nguyên nhân của sự cố khi kết nối IP bị sự cố trong môi
trường NAT. Nhiều khi chúng ta nhầm lẫn là do NAT gây ra nhưng thực sự
nguyên nhân lại nằm
ở
chỗ khác.
Khi cố gắng xác
đ
ị
nh
nguyên nhân sự cố của một kết nối IP, chung ta nên cố gắng
xác
đ
ị
nh
loại trừ khả năng từ NAT trước. Sau
đ
ay
là các bước
đ
ể
kiểm tra hoạt
đ
ộ
ng
của NAT:
1. Dựa vào tập tin cấu hình, xác
đ
ị
nh
rõ ràng NAT thực hiện những gì.
2. Kiểm tra bảng NAT xem các chuyển
đ
ổ
i
đ
ị
a
chỉ có
đ
úng
không.
3. Kiểm tra hoạt
đ
ộ
ng
NAT xảy ra như thế nào bằng các lệnh
show
và
debug.
4. Xem chi tiết những gì xảy ra cho một gói dữ liệu và kiểm tra xem router
có
đ
ị
nh
tuyến
đ
úng
cho gói dữ liệu hay không.
503
Sử dụng lệnh
debug ip nat
đ
ể
kiểm tra hoạt
đ
ộ
ng
của NAT, hiển thị các thông tin
về mỗi gói
đư
ợ
c
chuyển
đ
ổ
i
NAT bởi router. Lệnh
debug ip nat
detal còn cung
cấp thêm một số thông tin liên quan
đ
ế
n
sự chuyển của mỗi gói giúp chúng ta xác
đ
ị
nh
lỗi, ví dụ như lỗi không xác
đ
ị
nh
đư
ợ
c
đ
ị
a
chỉ
đ
ạ
i
diện bên ngoài.
Hình 1.1.6
Xét ví dụ hình 1.1.6. Hai dòng
đ
ầ
u
tiên cho thấy các gói yêu cầu và trả lời DNS
đư
ợ
c
phát
đ
i.
Những dòng còn lại cho biết về một kết nối Telnet từ một host bên
trong tới một host bên ngoài mạng.
Đ
ể
giải mã những thông tin hiển thị của lệnh
debug,
chúng ta dựa vào những
đ
i
ể
m
mấu chốt sau:
•
Dấu * kế bên từ NAT cho biết sự chuyển
đ
ổ
i
đ
ang
đư
ợ
c
thực hiện trên
đư
ờ
ng
chuyển mạch nhanh. Gói dữ liệu
đ
ầ
u
tiên của một phiên
đ
ố
i
thoại
luôn
đư
ợ
c
xử lý chuyển mạch nên chuyển mạch chậm. Các gói dữ liệu tiếp
theo
đư
ợ
c
truyền chuyển mạch nhanh với bộ
đ
ệ
m,
không cần xử lý nhiều
như gói
đ
ầ
u
tiên.