I.Mô hình:
Mô hình bao gồm 3 Router Core của 3 chi nhánh bao gồm Sài Gòn, Đà Nẵng và Vũng Tàu. Lúc này chúng ta muốn triển khai DMVPN kết hợp IPSec tự động do các chi nhánh với nhau để tăng độ bảo mật cho đường truyền dữ liệu giữa các chi nhánh của chúng ta và để giảm thiểu độ sai xót khi cấu hình bằng tay thì chúng ta sẽ sử dụng Ansible chạy trên Docker Container đã được mình commit sẳn thành Image (để tiện cho việc sử dụng lại hoặc cho trường hợp khác) để đẩy các playbook yaml vào thiết bị.
IP của các interface e0/3 của các router lần lượt như sau:
Thiết bị | IP address |
SaiGon | 10.215.26.241/24 |
ISP | 10.215.26.242/24 |
DaNang | 10.215.26.243/24 |
VungTau | 10.215.26.206/24 |
II.Yêu cầu bài lab:
1. Laptop (Windows) của chúng ta đã cài Docker Desktop.
2. Các thiết bị router phải được cấu hình thủ công IP và bật tính năng SSH.
3. Chúng ta sẽ tiến hành tải Ubuntu Image mà mình đã làm sẳn (có python(2,3),netmiko library,ansible(đã edit file ansible.cfg),git,nano,glances,htop,..) hoặc các bạn có thể sử dụng các Ubuntu image có sẳn trên docker hub và build thêm các công cụ để sử dụng cho bài lab.
4. Thêm thiết bị vào file hosts - file lưu IP các thiết bị
5. Tạo playbook YAML để thực hiện các cấu hình tự động DMVPN IPSec cho các Router.
6. Chạy các playbook trên.
7. Kiểm tra lại giao thức DMVPN đã thiết lập thành công hay chưa. Các gói dữ liệu giữa các chi nhánh đã được mã hóa hay chưa.
III.Thực hiện bài lab:
Bước 1: Cấu hình cơ bản cho các Router và bật tính năng SSH:
-Router Sài Gòn:
-Router Đà Nẵng:
-Router Vũng Tàu:
-Router ISP:
Bước 2: Chạy Docker Container.
-Tiến hành kéo image từ hub.docker về:
+Đầu tiên gõ lệnh tìm image như sau:
+Tiếp theo chúng ta tiến hành kéo image về:
+Tiếp theo chúng ta kiểm tra xem image đã được thêm thành công chưa:
-Tiếp theo ta tiến hành chạy image:
Hoàn tất bước 2.
Bước 3: Chỉnh sửa file host trong thư mục /etc/ansible/
-Ta tiến hành thêm các dòng sau vào cuối file hosts:
Bước 4: Chúng ta sẽ dùng Git để kéo các playbook từ github về:
Các Playbook:
Router ISP: ISP.yml
Router SaiGon: SaiGon.yml
Router DaNang: DaNang.yml
Router VungTau: VungTau.yml
Bước 5: Chúng ta tiến hành dùng Ansible để đổ cấu hình vào các Router:
-Router ISP:
-Router SaiGon:
-Router DaNang:
-Router VungTau:
Hoàn tất việc đổ cấu hình vào thiết bị.
Bước 6: Kiểm tra kết quả:
Trên Host_1:
Trên Host_2:
Trên Host_3:
-Tiến hành ping từ Host_1 sang Host_2 và Host_3 để kiểm tra:
-Kiểm tra giao ospf trên router SaiGon:
-Kiểm tra dmvpn và nhrp trên router SaiGon:
-Tiếp theo kiểm tra mã hóa isakmp trên router SaiGon:
Hoàn tất bài lab.
Tín Phan - 3/2020
1. Laptop (Windows) của chúng ta đã cài Docker Desktop.
2. Các thiết bị router phải được cấu hình thủ công IP và bật tính năng SSH.
3. Chúng ta sẽ tiến hành tải Ubuntu Image mà mình đã làm sẳn (có python(2,3),netmiko library,ansible(đã edit file ansible.cfg),git,nano,glances,htop,..) hoặc các bạn có thể sử dụng các Ubuntu image có sẳn trên docker hub và build thêm các công cụ để sử dụng cho bài lab.
4. Thêm thiết bị vào file hosts - file lưu IP các thiết bị
5. Tạo playbook YAML để thực hiện các cấu hình tự động DMVPN IPSec cho các Router.
6. Chạy các playbook trên.
7. Kiểm tra lại giao thức DMVPN đã thiết lập thành công hay chưa. Các gói dữ liệu giữa các chi nhánh đã được mã hóa hay chưa.
III.Thực hiện bài lab:
Bước 1: Cấu hình cơ bản cho các Router và bật tính năng SSH:
-Router Sài Gòn:
Code:
[FONT=Calibri][FONT=Consolas]Router(config)#hostname SaiGon[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config)#no cdp run[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config)#enable secret cisco[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config)#username cisco password cisco[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config)#line vty 0 4[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config-line)#transport input ssh[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config-line)#login local[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config-line)#exit[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config)#ip domain-name forum.vnpro.org[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]SaiGon(config)#crypto key generate rsa[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]The name for the keys will be: SaiGon.forum.vnpro.org[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]Choose the size of the key modulus in the range of 360 to 4096 for your[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]General Purpose Keys. Choosing a key modulus greater than 512 may take[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]a few minutes.[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]How many bits in the modulus [512]: 1024[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]% Generating 1024 bit RSA keys, keys will be non-exportable...[/FONT][/FONT] [FONT=Consolas][OK] (elapsed time was 0 seconds)[/FONT]
Code:
[FONT=Calibri][FONT=Consolas]Router(config)#hostname DaNang[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config)#no cdp run[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config)#enable secret cisco[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config)#username cisco password cisco[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config)#line vty 0 4[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config-line)#transport input ssh[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config-line)#login local[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config-line)#exit[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config)#ip domain-name forum.vnpro.org[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]DaNang(config)#crypto key generate rsa[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]The name for the keys will be: DaNang.forum.vnpro.org[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]Choose the size of the key modulus in the range of 360 to 4096 for your[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]General Purpose Keys. Choosing a key modulus greater than 512 may take[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]a few minutes.[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]How many bits in the modulus [512]: 1024[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]% Generating 1024 bit RSA keys, keys will be non-exportable...[/FONT][/FONT] [FONT=Consolas][OK] (elapsed time was 0 seconds)[/FONT]
Code:
[FONT=Calibri][FONT=Consolas]Router(config)#hostname VungTau[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config)#no cdp run[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config)#enable secret cisco[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config)#username cisco password cisco[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config)#line vty 0 4[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config-line)#transport input ssh[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config-line)#login local[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config-line)#exit[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config)#ip domain-name forum.vnpro.org[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]VungTau(config)#crypto key generate rsa[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]The name for the keys will be: VungTau.forum.vnpro.org[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]Choose the size of the key modulus in the range of 360 to 4096 for your[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]General Purpose Keys. Choosing a key modulus greater than 512 may take[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]a few minutes.[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]How many bits in the modulus [512]: 1024[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]% Generating 1024 bit RSA keys, keys will be non-exportable...[/FONT][/FONT] [FONT=Consolas][OK] (elapsed time was 0 seconds)[/FONT]
Code:
[FONT=Calibri][FONT=Consolas]Router(config)#hostname ISP[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config)#no cdp run[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config)#enable secret cisco[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config)#username cisco password cisco[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config)#line vty 0 4[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config-line)#transport input ssh[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config-line)#login local[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config-line)#exit[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config)#ip domain-name forum.vnpro.org[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]ISP(config)#crypto key generate rsa[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]The name for the keys will be: ISP.forum.vnpro.org[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]Choose the size of the key modulus in the range of 360 to 4096 for your[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]General Purpose Keys. Choosing a key modulus greater than 512 may take[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]a few minutes.[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]How many bits in the modulus [512]: 1024[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]% Generating 1024 bit RSA keys, keys will be non-exportable...[/FONT][/FONT] [FONT=Consolas][OK] (elapsed time was 0 seconds)[/FONT]
-Tiến hành kéo image từ hub.docker về:
+Đầu tiên gõ lệnh tìm image như sau:
Code:
[FONT=Consolas]docker search jir0w[/FONT]
+Tiếp theo chúng ta tiến hành kéo image về:
Code:
[FONT=Consolas]docker pull jir0w/devnet:1.0[/FONT]
+Tiếp theo chúng ta kiểm tra xem image đã được thêm thành công chưa:
Code:
[FONT=Consolas]Docker images[/FONT]
-Tiếp theo ta tiến hành chạy image:
Code:
[FONT=Consolas]Docker run -it -h vnpro –-name “DMVPN” 1e17 [/FONT]
Hoàn tất bước 2.
Bước 3: Chỉnh sửa file host trong thư mục /etc/ansible/
-Ta tiến hành thêm các dòng sau vào cuối file hosts:
Code:
[FONT=Calibri][FONT=Consolas]cd /etc/ansible/[/FONT][/FONT] [FONT=Consolas]nano hosts[/FONT]
Bước 4: Chúng ta sẽ dùng Git để kéo các playbook từ github về:
Code:
[FONT=Calibri][FONT=Consolas]cd ~[/FONT][/FONT] [FONT=Consolas]git clone https://github.com/Jir0w/DevNet_DMVPN.git[/FONT]
Router ISP: ISP.yml
Router SaiGon: SaiGon.yml
Router DaNang: DaNang.yml
Router VungTau: VungTau.yml
Bước 5: Chúng ta tiến hành dùng Ansible để đổ cấu hình vào các Router:
-Router ISP:
Code:
cd [FONT=Consolas]DevNet_DMVPN Ansible-playbook ISP.yml[/FONT]
-Router SaiGon:
Code:
[FONT=Consolas]Ansible-playbook SaiGon.yml[/FONT]
-Router DaNang:
Code:
[FONT=Consolas]Ansible-playbook DaNang.yml[/FONT]
-Router VungTau:
Code:
[FONT=Consolas]Ansible-playbook VungTau.yml[/FONT]
Hoàn tất việc đổ cấu hình vào thiết bị.
Bước 6: Kiểm tra kết quả:
Trên Host_1:
Trên Host_2:
Trên Host_3:
-Tiến hành ping từ Host_1 sang Host_2 và Host_3 để kiểm tra:
-Kiểm tra giao ospf trên router SaiGon:
Code:
[FONT=Calibri][FONT=Consolas]SaiGon#sh ip ospf neighbor[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]Neighbor ID Pri State Dead Time Address Interface[/FONT][/FONT] [FONT=Calibri][FONT=Consolas]192.168.2.1 0 FULL/DROTHER 00:00:35 172.16.1.3 Tunnel1[/FONT][/FONT] [FONT=Consolas]192.168.3.1 0 FULL/DROTHER 00:00:33 172.16.1.2 Tunnel1[/FONT]
-Tiếp theo kiểm tra mã hóa isakmp trên router SaiGon:
Code:
[FONT=Consolas]SaiGon#show crypto isakmp sa[/FONT]
Hoàn tất bài lab.
Tín Phan - 3/2020