/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Proxy ARP, Static ARP

Proxy ARP là tính năng cho phép router trả lời dùm ARP request của lớp mạng mà nó biết. Để hiểu rỏ hơn ta xét ví dụ ở sơ đồ mạng bên dưới 



+ PC1 có subnet mask /24;
+ PC2 có subnet mask /8. 
  • Khi PC1 muốn kết nối đến server 10.2.2.100 thì quá trình kết nối sẽ xảy ra các bước là:
  1. PC1 sẽ so sánh IP và subnet mask của nó với địa chỉ IP của server (ví dụ này là 10.2.2.100) và nó thấy rằng server là khác lớp mạng với nó
  2. PC1 muốn đến được server (lớp mạng khác) thì bắt buộc phải thông qua default gateway (10.1.1.254)
  3. PC1 kiểm tra trong ARP thử có dữ liệu nào cho 10.1.1.254 không nếu không có sẽ gửi ARP request
  4. R254 sẽ trả lời ARP request và gửi MAC của nó là của interface Et0/0

  • Khi PC2 muốn kết nối đến Server thì:
  1. PC2 sẽ so sánh IP và subnet mask của nó với IP của server và nó thấy rằng server và nó cùng subnet
  2. PC2 kiểm tra trong ARP thử có dữ liệu nào cho 10.2.2.254 không nếu không có sẽ gửi ARP request
  • Khi proxy ARP được bật trên router thì:
  1. R254 thấy ARP request từ PC2 với subnet 10.1.1.0/24 đến subnet 10.2.2.0/24
  2. R254 thấy rằng đó là lớp mạng mà mình biết (vì connected) và sẽ trả lời gói ARP request dùm cho PC2
  3. R254 gửi ARP reply đến PC2 với MAC address của interface Et0/0
Thực hiện LAB với sơ đồ trên:

PC1
ip 10.1.1.1/24 10.1.1.254

PC2
ip 10.1.1.2/8 10.1.1.254

Server
ip 10.2.2.100/24 10.2.2.254

R254
interface Ethernet0/0
ip address 10.1.1.254 255.255.255.0
no shutdown
exit
interface Ethernet0/1
ip address 10.2.2.254 255.255.255.0
no shutdown
end

Để đảm bảo chắc chắn Proxy ARP đã bậc trên interface Et0/0 chưa, chúng ta dùng lệnh (mặt định được bậc trên router của cisco)

R254#show ip interface ethernet 0/0 | include Proxy
Proxy ARP is enabled
R254#

Kiểm tra hoạt động của Proxy ARP
R254#debug arp
ARP packet debugging is on

Với PC1
Để test từ PC1 ping đến server
PC1> ping 10.2.2.100
84 bytes from 10.2.2.100 icmp_seq=1 ttl=63 time=3.509 ms
84 bytes from 10.2.2.100 icmp_seq=2 ttl=63 time=0.720 ms
84 bytes from 10.2.2.100 icmp_seq=3 ttl=63 time=0.904 ms
84 bytes from 10.2.2.100 icmp_seq=4 ttl=63 time=0.870 ms
84 bytes from 10.2.2.100 icmp_seq=5 ttl=63 time=0.999 ms

R254#
*Apr 21 03:48:35.269: IP ARP: rcvd req src 10.1.1.1 0050.7966.6803, dst 10.1.1.254 Ethernet0/0
*Apr 21 03:48:35.270: IP ARP: creating entry for IP address: 10.1.1.1, hw: 0050.7966.6803
*Apr 21 03:48:35.270: IP ARP: sent rep src 10.1.1.254 aabb.cc00.1000,
                                                                dst 10.1.1.1 0050.7966.6803 Ethernet0/0

R254 nhận ARP request từ PC1 là thiết bị đang hỏi default gateway và R254 trả lời là địa chỉ MAC của interface Et0/0 của mình cho PC1

R254#
*Apr 21 03:48:35.272: IP ARP: creating incomplete entry for IP address: 10.2.2.100 interface Ethernet0/1
*Apr 21 03:48:35.272: IP ARP: sent req src 10.2.2.254 aabb.cc00.1010,
                                                                dst 10.2.2.100 0000.0000.0000 Ethernet0/1
*Apr 21 03:48:35.272: IP ARP: rcvd rep src 10.2.2.100 0050.7966.6805, dst 10.2.2.254 Ethernet0/1

Để biết được MAC của server nên nó khởi tạo request đến server 10.2.2.100 rồi chuyển packet đến server và từ đó R254 cũng nhận được gói tin trả lời từ server thông qua Et0/1. Từ đó nó sẽ trả lời cho PC1 để đến được server 10.2.2.100 thì hỏi IP 10.1.1.254 với MAC là aa:bb:cc:00:10:00 (chính là thông tin của cổng Et0/0 của R254)

PC1> show arp     
aa:bb:cc:00:10:00  10.1.1.254 expires in 113 seconds
PC1> 

Nên, khi kiểm tra bảng ARP trên PC1 thì nó lưu MAC address và IP của default gateway.

Với PC2
R254>
*Apr 21 04:03:46.962: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 04:03:46.962: IP ARP: creating entry for IP address: 10.1.1.2, hw: 0050.7966.6804
*Apr 21 04:03:46.962: IP ARP: sent rep src 10.2.2.100 aabb.cc00.1000,
                                                                dst 10.1.1.2 0050.7966.6804 Ethernet0/0
*Apr 21 04:03:46.964: IP ARP: rcvd req src 10.2.2.100 0050.7966.6805, dst 10.2.2.254 Ethernet0/1
*Apr 21 04:03:46.964: IP ARP: sent rep src 10.2.2.254 aabb.cc00.1010,
                 dst 10.2.2.100 0050.7966.6805 Ethernet0/1
R254>

R254 nhận được request từ PC2 đến server 10.2.2.100, và nó trả lời cho PC2 rằng để đến được server 10.2.2.100 thì hãy sử dụng MAC aa:bb:cc:00:10:00 là địa chỉ MAC của chính interface Et0/0 của nó.

PC2> show arp     
aa:bb:cc:00:10:00  10.2.2.100 expires in 113 seconds
PC2> 

Thử tắt Proxy ARP trên cổng Et0/0 của R254

R254:
interface Ethernet0/0
no ip proxy-arp

PC1> ping 10.2.2.100
84 bytes from 10.2.2.100 icmp_seq=1 ttl=63 time=1.966 ms
84 bytes from 10.2.2.100 icmp_seq=2 ttl=63 time=0.646 ms
84 bytes from 10.2.2.100 icmp_seq=3 ttl=63 time=1.056 ms
84 bytes from 10.2.2.100 icmp_seq=4 ttl=63 time=1.065 ms
84 bytes from 10.2.2.100 icmp_seq=5 ttl=63 time=0.899 ms
PC1 vẫn ping được bình thường nhờ default gateway và bảng routing trên R254

PC2> ping 10.2.2.100
host (10.2.2.100) not reachable
PC2> 
PC2 không ping đến được server vì: R254 có subnet là 10.1.1.0/24 và nhận được request từ PC2 không nằm trong subnet 10.1.1.0/24 nên nó không forward gói tin broadcast (Router drop bỏ gói tin broadcast) chính vì thế ARP không tạo request đến Server. Trường hợp phải nhờ đến Proxy ARP để giải quyết.

R254#
*Apr 21 06:24:27.233: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 06:24:28.234: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 06:24:29.234: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
R254#

Khi Proxy ARP đã được TẮT trên interface Et0/0 của R254 thì R254 sẽ không thay mặt cho Server trả lời gói request này. Đó chính là lý do PC2 không ping được Server.

Noted:
- Server có thể ping đến được PC2 bình thường.
- Có 1 số trường hợp vì lý do gì đó mà không thể bật Proxy ARP trên cổng Et0/0 của R254 được mà bắt buộc PC2 phải ping đến được Server thì chúng ta phải thêm ARP tĩnh/Static ARP vào bảng ARP của PC2 với MAC là địa chỉ MAC của Et0/0 của R254 và IP là IP của Server

Lệnh thêm ARP cho PC2, nếu:
- Cisco route:
arp 10.2.2.100 aabb.cc00.1000 arpa 

PC2#show arp
Protocol  Address          Age (min)   Hardware Addr   Type    Interface
{...}
Internet  10.2.2.100              -          aabb.cc00.1000  ARPA

- Windows
arp -s 10.2.2.100 aa-bb-cc-00-10-00

Xong!

No comments:

Post a Comment

/*header slide*/