Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

ICMP Redirect on Cisco IOS

Thông điệp ICMP được sử dụng bởi Router để thông báo đến các host chọn các next hop tốt hơn để đến mạng
đích nhất định. Hãy xem một ví dụ ở mô hình sau:

Để tôi giải thích về mô hình ở trên:

 R1, R2 và host được kết nối trực tiếp đến mạng 192.168.12.0/24.
 R1 được kết nối trực tiếp đến ISP và sử dụng default route để truy cập internet.
 R2 kết nối trực tiếp đến R3, máy chủ Server ở phía sau R3 có địa chỉ IP là 3.3.3.3.
 R1 sử dụng static route để truy cập đến 3.3.3.3.
 Host trên mạng 192.168.12.0/24 sẽ sử dụng R1 làm default gateway.

CCNP – Trương Trung Hiếu


Bất cứ khi nào host thử truy cập đến 3.3.3.3 nó sẽ gửi một gói tin đến default gateway (R1). Tuy nhiên R1 có 1
static route cho 3.3.3.3 được trỏ đến R2.

Điều này hơi vô nghĩa bởi vì các gói tin từ host này sẽ đi vào và ra trên cùng 1 interface trên R1. Để ngăn chặn
điều này xảy ra, router của chúng ta có thể sử dụng ICMP redirect.

Khi R1 nhận gói tin IP từ host với destination là 3.3.3.3, khi đó nó sẽ gửi một thông điệp ICMP redirect nói
rằng host này hãy sử dụng R2 là gateway để đến đích. Các host nhận được thông điệp này sẽ sử dụng R2 để
truy cập đến 3.3.3.3.

Cisco IOS Routers sẽ gửi ICMP redirect khi đáp ứng đủ các điều kiện sau:

 Gói tin IP phải được nhận và truyền đi trên cùng 1 interface.


 Địa chỉ IP nguồn của gói tin phải có cùng subnet với địa chỉ IP next hop mới.
 Gói tin IP không sử dụng source routing.
 ICMP redirect phải được enable, mặc định được enable trên Cisco IOS Routers.

Hãy xem vài cấu hình mẫu và bạn sẽ thấy cách thức hoạt động của nó. Tôi sẽ sử dụng mô hình sau:

CCNP – Trương Trung Hiếu


Tôi sẽ sử dụng mô hình tương tự nhưng sẽ thêm một vài host.

 Windows 8 host
 Linux host
 Cisco Router là host (disable IP routing)

Hãy xem cách mà host hành xử khi chúng nhận được ICMP redirect.

Configuration.

Đầu tiên đặt địa chỉ IP theo mô hình, sau đó sử dụng câu lệnh ip route 3.3.3.3 255.255.255.255 192.168.12.2
trên R1, câu lệnh ip route 3.3.3.3 255.255.255.255 192.168.23.3 trên R2 và đừng quên rằng chúng ta phải có
route trả về từ R3 với câu lệnh ip route 192.168.12.0 255.255.255.0 192.168.23.2. Ở đây do mình đặt host
CCNP – Trương Trung Hiếu
(3.3.3.3) là loopback interface nên mình sử dụng câu lệnh trên, còn bạn sử dụng host khác thì cũng thể sử dụng
câu lệnh theo cách của bạn miễn sau chúng ta show bảng định tuyến trên R1 và R2 như sau:

R1 có 2 static route, 1 default route và 1 entry cho 3.3.3.3. Và đây là R2:

R2 chỉ có một static route cho 3.3.3.3 với R2 là next hop.

Hãy enable ICMP debugging trên R1, điều này sẽ show cho chúng ta khi R1 gửi ICMP redirects:

Window host

Chúng ta sẽ bắt đầu với Window host. Hãy gửi lệnh ping đến 3.3.3.3:

Chúng ta sẽ không thấy bất kỳ điều gì lạ trên host nhưng R1 sẽ tạo ra message như sau:

CCNP – Trương Trung Hiếu


Nó nói với Windows host của chúng ta hãy sử dụng R2 là gateway để truy cập đến 3.3.3.3. Sau đây là những gì
chúng ta nhìn thấy trong wireshark (capture trên Fa0/0 của R1):

Ở trên, bạn có thể thấy rằng ICMP type 5 message là ICMP redirect. Bây giờ hãy xem gói tin tiếp theo mà host
đã gửi:

Bây giờ gói tin IP có đích là 3.3.3.3 này sử dụng Mac address của R2 là destination. Chúng ta có thể xác nhận
điều này bằng cách kiểm tra Mac address trên R2:

Windows host không thực sự thông báo rằng lưu lượng của nó đã được chuyển hướng nhưng chúng ta có thể
thấy rằng có điều gì đó xảy ra phía sau hậu trường.

Hãy thử với host khác!


CCNP – Trương Trung Hiếu
Linux host

Lần này chúng ta sẽ thử với Linux host, mình đã sử dụng Ubuntu. Khi chúng ta gửi lệnh ping chúng ta sẽ thấy
điều này:

Điều này thật tuyệt, linux host nói với chúng ta rằng nó đã nhận được ICMP redirect. Bạn cũng có thể xác minh
điều này bằng cách sử dụng câu lệnh sau:

Ở trên chúng ta thấy cached entry cho 3.3.3.3. Bất cứ khi nào chúng ta thử truy cập để địa chỉ IP này, chúng sẽ
sử dụng R2 làm default gateway.

Cisco Device.

Cuối cùng nhưng không kém phần quan trọng, hãy xem Cisco device làm gì với ICMP redirect. Tôi sẽ sử dụng
router mà chúng ta đã disable ip routing:

Đây là cách mà chúng ta có thể xác minh rằng router này không có bảng định tuyến nữa:

Không có bảng định tuyến nào và thiết bị này sẽ sử dụng 192.168.12.1 là default gateway. Nó cũng show cho
chúng ta ICMP redirect cache là empty. Hãy ping đến 3.3.3.3:

CCNP – Trương Trung Hiếu


Bây giờ hãy xem lại bảng định tuyến:

Router đã lưu trữ entry cho 3.3.3.3 trong ICMP redirect cache của chính nó. Bạn có thể xác minh điều này với
câu lệnh khác:

Câu lệnh show ip redirects cũng nói với chúng ta tương tự.

Kết luận:

Bây giờ chúng ta đã thấy cách mà ICMP redirects giúp chúng ta chuyển hướng lưu lượng đến gateway khác.
Mặc dù điều này nghe có vẻ hữu ích, nhưng nó cũng là vấn đề rủi ro về bảo mật. những thông điệp này rất đơn
giản để giả mạo và tất cả các host dễ dàng chấp nhận chuyển hướng gói tin mà không có bất kỳ vấn đề nào. Vì
lý do này, chúng ta nên disable trên tất cả các host.

Chúng ta cũng có thể disable trên Cisco IOS routers:

Nếu chúng ta sử dụng câu lệnh no ip redirects thì nó sẽ không gửi thông điệp ICMP redirect đến host nữa.
CCNP – Trương Trung Hiếu

You might also like