Lab – Triển khai mạng LISP-to-LISP trên IPv4
Trong bài lab này, router R112 sẽ chỉ sử dụng cổng Ethernet1/1 để làm RLOC trong LISP (cổng E1/2 sẽ được sử dụng trong các bài lab sau).
Cấu hình LISP trên router R112:
Tạo một “locator-set” (bộ định vị) cho Site 1, trong interface Ethernet 1/1 là RLOC duy nhất. Ta đặt priority là 1 và weight là 1 cho RLOC này:
* Cách khác:
Khi một Site trong LISP có RLOC nhận IP động (như từ giao thức DHCP), ta có thể cấu hình bằng cách chỉ định interface sẽ được làm RLOC thay vì chỉ định IP một cách trực tiếp. Ví dụ:
Trong ví dụ bên trên, interface Ethernet 1/1 sẽ được tự động dùng làm RLOC. Nếu IP trên interface này thay đổi, ví dụ được cấp IP mới thông qua DHCP, xTR sẽ lập tức đăng kí lại IP mới của RLOC với Router ánh xạ địa chỉ (MS – Mapping Server).
Cấu hình EID prefix là 192.168.1.0/24 cho ETR này trong bản định tuyến (global) mặc định (không sử dụng virtualization instance-id), áp dụng cho Site 1:
Bật tính năng ITR và ETR của LISP trên router. Chú ý rằng khi dịch vụ bắt đầu, ta sẽ nhận được một thông báo cho biết dịch vụ đã hoạt động:
Cấu hình xTR trỏ tới MSMR (R114):
Cuối cùng, kích hoạt cơ chế rloc-probing để router có xác định được các RLOC ở site khác:
Router MSMR (R114) đã được cấu hình thông tin các site (Site 1 và Site 2) của LISP ở bài trước. Chuỗi xác thực “SITE1KEY” khi ta cấu hình trên R112 phải trùng với chuỗi xác thực trên R114 thì quá trình đăng kí mới thành công.
Bước 2:
Để kiểm tra EID prefix của Site 1 đã được đăng kí hay chưa, ta dùng lệnh show ip lisp database để xem thông tin database của LISP trên R112, chú ý các thông tin output phải trùng khớp với những gì ta đã cấu hình bên trên:
Sử dụng lệnh show ip lisp map-cache để xem dữ liệu ban đầu của map-cache trên R112.
Điểm ta cần chú ý: Chỉ có default map-cache (luôn luôn hiện diện) bên trong map-cache. Lúc này, Site 1 chưa thể giao tiếp được với các site khác trong LISP. Ngoài default map-cache, không có dòng nào khác. Default map-cache (0.0.0.0/0) có “action” là “send-map-request”, có tác dụng khiến cho router có thể tự động gửi truy vấn tới Router Ánh Xạ để tìm các đích đến khi không tự xác định được.
Sử dụng lệnh “lig self ipv4” để truy vấn lên Mapping Server tìm EID prefix mà R112 sở hữu:
Bước này giúp ta biết được R112 đã đăng kí đúng. Nếu R112 không đăng kí đúng, lệnh lig không trả lại EID prefix của site này.
Lúc này, EID mà R112 sở hữu đã có trong map-cache, ta dùng lệnh lại lệnh “show ip lisp map-cache” để thấy:
Thông tin output phải trùng với thông tin đã cấu hình từ trước.
Chú ý: Sự tồn tại của EID mà R112 sở hữu trong bảng map-cache (local) từ trước không ảnh hưởng đến hoạt động của LISP. Thao tác bên trên giúp bạn hiểu được hoạt động của LISP control plane, cách để biết được một site đã đăng kí thành công hay chưa.
Sau đây là một ví dụ minh họa cho trường hợp cấu hình Authentication Key bị sai và Site 1 không thể đăng kí được với MSMR. Kết quả sau đây được trả về khi ta dùng lệnh “lig self ipv4” trên xTR 112:
Nếu site được đăng kí chính xác (và control plane hoạt động), ta sẽ nhận được kết quả trả về chính xác. Trong trường hợp này, kết quả trả về là “Negative” tức là đã thất bại khi đăng kí. (Còn những cách kiểm tra khác nếu ta có quyền truy cập vào Mapping-Server, sẽ được nhắc đến bên dưới).
Bước 3: Cấu hình EID cho LISP ở Site 2 (trên R116)
Trình tự cấu hình tương tự như cấu hình LISP ở Site 1, nhưng khác ở việc chỉ định RLOC và thông tin LISP EID Site 2:
MSMR (R114) cũng phải được cấu hình LISP cho site 2 (ở bài lab 1). Authentication key “SITE2KEY” trên R116 phải trùng khớp với thông tin trên MSMR.
Bước 4: Xác thực thông tin LISP của Site 2
Dùng lệnh show ip lisp database để kiểm tra trạng thái database của LISP trên R116. Thông tin output phải trùng với thông tin ta đã cấu hình bên trên.
Dùng lệnh show ip lisp map-cache để xem trạng thái của map-cache của LISP trên R116. Tương tự R112, ta cũng thấy chỉ có dòng default map-cache bên trong và Site 2 chưa thể giao tiếp với site khác:
Dùng lệnh “lig self ipv4” để truy vấn đến Mapping Server để tìm EID prefix mà R116 sở hữu. Câu lệnh “lig” (LISP Internet Groper) là một công cụ có thể sử dụng để truy vấn đến Mapping Server của LISP để hỏi EID prefix. Bước này xác nhận rằng R116 đã đăng kí chính xác. Nếu R116 đăng kí sai, lig sẽ không trả về EID prefix của Site này.
Bước 5:
Dùng “show lisp site detail” trên Mapping-Server (R114) để xem các EID prefix của các Site đã được đăng kí:
Bước 6: Kiểm tra kết nối LISP-to-LISP bằng cách ping từ Site 1 sang Site 2
Sử dụng tính năng source-ping để ping từ R112 đến R116 (sử dụng các EID loopbacks để làm source và destination address):
Hai packet đầu tiên không thành công. Nó chỉ ra rằng map-cache của cả 2 xTR không có thông tin về đích đến. Những packet đầu tiên bị discard bởi R112 và R116 trong khi chờ đợi xây dựng thông tin về map-cache của nhau. Khi quá trình xây dựng thông tin map-cache hoàn tất, các luồng dữ liệu tiếp theo giữa bất kì host nào nằm trong /24 EID prefix sẽ sử dụng lại thông tin đã xây dựng trong map-cache.
Dùng lệnh “show ip lisp map-cache” trên R112 để xem thông tin mới nằm trong map-cache, đại diện cho Site 2:
Dùng lệnh “show ip lisp map-cache” trên R116 để xem thông tin mới bên trong map-cache, đại diện cho Site 1:
Trên router host 1 (R111), dùng tính năng source-ping lại lần nữa. Lần này không gói tin nào bị drop:
Trên xTR R112, dùng lệnh “show ip lisp forwarding eid remote” để kiểm tra xem bao nhiêu LISP packets đã được đóng gói bởi router này và hiển thị các thuộc tính của LISP về cách R112 đóng gói các packet để gửi tới remote EID.
Từ router host 1 (R111), dùng tính năng sourced traceroute để xem đường đi của LISP.
Chú ý rằng tất cả các hop giữa 2 LISP EID đều hiển thị. (Thông thường, các công nghệ tunnel như GRE và IPsec ẩn các thành phần trong mạng giữa 2 điểm đầu cuối đường hầm).
- Mô tả
- Mục tiêu
- Sơ đồ bài lab
- Thực hiện
Trong bài lab này, router R112 sẽ chỉ sử dụng cổng Ethernet1/1 để làm RLOC trong LISP (cổng E1/2 sẽ được sử dụng trong các bài lab sau).
Cấu hình LISP trên router R112:
| R112-xTR(config)#router lisp R112-xTR(config-router-lisp)# |
| R112-xTR(config-router-lisp)#locator-set SITE1 R112-xTR(config-router-lisp-locator-set)#10.0.1.2 priority 1 weight 1 R112-xTR(config-router-lisp-locator-set)#exit R112-xTR(config-router-lisp)# |
Khi một Site trong LISP có RLOC nhận IP động (như từ giao thức DHCP), ta có thể cấu hình bằng cách chỉ định interface sẽ được làm RLOC thay vì chỉ định IP một cách trực tiếp. Ví dụ:
| R112-xTR(config-router-lisp)#locator-set SITE1 R112-xTR(config-router-lisp-locator-set)#ipv4-interface Ethernet1/1 priority 1 weight 1 R112-xTR(config-router-lisp-locator-set)#exit R112-xTR(config-router-lisp)# |
Cấu hình EID prefix là 192.168.1.0/24 cho ETR này trong bản định tuyến (global) mặc định (không sử dụng virtualization instance-id), áp dụng cho Site 1:
| R112-xTR(config-router-lisp)#eid-table default instance-id 0 R112-xTR(config-router-lisp-eid-table)#database-mapping 192.168.1.0/24 locator-set SITE1 R112-xTR(config-router-lisp-eid-table)#exit R112-xTR(config-router-lisp)# |
| R112-xTR(config-router-lisp)#ipv4 itr R112-xTR(config-router-lisp)#ipv4 etr R112-xTR(config-router-lisp)# *Apr 8 00:53:01.044: %LINEPROTO-5-UPDOWN: Line protocol on Interface LISP0, changed state to up |
| R112-xTR(config-router-lisp)#ipv4 itr map-resolver 10.0.100.2 R112-xTR(config-router-lisp)#ipv4 etr map-server 10.0.100.2 key SITE1KEY R112-xTR(config-router-lisp)# |
| R112-xTR(config-router-lisp)#loc-reach-algorithm rloc-probing R112-xTR(config-router-lisp)#end |
Bước 2:
Để kiểm tra EID prefix của Site 1 đã được đăng kí hay chưa, ta dùng lệnh show ip lisp database để xem thông tin database của LISP trên R112, chú ý các thông tin output phải trùng khớp với những gì ta đã cấu hình bên trên:
| R112-xTR#show ip lisp database LISP ETR IPv4 Mapping Database for EID-table default (IID 0), LSBs: 0x1, 1 entries 192.168.1.0/24, locator-set SITE1 Locator Pri/Wgt Source State 10.0.1.2 1/1 cfg-addr site-self, reachable |
| R112-xTR#sh ip lisp map-cache LISP IPv4 Mapping Cache for EID-table default (IID 0), 1 entries 0.0.0.0/0, uptime: 00:08:54, expires: never, via static send map-request |
Sử dụng lệnh “lig self ipv4” để truy vấn lên Mapping Server tìm EID prefix mà R112 sở hữu:
| R112-xTR#lig self ipv4 Mapping information for EID 192.168.1.0 from 10.0.1.2 with RTT 76 msecs 192.168.1.0/24, uptime: 00:00:00, expires: 23:59:59, via map-reply, self, complete Locator Uptime State Pri/Wgt 10.0.1.2 00:00:00 up, self 1/1 |
Lúc này, EID mà R112 sở hữu đã có trong map-cache, ta dùng lệnh lại lệnh “show ip lisp map-cache” để thấy:
| R112-xTR#sh ip lisp map-cache LISP IPv4 Mapping Cache for EID-table default (IID 0), 2 entries 0.0.0.0/0, uptime: 00:16:56, expires: never, via static send map-request Negative cache entry, action: send-map-request 192.168.1.0/24, uptime: 00:01:55, expires: 23:58:09, via map-reply, self, complete Locator Uptime State Pri/Wgt 10.0.1.2 00:01:55 up, self 1/1 |
Chú ý: Sự tồn tại của EID mà R112 sở hữu trong bảng map-cache (local) từ trước không ảnh hưởng đến hoạt động của LISP. Thao tác bên trên giúp bạn hiểu được hoạt động của LISP control plane, cách để biết được một site đã đăng kí thành công hay chưa.
Sau đây là một ví dụ minh họa cho trường hợp cấu hình Authentication Key bị sai và Site 1 không thể đăng kí được với MSMR. Kết quả sau đây được trả về khi ta dùng lệnh “lig self ipv4” trên xTR 112:
| R112-xTR#lig self ipv4 Mapping information for EID 192.168.1.0 from 10.0.100.2 with RTT 1 msecs 192.168.1.0/24, uptime: 00:00:00, expires: 00:00:59, via map-reply, self, forward-native Negative cache entry, action: forward-native R112-xTR# |
Bước 3: Cấu hình EID cho LISP ở Site 2 (trên R116)
Trình tự cấu hình tương tự như cấu hình LISP ở Site 1, nhưng khác ở việc chỉ định RLOC và thông tin LISP EID Site 2:
| R116-xTR(config)#router lisp R116-xTR(config-router-lisp)#locator-set SITE2 R116-xTR(config-router-lisp-locator-set)#10.0.9.2 priority 1 weight 1 R116-xTR(config-router-lisp-locator-set)#exit R116-xTR(config-router-lisp)#eid-table default instance-id 0 R116-xTR(config-router-lisp-eid-table)#database-mapping 192.168.7.0/24 locator-set SITE2 R116-xTR(config-router-lisp-eid-table)#exit R116-xTR(config-router-lisp)#ipv4 itr R116-xTR(config-router-lisp)#ipv4 etr R116-xTR(config-router-lisp)#ipv4 itr map-resolver 10.0.100.2 R116-xTR(config-router-lisp)#ipv4 etr map-server 10.0.100.2 key SITE2KEY R116-xTR(config-router-lisp)#end |
Bước 4: Xác thực thông tin LISP của Site 2
Dùng lệnh show ip lisp database để kiểm tra trạng thái database của LISP trên R116. Thông tin output phải trùng với thông tin ta đã cấu hình bên trên.
| R116-xTR#sh ip lisp database LISP ETR IPv4 Mapping Database for EID-table default (IID 0), LSBs: 0x1, 1 entries 192.168.7.0/24, locator-set SITE2 Locator Pri/Wgt Source State 10.0.9.2 1/1 cfg-addr site-self, reachable |
| R116-xTR#sh ip lisp map-cache LISP IPv4 Mapping Cache for EID-table default (IID 0), 1 entries 0.0.0.0/0, uptime: 00:07:53, expires: never, via static send map-request Negative cache entry, action: send-map-request |
| R116-xTR#lig self ipv4 Mapping information for EID 192.168.7.0 from 10.0.9.2 with RTT 0 msecs 192.168.7.0/24, uptime: 00:00:00, expires: 23:59:59, via map-reply, self, complete Locator Uptime State Pri/Wgt 10.0.9.2 00:00:00 up, self 1/1 |
Dùng “show lisp site detail” trên Mapping-Server (R114) để xem các EID prefix của các Site đã được đăng kí:
| R114-MSMR#sh lisp site detail LISP Site Registration Information Site name: site1 Description: LISP Site 1 - GOLD Lab Allowed configured locators: any Allowed EID-prefixes: EID-prefix: 192.168.1.0/24 First registered: 00:10:54 Routing table tag: 0 Origin: Configuration Merge active: No Proxy reply: No TTL: 1d00h State: complete Registration errors: Authentication failures: 0 Allowed locators mismatch: 0 ETR 10.0.2.2, last registered 00:00:41, no proxy-reply, map-notify TTL 1d00h, no merge, hash-function sha1, nonce 0x954597F5-0x859BF9D1 state complete, no security-capability xTR-ID 0x816B8510-0xBEA35091-0x9D01B036-0xBD9EC071 site-ID unspecified Locator Local State Pri/Wgt 10.0.1.2 yes up 1/1 ---<skip>--- Site name: site2 Description: Site 2 - GOLD Lab Allowed configured locators: any Allowed EID-prefixes: EID-prefix: 192.168.7.0/24 First registered: 00:09:59 Routing table tag: 0 Origin: Configuration Merge active: No Proxy reply: No TTL: 1d00h State: complete Registration errors: Authentication failures: 0 Allowed locators mismatch: 0 ETR 10.0.9.2, last registered 00:00:48, no proxy-reply, map-notify TTL 1d00h, no merge, hash-function sha1, nonce 0xCADCE387-0xFF2B9684 state complete, no security-capability xTR-ID 0x046EC371-0xBC7134B0-0x59DED478-0x067155EA site-ID unspecified Locator Local State Pri/Wgt 10.0.9.2 yes up 1/1 ---<skip>--- |
Sử dụng tính năng source-ping để ping từ R112 đến R116 (sử dụng các EID loopbacks để làm source và destination address):
| R112-xTR#ping 192.168.7.254 source 192.168.1.254 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.7.254, timeout is 2 seconds: Packet sent with a source address of 192.168.1.254 ..!!! Success rate is 60 percent (3/5), round-trip min/avg/max = 1/1/1 ms |
Dùng lệnh “show ip lisp map-cache” trên R112 để xem thông tin mới nằm trong map-cache, đại diện cho Site 2:
| R112-xTR#sh ip lisp map-cache LISP IPv4 Mapping Cache for EID-table default (IID 0), 3 entries 0.0.0.0/0, uptime: 00:05:04, expires: never, via static send map-request Negative cache entry, action: send-map-request 192.168.1.0/24, uptime: 00:04:02, expires: 23:59:44, via map-reply, self, complete Locator Uptime State Pri/Wgt 10.0.1.2 00:04:02 up, self 1/1 192.168.7.0/24, uptime: 00:00:10, expires: 23:59:49, via map-reply, complete Locator Uptime State Pri/Wgt 10.0.9.2 00:00:10 up 1/1 |
| R116-xTR#sh ip lisp map-cache LISP IPv4 Mapping Cache for EID-table default (IID 0), 2 entries 0.0.0.0/0, uptime: 20:04:35, expires: never, via static send map-request Negative cache entry, action: send-map-request 192.168.1.0/24, uptime: 20:04:17, expires: 04:42:36, via map-reply, complete Locator Uptime State Pri/Wgt 10.0.1.2 20:04:17 up 1/1 192.168.7.0/24, uptime: 00:02:43, expires: 23:57:16, via map-reply, self, complete Locator Uptime State Pri/Wgt 10.0.9.2 00:02:43 up, self 1/1 |
| R111-Host1#ping 192.168.7.1 source 192.168.1.1 rep 100 Type escape sequence to abort. Sending 100, 100-byte ICMP Echos to 192.168.7.1, timeout is 2 seconds: Packet sent with a source address of 192.168.1.1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Success rate is 100 percent (100/100), round-trip min/avg/max = 1/1/1 ms |
| R112-xTR#sh ip lisp forwarding eid remote 192.168.7.1 Prefix Fwd action Locator status bits 192.168.7.0/24 encap 0x00000001 packets/bytes 114/11274 path list B460082C, flags 0x49, 3 locks, per-destination ifnums: LISP0(21): 10.0.9.2 1 path path B45CF1C8, path list B460082C, share 1/1, type attached nexthop, for IPv4 nexthop 10.0.9.2 LISP0, adjacency IP midchain out of LISP0, addr 10.0.9.2 B467E5F8 1 output chain chain[0]: IP midchain out of LISP0, addr 10.0.9.2 B467E5F8 IP adj out of Ethernet1/2, addr 10.0.2.1 B467E4C8 R112-xTR# |
| R111-Host1#traceroute 192.168.7.1 source 192.168.1.1 Type escape sequence to abort. Tracing the route to 192.168.7.1 VRF info: (vrf in name/id, vrf out name/id) 1 172.16.1.2 0 msec 0 msec 0 msec 2 10.0.1.1 1 msec 7 msec 7 msec 3 10.0.9.2 1 msec 1 msec 0 msec 4 172.16.7.1 1 msec * 0 msec R111-Host1# |