@xdev-asia/xdev-knowledge-mcp 1.0.54 → 1.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/01-bai-1-gioi-thieu-vyos-va-cai-dat.md +333 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/02-bai-2-cau-hinh-interface-va-ip-co-ban.md +325 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/03-bai-3-nat-source-nat-destination-nat-va-masquerade.md +322 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/04-bai-4-firewall-co-ban-rules-chains-va-groups.md +386 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/05-bai-5-zone-based-firewall.md +451 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/06-bai-6-dhcp-server-dns-forwarding-va-ntp.md +108 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/07-bai-7-vlans-bonding-va-bridge.md +96 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/08-bai-8-static-routing-va-policy-based-routing.md +85 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/09-bai-9-dynamic-routing-ospf.md +81 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/10-bai-10-dynamic-routing-bgp.md +84 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/11-bai-11-vpn-wireguard-va-openvpn.md +87 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/12-bai-12-vpn-ipsec-site-to-site.md +89 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/13-bai-13-high-availability-vrrp-va-conntrack-sync.md +63 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/14-bai-14-wan-load-balancing-qos-va-monitoring.md +64 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/chapters/01-vyos-tu-co-ban-den-nang-cao/lessons/15-bai-15-containers-automation-va-production-best-practices.md +82 -0
- package/content/series/devsecops/vyos-tu-co-ban-den-nang-cao/index.md +410 -0
- package/package.json +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019d65ef-d36f-773e-bf0a-9e36c62f858f
|
|
3
|
+
title: 'Bài 8: Static Routing và Policy-Based Routing'
|
|
4
|
+
slug: bai-8-static-routing-va-policy-based-routing
|
|
5
|
+
description: >-
|
|
6
|
+
Cấu hình định tuyến tĩnh (Static Routing) và Policy-Based Routing trên VyOS, ví dụ thực tế, lab và tổng kết.
|
|
7
|
+
duration_minutes: 150
|
|
8
|
+
is_free: true
|
|
9
|
+
video_url: null
|
|
10
|
+
sort_order: 8
|
|
11
|
+
section_title: "VyOS từ Cơ bản đến Nâng cao"
|
|
12
|
+
course:
|
|
13
|
+
id: 019d65ef-d36f-773e-bf0a-9e2efc5e19df
|
|
14
|
+
title: VyOS từ Cơ bản đến Nâng Cao
|
|
15
|
+
slug: vyos-tu-co-ban-den-nang-cao
|
|
16
|
+
---
|
|
17
|
+
<img src="/storage/uploads/2026/04/vyos-08-routing-pbr.png" alt="Static Routing và Policy-Based Routing" style="display:block;margin:24px auto 32px auto;max-width:700px;width:100%;border-radius:18px;box-shadow:0 4px 32px #0002" loading="lazy" />
|
|
18
|
+
|
|
19
|
+
<h2>Giới thiệu về Static Routing và Policy-Based Routing trên VyOS</h2>
|
|
20
|
+
<p>Bài học này hướng dẫn cấu hình <strong>Static Routing</strong> (định tuyến tĩnh) và <strong>Policy-Based Routing</strong> (định tuyến theo chính sách) trên VyOS 1.4.x/1.5 rolling release. Đây là các kỹ thuật quan trọng để kiểm soát đường đi của gói tin trong mạng.</p>
|
|
21
|
+
|
|
22
|
+
<h3>1. Định tuyến tĩnh (Static Routing)</h3>
|
|
23
|
+
<p>Static route cho phép chỉ định đường đi cố định cho các mạng đích.</p>
|
|
24
|
+
<pre><code class="language-bash">set protocols static route 10.10.20.0/24 next-hop 192.168.10.2
|
|
25
|
+
set protocols static route 0.0.0.0/0 next-hop 192.168.10.254
|
|
26
|
+
set protocols static route 192.168.30.0/24 blackhole
|
|
27
|
+
</code></pre>
|
|
28
|
+
<ul>
|
|
29
|
+
<li><strong>Failover route với interface health:</strong></li>
|
|
30
|
+
</ul>
|
|
31
|
+
<pre><code class="language-bash">set protocols static route 0.0.0.0/0 next-hop 192.168.10.254
|
|
32
|
+
set protocols static route 0.0.0.0/0 next-hop 192.168.20.254 distance 10
|
|
33
|
+
set protocols static route 0.0.0.0/0 next-hop 192.168.20.254 check-gateway ping
|
|
34
|
+
</code></pre>
|
|
35
|
+
|
|
36
|
+
<h3>2. Policy-Based Routing (PBR)</h3>
|
|
37
|
+
<p>PBR cho phép định tuyến dựa trên nguồn, đích, giao thức hoặc cổng.</p>
|
|
38
|
+
<pre><code class="language-bash">set policy route PBR-OUT rule 10 source address 192.168.10.0/24
|
|
39
|
+
set policy route PBR-OUT rule 10 set table 100
|
|
40
|
+
set interfaces ethernet eth0 policy route PBR-OUT
|
|
41
|
+
set protocols static table 100 route 0.0.0.0/0 next-hop 203.0.113.1
|
|
42
|
+
</code></pre>
|
|
43
|
+
<ul>
|
|
44
|
+
<li><strong>Routing nhiều uplink theo nguồn:</strong></li>
|
|
45
|
+
</ul>
|
|
46
|
+
<pre><code class="language-bash">set policy route MULTI-WAN rule 20 source address 192.168.20.0/24
|
|
47
|
+
set policy route MULTI-WAN rule 20 set table 200
|
|
48
|
+
set protocols static table 200 route 0.0.0.0/0 next-hop 198.51.100.1
|
|
49
|
+
</code></pre>
|
|
50
|
+
|
|
51
|
+
<h3>3. VRF (Virtual Routing and Forwarding) cơ bản</h3>
|
|
52
|
+
<pre><code class="language-bash">set vrf name VRF1 table 10
|
|
53
|
+
set interfaces ethernet eth2 vrf VRF1
|
|
54
|
+
set protocols static table 10 route 0.0.0.0/0 next-hop 10.10.10.2
|
|
55
|
+
</code></pre>
|
|
56
|
+
|
|
57
|
+
<h3>4. Ví dụ thực tế & sơ đồ mạng</h3>
|
|
58
|
+
<pre><code>+-------------------+ +-------------------+
|
|
59
|
+
| VyOS Router |------| ISP1 |
|
|
60
|
+
| 192.168.10.1/24 | | 203.0.113.1 |
|
|
61
|
+
| 192.168.20.1/24 | +------------------+
|
|
62
|
+
+-------------------+ +------------------+
|
|
63
|
+
| |
|
|
64
|
+
LAN, WAN1, WAN2 Internet
|
|
65
|
+
</code></pre>
|
|
66
|
+
|
|
67
|
+
<h3>5. Lab thực hành: Static Routing & PBR</h3>
|
|
68
|
+
<ol>
|
|
69
|
+
<li>Đăng nhập VyOS, xác định các interface và uplink.</li>
|
|
70
|
+
<li>Cấu hình static route, PBR, VRF như trên.</li>
|
|
71
|
+
<li>Commit và save cấu hình:</li>
|
|
72
|
+
</ol>
|
|
73
|
+
<pre><code class="language-bash">commit
|
|
74
|
+
save
|
|
75
|
+
</code></pre>
|
|
76
|
+
<ol start="4">
|
|
77
|
+
<li>Kiểm tra định tuyến:</li>
|
|
78
|
+
</ol>
|
|
79
|
+
<pre><code class="language-bash">show ip route
|
|
80
|
+
show policy route
|
|
81
|
+
show vrf
|
|
82
|
+
</code></pre>
|
|
83
|
+
|
|
84
|
+
<h3>6. Tổng kết</h3>
|
|
85
|
+
<p>Bạn đã biết cách cấu hình định tuyến tĩnh, policy-based routing và VRF trên VyOS, ứng dụng vào các kịch bản đa uplink, phân đoạn mạng và kiểm soát đường đi gói tin.</p>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019d65ef-d36f-773e-bf0a-9e37dfd74e6b
|
|
3
|
+
title: 'Bài 9: Dynamic Routing — OSPF'
|
|
4
|
+
slug: bai-9-dynamic-routing-ospf
|
|
5
|
+
description: >-
|
|
6
|
+
Cấu hình định tuyến động OSPF trên VyOS, lý thuyết, ví dụ thực tế, lab và tổng kết.
|
|
7
|
+
duration_minutes: 170
|
|
8
|
+
is_free: true
|
|
9
|
+
video_url: null
|
|
10
|
+
sort_order: 9
|
|
11
|
+
section_title: "VyOS từ Cơ bản đến Nâng cao"
|
|
12
|
+
course:
|
|
13
|
+
id: 019d65ef-d36f-773e-bf0a-9e2efc5e19df
|
|
14
|
+
title: VyOS từ Cơ bản đến Nâng cao
|
|
15
|
+
slug: vyos-tu-co-ban-den-nang-cao
|
|
16
|
+
---
|
|
17
|
+
<img src="/storage/uploads/2026/04/vyos-09-ospf.png" alt="Dynamic Routing — OSPF" style="display:block;margin:24px auto 32px auto;max-width:700px;width:100%;border-radius:18px;box-shadow:0 4px 32px #0002" loading="lazy" />
|
|
18
|
+
|
|
19
|
+
<h2>Giới thiệu về OSPF trên VyOS</h2>
|
|
20
|
+
<p>Bài học này hướng dẫn cấu hình <strong>OSPF</strong> (Open Shortest Path First) trên VyOS 1.4.x/1.5 rolling release. OSPF là giao thức định tuyến động phổ biến trong các hệ thống mạng doanh nghiệp.</p>
|
|
21
|
+
|
|
22
|
+
<h3>1. Kiến thức cơ bản về OSPF</h3>
|
|
23
|
+
<ul>
|
|
24
|
+
<li><strong>Area</strong>: Vùng logic để chia nhỏ mạng OSPF.</li>
|
|
25
|
+
<li><strong>LSA</strong>: Link State Advertisement, các loại LSA (Type 1, 2, 3...)</li>
|
|
26
|
+
<li><strong>Cost</strong>: Trọng số đường đi, ảnh hưởng đến lựa chọn đường.</li>
|
|
27
|
+
<li><strong>SPF</strong>: Thuật toán Dijkstra tính đường đi ngắn nhất.</li>
|
|
28
|
+
</ul>
|
|
29
|
+
|
|
30
|
+
<h3>2. Cấu hình OSPF cơ bản</h3>
|
|
31
|
+
<pre><code class="language-bash">set protocols ospf area 0 network 192.168.10.0/24
|
|
32
|
+
set protocols ospf area 0 network 192.168.20.0/24
|
|
33
|
+
set protocols ospf area 1 network 10.10.10.0/24
|
|
34
|
+
set protocols ospf parameters router-id 1.1.1.1
|
|
35
|
+
set protocols ospf passive-interface eth2
|
|
36
|
+
set protocols ospf redistribute connected
|
|
37
|
+
set protocols ospf redistribute static
|
|
38
|
+
</code></pre>
|
|
39
|
+
<ul>
|
|
40
|
+
<li><strong>OSPF Unnumbered & ECMP:</strong></li>
|
|
41
|
+
</ul>
|
|
42
|
+
<pre><code class="language-bash">set protocols ospf interface eth3 network-type point-to-point
|
|
43
|
+
set protocols ospf parameters ecmp-limit 4
|
|
44
|
+
</code></pre>
|
|
45
|
+
|
|
46
|
+
<h3>3. OSPF Authentication</h3>
|
|
47
|
+
<pre><code class="language-bash">set protocols ospf area 0 authentication md5
|
|
48
|
+
set protocols ospf area 0 authentication-key-id 1 md5-key "VyOSSecret"
|
|
49
|
+
</code></pre>
|
|
50
|
+
|
|
51
|
+
<h3>4. Kiểm tra trạng thái OSPF</h3>
|
|
52
|
+
<pre><code class="language-bash">show ip ospf neighbor
|
|
53
|
+
show ip ospf route
|
|
54
|
+
show ip ospf database
|
|
55
|
+
</code></pre>
|
|
56
|
+
|
|
57
|
+
<h3>5. Sơ đồ mạng ví dụ</h3>
|
|
58
|
+
<pre><code>+---------+ +---------+ +---------+
|
|
59
|
+
| VyOS 1 |-----| VyOS 2 |-----| VyOS 3 |
|
|
60
|
+
| Area 0 | | Area 0 | | Area 1 |
|
|
61
|
+
+---------+ +---------+ +---------+
|
|
62
|
+
</code></pre>
|
|
63
|
+
|
|
64
|
+
<h3>6. Lab thực hành: OSPF Multi-Area</h3>
|
|
65
|
+
<ol>
|
|
66
|
+
<li>Cấu hình OSPF trên 3 router VyOS như sơ đồ.</li>
|
|
67
|
+
<li>Thiết lập area, router-id, network, authentication.</li>
|
|
68
|
+
<li>Commit và save cấu hình:</li>
|
|
69
|
+
</ol>
|
|
70
|
+
<pre><code class="language-bash">commit
|
|
71
|
+
save
|
|
72
|
+
</code></pre>
|
|
73
|
+
<ol start="4">
|
|
74
|
+
<li>Kiểm tra trạng thái OSPF, neighbor, route.</li>
|
|
75
|
+
</ol>
|
|
76
|
+
<pre><code class="language-bash">show ip ospf neighbor
|
|
77
|
+
show ip ospf route
|
|
78
|
+
</code></pre>
|
|
79
|
+
|
|
80
|
+
<h3>7. Tổng kết</h3>
|
|
81
|
+
<p>Bạn đã biết cách cấu hình OSPF trên VyOS, ứng dụng vào các hệ thống mạng doanh nghiệp với nhiều area, authentication và kiểm soát định tuyến động.</p>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019d65ef-d36f-773e-bf0a-9e387917d59e
|
|
3
|
+
title: 'Bài 10: Dynamic Routing — BGP'
|
|
4
|
+
slug: bai-10-dynamic-routing-bgp
|
|
5
|
+
description: >-
|
|
6
|
+
Cấu hình định tuyến động BGP trên VyOS, lý thuyết, ví dụ thực tế, lab và tổng kết.
|
|
7
|
+
duration_minutes: 180
|
|
8
|
+
is_free: true
|
|
9
|
+
video_url: null
|
|
10
|
+
sort_order: 10
|
|
11
|
+
section_title: "VyOS từ Cơ bản đến Nâng cao"
|
|
12
|
+
course:
|
|
13
|
+
id: 019d65ef-d36f-773e-bf0a-9e2efc5e19df
|
|
14
|
+
title: VyOS từ Cơ bản đến Nâng cao
|
|
15
|
+
slug: vyos-tu-co-ban-den-nang-cao
|
|
16
|
+
---
|
|
17
|
+
<img src="/storage/uploads/2026/04/vyos-10-bgp.png" alt="Dynamic Routing — BGP" style="display:block;margin:24px auto 32px auto;max-width:700px;width:100%;border-radius:18px;box-shadow:0 4px 32px #0002" loading="lazy" />
|
|
18
|
+
|
|
19
|
+
<h2>Giới thiệu về BGP trên VyOS</h2>
|
|
20
|
+
<p>Bài học này hướng dẫn cấu hình <strong>BGP</strong> (Border Gateway Protocol) trên VyOS 1.4.x/1.5 rolling release. BGP là giao thức định tuyến động tiêu chuẩn cho các hệ thống mạng lớn, ISP và kết nối đa nhà cung cấp.</p>
|
|
21
|
+
|
|
22
|
+
<h3>1. Kiến thức cơ bản về BGP</h3>
|
|
23
|
+
<ul>
|
|
24
|
+
<li><strong>AS (Autonomous System)</strong>: Hệ thống tự trị.</li>
|
|
25
|
+
<li><strong>iBGP vs eBGP</strong>: iBGP (nội bộ), eBGP (liên kết ngoài).</li>
|
|
26
|
+
<li><strong>Path Selection</strong>: Quy tắc chọn đường đi tốt nhất.</li>
|
|
27
|
+
</ul>
|
|
28
|
+
|
|
29
|
+
<h3>2. Cấu hình BGP cơ bản</h3>
|
|
30
|
+
<pre><code class="language-bash">set protocols bgp 65001 parameters router-id 1.1.1.1
|
|
31
|
+
set protocols bgp 65001 neighbor 2.2.2.2 remote-as 65002
|
|
32
|
+
set protocols bgp 65001 neighbor 2.2.2.2 address-family ipv4-unicast
|
|
33
|
+
set protocols bgp 65001 network 192.168.10.0/24
|
|
34
|
+
set protocols bgp 65001 network 10.10.10.0/24
|
|
35
|
+
</code></pre>
|
|
36
|
+
<ul>
|
|
37
|
+
<li><strong>Route-map, prefix-list, AS-path:</strong></li>
|
|
38
|
+
</ul>
|
|
39
|
+
<pre><code class="language-bash">set policy prefix-list PL-OUT rule 10 action permit prefix 192.168.10.0/24
|
|
40
|
+
set policy route-map RM-OUT rule 10 action permit
|
|
41
|
+
set policy route-map RM-OUT rule 10 match ip address prefix-list PL-OUT
|
|
42
|
+
set protocols bgp 65001 neighbor 2.2.2.2 route-map export RM-OUT
|
|
43
|
+
set protocols bgp 65001 neighbor 2.2.2.2 as-path-prepend '65001 65001'
|
|
44
|
+
</code></pre>
|
|
45
|
+
|
|
46
|
+
<h3>3. BGP Communities, Route Reflector, IPv6</h3>
|
|
47
|
+
<pre><code class="language-bash">set protocols bgp 65001 neighbor 3.3.3.3 remote-as 65001
|
|
48
|
+
set protocols bgp 65001 neighbor 3.3.3.3 route-reflector-client
|
|
49
|
+
set protocols bgp 65001 neighbor 2.2.2.2 address-family ipv6-unicast
|
|
50
|
+
set protocols bgp 65001 neighbor 2.2.2.2 extended-nexthop
|
|
51
|
+
set protocols bgp 65001 neighbor 2.2.2.2 soft-reconfiguration inbound
|
|
52
|
+
</code></pre>
|
|
53
|
+
|
|
54
|
+
<h3>4. Kiểm tra trạng thái BGP</h3>
|
|
55
|
+
<pre><code class="language-bash">show ip bgp summary
|
|
56
|
+
show ip bgp
|
|
57
|
+
show ip bgp neighbors
|
|
58
|
+
</code></pre>
|
|
59
|
+
|
|
60
|
+
<h3>5. Sơ đồ mạng ví dụ</h3>
|
|
61
|
+
<pre><code>+---------+ +---------+
|
|
62
|
+
| VyOS 1 |-----| VyOS 2 |
|
|
63
|
+
| AS65001| | AS65002|
|
|
64
|
+
+---------+ +---------+
|
|
65
|
+
</code></pre>
|
|
66
|
+
|
|
67
|
+
<h3>6. Lab thực hành: BGP Peering 2 AS</h3>
|
|
68
|
+
<ol>
|
|
69
|
+
<li>Cấu hình BGP trên 2 VyOS với AS khác nhau.</li>
|
|
70
|
+
<li>Thiết lập neighbor, route-map, prefix-list, as-path-prepend.</li>
|
|
71
|
+
<li>Commit và save cấu hình:</li>
|
|
72
|
+
</ol>
|
|
73
|
+
<pre><code class="language-bash">commit
|
|
74
|
+
save
|
|
75
|
+
</code></pre>
|
|
76
|
+
<ol start="4">
|
|
77
|
+
<li>Kiểm tra trạng thái BGP, routes.</li>
|
|
78
|
+
</ol>
|
|
79
|
+
<pre><code class="language-bash">show ip bgp summary
|
|
80
|
+
show ip bgp
|
|
81
|
+
</code></pre>
|
|
82
|
+
|
|
83
|
+
<h3>7. Tổng kết</h3>
|
|
84
|
+
<p>Bạn đã biết cách cấu hình BGP trên VyOS, ứng dụng vào các hệ thống mạng lớn, đa nhà cung cấp, kiểm soát chính sách định tuyến động.</p>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019d65ef-d36f-773e-bf0a-9e3982d5a422
|
|
3
|
+
title: 'Bài 11: VPN — WireGuard và OpenVPN'
|
|
4
|
+
slug: bai-11-vpn-wireguard-va-openvpn
|
|
5
|
+
description: >-
|
|
6
|
+
Hướng dẫn cấu hình VPN trên VyOS với WireGuard và OpenVPN, so sánh hiệu năng, bảo mật, thực hành site-to-site và remote access, routing và firewall cho VPN.
|
|
7
|
+
duration_minutes: 170
|
|
8
|
+
is_free: true
|
|
9
|
+
video_url: null
|
|
10
|
+
sort_order: 11
|
|
11
|
+
section_title: "VyOS từ Cơ bản đến Nâng cao"
|
|
12
|
+
course:
|
|
13
|
+
id: 019d65ef-d36f-773e-bf0a-9e2efc5e19df
|
|
14
|
+
title: VyOS từ Cơ bản đến Nâng Cao
|
|
15
|
+
slug: vyos-tu-co-ban-den-nang-cao
|
|
16
|
+
---
|
|
17
|
+
<img src="/storage/uploads/2026/04/vyos-11-vpn-wireguard.png" alt="VPN — WireGuard và OpenVPN" style="display:block;margin:24px auto 32px auto;max-width:700px;width:100%;border-radius:18px;box-shadow:0 4px 32px #0002" loading="lazy" />
|
|
18
|
+
|
|
19
|
+
<h2>Giới thiệu VPN trên VyOS: WireGuard và OpenVPN</h2>
|
|
20
|
+
<p>VPN (Virtual Private Network) là giải pháp bảo mật kết nối giữa các site hoặc truy cập từ xa. VyOS hỗ trợ nhiều loại VPN hiện đại như WireGuard, OpenVPN và IPsec. Bài này tập trung vào WireGuard và OpenVPN, hai giải pháp phổ biến với ưu điểm về hiệu năng, bảo mật và cấu hình linh hoạt.</p>
|
|
21
|
+
<h3>WireGuard: Site-to-Site VPN</h3>
|
|
22
|
+
<p><strong>WireGuard</strong> là giao thức VPN hiện đại, đơn giản, hiệu năng cao. Để cấu hình site-to-site giữa hai VyOS:</p>
|
|
23
|
+
<pre><code class="language-bash"># Tạo key pair trên mỗi VyOS
|
|
24
|
+
run generate wireguard key
|
|
25
|
+
# Lấy public key: run generate wireguard pubkey key <private-key>
|
|
26
|
+
|
|
27
|
+
# Cấu hình WireGuard interface
|
|
28
|
+
set interfaces wireguard wg0 address '10.10.10.1/24'
|
|
29
|
+
set interfaces wireguard wg0 port '51820'
|
|
30
|
+
set interfaces wireguard wg0 private-key '<private-key>'
|
|
31
|
+
|
|
32
|
+
# Thêm peer
|
|
33
|
+
set interfaces wireguard wg0 peer <peer-public-key> allowed-ips '10.10.10.2/32'
|
|
34
|
+
set interfaces wireguard wg0 peer <peer-public-key> endpoint 'WAN_IP_PEER:51820'
|
|
35
|
+
</code></pre>
|
|
36
|
+
<p>Thực hiện tương tự ở site bên kia, đổi địa chỉ IP và key.</p>
|
|
37
|
+
<h3>WireGuard: Remote Access VPN</h3>
|
|
38
|
+
<p>Cho phép client (laptop, điện thoại) truy cập mạng nội bộ qua WireGuard:</p>
|
|
39
|
+
<pre><code class="language-bash">set interfaces wireguard wg0 address '10.10.20.1/24'
|
|
40
|
+
set interfaces wireguard wg0 port '51820'
|
|
41
|
+
set interfaces wireguard wg0 private-key '<server-private-key>'
|
|
42
|
+
set interfaces wireguard wg0 peer <client-public-key> allowed-ips '10.10.20.2/32'
|
|
43
|
+
</code></pre>
|
|
44
|
+
<p>Client cấu hình tương ứng với public key của server.</p>
|
|
45
|
+
<h3>OpenVPN: Site-to-Site với Pre-Shared Key</h3>
|
|
46
|
+
<pre><code class="language-bash">set interfaces openvpn vtun0 mode site-to-site
|
|
47
|
+
set interfaces openvpn vtun0 local-address '10.20.20.1'
|
|
48
|
+
set interfaces openvpn vtun0 remote-address '10.20.20.2'
|
|
49
|
+
set interfaces openvpn vtun0 shared-secret-key-file '/config/auth/ovpn.key'
|
|
50
|
+
set interfaces openvpn vtun0 local-port '1194'
|
|
51
|
+
set interfaces openvpn vtun0 remote-host '<peer-wan-ip>'
|
|
52
|
+
</code></pre>
|
|
53
|
+
<h3>OpenVPN: Remote Access với Certificates</h3>
|
|
54
|
+
<pre><code class="language-bash">set interfaces openvpn vtun1 mode server
|
|
55
|
+
set interfaces openvpn vtun1 server subnet '10.30.30.0/24'
|
|
56
|
+
set interfaces openvpn vtun1 tls ca-cert-file '/config/auth/ca.crt'
|
|
57
|
+
set interfaces openvpn vtun1 tls cert-file '/config/auth/server.crt'
|
|
58
|
+
set interfaces openvpn vtun1 tls key-file '/config/auth/server.key'
|
|
59
|
+
set interfaces openvpn vtun1 client-cert-required
|
|
60
|
+
</code></pre>
|
|
61
|
+
<h3>So sánh WireGuard, OpenVPN và IPsec</h3>
|
|
62
|
+
<ul>
|
|
63
|
+
<li><strong>WireGuard</strong>: Hiệu năng cao, cấu hình đơn giản, mã nguồn nhỏ, hỗ trợ tốt trên VyOS 1.4/1.5.</li>
|
|
64
|
+
<li><strong>OpenVPN</strong>: Linh hoạt, nhiều chế độ, hỗ trợ certificate, nhưng hiệu năng thấp hơn WireGuard.</li>
|
|
65
|
+
<li><strong>IPsec</strong>: Chuẩn công nghiệp, tích hợp sâu, cấu hình phức tạp hơn.</li>
|
|
66
|
+
</ul>
|
|
67
|
+
<h3>Routing và Firewall cho VPN</h3>
|
|
68
|
+
<p>Sau khi thiết lập tunnel, cần định tuyến traffic và mở firewall:</p>
|
|
69
|
+
<pre><code class="language-bash">set protocols static route 192.168.2.0/24 next-hop 10.10.10.2
|
|
70
|
+
set firewall name VPN-IN default-action accept
|
|
71
|
+
set interfaces wireguard wg0 firewall in name VPN-IN
|
|
72
|
+
</code></pre>
|
|
73
|
+
<h3>Lab thực hành: WireGuard Site-to-Site giữa 2 VyOS</h3>
|
|
74
|
+
<ol>
|
|
75
|
+
<li>Trên mỗi VyOS, tạo key pair và trao đổi public key.</li>
|
|
76
|
+
<li>Cấu hình interface wg0 với địa chỉ riêng, port, private key.</li>
|
|
77
|
+
<li>Thêm peer với public key và endpoint của site bên kia.</li>
|
|
78
|
+
<li>Định tuyến mạng nội bộ qua tunnel.</li>
|
|
79
|
+
<li>Kiểm tra kết nối: <code>show interfaces wireguard</code>, <code>ping</code> qua tunnel.</li>
|
|
80
|
+
</ol>
|
|
81
|
+
<pre><code class="language-bash"># Kiểm tra trạng thái WireGuard
|
|
82
|
+
show interfaces wireguard
|
|
83
|
+
# Kiểm tra routing
|
|
84
|
+
show ip route
|
|
85
|
+
</code></pre>
|
|
86
|
+
<h3>Tổng kết</h3>
|
|
87
|
+
<p>Bài này giúp bạn nắm vững cấu hình VPN với WireGuard và OpenVPN trên VyOS, so sánh ưu nhược điểm, thực hành site-to-site và remote access, routing và firewall cho VPN. Hãy thực hành lab để hiểu sâu hơn về vận hành thực tế.</p>
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019d65ef-d36f-773e-bf0a-9e3a653e2f50
|
|
3
|
+
title: 'Bài 12: VPN — IPsec Site-to-Site'
|
|
4
|
+
slug: bai-12-vpn-ipsec-site-to-site
|
|
5
|
+
description: >-
|
|
6
|
+
Hướng dẫn cấu hình IPsec site-to-site trên VyOS, phân biệt policy-based và route-based, tích hợp với Cisco/Palo Alto, lab thực hành với BGP overlay, kiểm tra và khắc phục sự cố.
|
|
7
|
+
duration_minutes: 180
|
|
8
|
+
is_free: true
|
|
9
|
+
video_url: null
|
|
10
|
+
sort_order: 12
|
|
11
|
+
section_title: "VyOS từ Cơ bản đến Nâng cao"
|
|
12
|
+
course:
|
|
13
|
+
id: 019d65ef-d36f-773e-bf0a-9e2efc5e19df
|
|
14
|
+
title: VyOS từ Cơ bản đến Nâng Cao
|
|
15
|
+
slug: vyos-tu-co-ban-den-nang-cao
|
|
16
|
+
---
|
|
17
|
+
<img src="/storage/uploads/2026/04/vyos-12-ipsec.png" alt="VPN — IPsec Site-to-Site" style="display:block;margin:24px auto 32px auto;max-width:700px;width:100%;border-radius:18px;box-shadow:0 4px 32px #0002" loading="lazy" />
|
|
18
|
+
|
|
19
|
+
<h2>Giới thiệu IPsec VPN trên VyOS</h2>
|
|
20
|
+
<p><strong>IPsec</strong> là chuẩn công nghiệp cho VPN bảo mật giữa các site. VyOS hỗ trợ đầy đủ IPsec với IKEv2, ESP, NAT-T, VTI. Bài này hướng dẫn cấu hình site-to-site, phân biệt policy-based và route-based, tích hợp với thiết bị khác và thực hành lab với BGP overlay.</p>
|
|
21
|
+
<h3>Kiến thức nền tảng IPsec</h3>
|
|
22
|
+
<ul>
|
|
23
|
+
<li><strong>IKEv2</strong>: Giao thức thương lượng key, bảo mật hơn IKEv1.</li>
|
|
24
|
+
<li><strong>ESP</strong>: Encapsulating Security Payload, mã hóa dữ liệu.</li>
|
|
25
|
+
<li><strong>SA</strong>: Security Association, thông số bảo mật cho mỗi kết nối.</li>
|
|
26
|
+
<li><strong>Proposal</strong>: Tập hợp thuật toán mã hóa, xác thực.</li>
|
|
27
|
+
<li><strong>DH Group</strong>: Diffie-Hellman group, xác định độ mạnh key exchange.</li>
|
|
28
|
+
</ul>
|
|
29
|
+
<h3>Policy-based vs Route-based (VTI) VPN</h3>
|
|
30
|
+
<ul>
|
|
31
|
+
<li><strong>Policy-based</strong>: Định nghĩa traffic nào sẽ được mã hóa dựa trên policy.</li>
|
|
32
|
+
<li><strong>Route-based (VTI)</strong>: Tạo interface ảo (vti) để routing linh hoạt, hỗ trợ dynamic routing như BGP.</li>
|
|
33
|
+
</ul>
|
|
34
|
+
<h3>Cấu hình IPsec Site-to-Site giữa 2 VyOS</h3>
|
|
35
|
+
<pre><code class="language-bash"># Tạo proposal
|
|
36
|
+
set vpn ipsec esp-group ESP-GROUP proposal 1 encryption aes256
|
|
37
|
+
set vpn ipsec esp-group ESP-GROUP proposal 1 hash sha256
|
|
38
|
+
set vpn ipsec ike-group IKE-GROUP proposal 1 encryption aes256
|
|
39
|
+
set vpn ipsec ike-group IKE-GROUP proposal 1 dh-group 14
|
|
40
|
+
set vpn ipsec ike-group IKE-GROUP proposal 1 hash sha256
|
|
41
|
+
|
|
42
|
+
# Peer
|
|
43
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> authentication mode pre-shared-secret
|
|
44
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> authentication pre-shared-secret '<secret>'
|
|
45
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> ike-group IKE-GROUP
|
|
46
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> esp-group ESP-GROUP
|
|
47
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> local-address '<local-wan-ip>'
|
|
48
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> tunnel 1 local prefix '192.168.1.0/24'
|
|
49
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> tunnel 1 remote prefix '192.168.2.0/24'
|
|
50
|
+
</code></pre>
|
|
51
|
+
<h3>Route-based VPN với VTI</h3>
|
|
52
|
+
<pre><code class="language-bash">set interfaces vti vti0 address '10.100.100.1/30'
|
|
53
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> vti bind vti0
|
|
54
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> vti esp-group ESP-GROUP
|
|
55
|
+
set vpn ipsec site-to-site peer <peer-wan-ip> vti ike-group IKE-GROUP
|
|
56
|
+
</code></pre>
|
|
57
|
+
<h3>Kết nối IPsec với Cisco/Palo Alto</h3>
|
|
58
|
+
<p>Chỉ cần đồng bộ proposal, pre-shared key, local/remote subnet. Đảm bảo NAT-T bật nếu có NAT.</p>
|
|
59
|
+
<h3>Route-based VPN tới Azure với BGP</h3>
|
|
60
|
+
<pre><code class="language-bash">set interfaces vti vti1 address '169.254.21.2/30'
|
|
61
|
+
set protocols bgp 65001 neighbor 169.254.21.1 remote-as 65515
|
|
62
|
+
set protocols bgp 65001 neighbor 169.254.21.1 update-source vti1
|
|
63
|
+
</code></pre>
|
|
64
|
+
<h3>DMVPN Dual Hub Concept</h3>
|
|
65
|
+
<p>VyOS hỗ trợ DMVPN với nhiều hub, tăng tính sẵn sàng. Cấu hình tương tự route-based, thêm nhiều peer.</p>
|
|
66
|
+
<h3>Kiểm tra và khắc phục sự cố IPsec</h3>
|
|
67
|
+
<pre><code class="language-bash">show vpn ipsec sa
|
|
68
|
+
show vpn ipsec status
|
|
69
|
+
run monitor vpn ipsec
|
|
70
|
+
</code></pre>
|
|
71
|
+
<p>Debug peer nếu không lên tunnel:</p>
|
|
72
|
+
<pre><code class="language-bash">run monitor vpn ipsec log peer <peer-wan-ip>
|
|
73
|
+
</code></pre>
|
|
74
|
+
<h3>Lab thực hành: Route-based IPsec VPN với BGP overlay</h3>
|
|
75
|
+
<ol>
|
|
76
|
+
<li>Cấu hình VTI interface trên cả hai VyOS.</li>
|
|
77
|
+
<li>Cấu hình IPsec peer, proposal, pre-shared key.</li>
|
|
78
|
+
<li>Thiết lập BGP trên VTI interface để trao đổi route.</li>
|
|
79
|
+
<li>Kiểm tra trạng thái tunnel và routing.</li>
|
|
80
|
+
</ol>
|
|
81
|
+
<pre><code class="language-bash"># Kiểm tra trạng thái IPsec
|
|
82
|
+
show vpn ipsec sa
|
|
83
|
+
# Kiểm tra VTI interface
|
|
84
|
+
show interfaces vti
|
|
85
|
+
# Kiểm tra BGP
|
|
86
|
+
show ip bgp summary
|
|
87
|
+
</code></pre>
|
|
88
|
+
<h3>Tổng kết</h3>
|
|
89
|
+
<p>Bài này giúp bạn hiểu rõ IPsec trên VyOS, phân biệt policy-based và route-based, tích hợp với thiết bị khác, thực hành lab với BGP overlay và kỹ năng kiểm tra, khắc phục sự cố thực tế.</p>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019d65ef-d36f-773e-bf0a-9e3bbb16e57f
|
|
3
|
+
title: 'Bài 13: High Availability — VRRP và Conntrack Sync'
|
|
4
|
+
slug: bai-13-high-availability-vrrp-va-conntrack-sync
|
|
5
|
+
description: >-
|
|
6
|
+
Hướng dẫn cấu hình High Availability trên VyOS với VRRP, conntrack-sync, NAT rules cho HA, kiểm tra failover, lab thực hành HA pair VyOS.
|
|
7
|
+
duration_minutes: 160
|
|
8
|
+
is_free: true
|
|
9
|
+
video_url: null
|
|
10
|
+
sort_order: 13
|
|
11
|
+
section_title: "VyOS từ Cơ bản đến Nâng cao"
|
|
12
|
+
course:
|
|
13
|
+
id: 019d65ef-d36f-773e-bf0a-9e2efc5e19df
|
|
14
|
+
title: VyOS từ Cơ bản đến Nâng Cao
|
|
15
|
+
slug: vyos-tu-co-ban-den-nang-cao
|
|
16
|
+
---
|
|
17
|
+
<img src="/storage/uploads/2026/04/vyos-13-ha-vrrp.png" alt="High Availability — VRRP và Conntrack Sync" style="display:block;margin:24px auto 32px auto;max-width:700px;width:100%;border-radius:18px;box-shadow:0 4px 32px #0002" loading="lazy" />
|
|
18
|
+
|
|
19
|
+
<h2>High Availability trên VyOS: VRRP và Conntrack Sync</h2>
|
|
20
|
+
<p>Đảm bảo tính sẵn sàng cao (HA) là yêu cầu quan trọng cho hệ thống mạng. VyOS hỗ trợ VRRP (Virtual Router Redundancy Protocol) và conntrack-sync để đồng bộ trạng thái NAT/connection giữa các node.</p>
|
|
21
|
+
<h3>VRRP: Virtual Router Redundancy Protocol</h3>
|
|
22
|
+
<p>VRRP cho phép nhiều router chia sẻ một địa chỉ ảo (virtual IP), khi node chính gặp sự cố, node dự phòng sẽ tiếp quản IP này.</p>
|
|
23
|
+
<pre><code class="language-bash">set high-availability vrrp group G1 interface eth0
|
|
24
|
+
set high-availability vrrp group G1 virtual-address 192.168.100.254/24
|
|
25
|
+
set high-availability vrrp group G1 priority 200
|
|
26
|
+
set high-availability vrrp group G1 preempt true
|
|
27
|
+
set high-availability vrrp group G1 rfc-compatibility 3
|
|
28
|
+
</code></pre>
|
|
29
|
+
<h3>Conntrack Sync: Đồng bộ trạng thái NAT/Connection</h3>
|
|
30
|
+
<pre><code class="language-bash">set service conntrack-sync interface eth1
|
|
31
|
+
set service conntrack-sync accept-protocol vrrp
|
|
32
|
+
</code></pre>
|
|
33
|
+
<p>Đảm bảo các kết nối NAT không bị gián đoạn khi failover.</p>
|
|
34
|
+
<h3>Config Sync giữa HA Pair</h3>
|
|
35
|
+
<pre><code class="language-bash">set service config-sync peer 192.168.100.2
|
|
36
|
+
set service config-sync interface eth1
|
|
37
|
+
</code></pre>
|
|
38
|
+
<h3>NAT Rules cho HA</h3>
|
|
39
|
+
<p>Áp dụng NAT rule cho virtual IP:</p>
|
|
40
|
+
<pre><code class="language-bash">set nat source rule 100 outbound-interface eth0
|
|
41
|
+
set nat source rule 100 source address 192.168.100.0/24
|
|
42
|
+
set nat source rule 100 translation address masquerade
|
|
43
|
+
</code></pre>
|
|
44
|
+
<h3>Kiểm tra và kiểm soát Failover</h3>
|
|
45
|
+
<pre><code class="language-bash">show high-availability vrrp
|
|
46
|
+
show service conntrack-sync
|
|
47
|
+
</code></pre>
|
|
48
|
+
<h3>Thiết kế HA: VM primary + physical backup</h3>
|
|
49
|
+
<p>Khuyến nghị triển khai VyOS chính trên VM, backup trên thiết bị vật lý để tăng độ tin cậy.</p>
|
|
50
|
+
<h3>Lab thực hành: HA Pair VyOS với VRRP + Conntrack Sync</h3>
|
|
51
|
+
<ol>
|
|
52
|
+
<li>Cấu hình VRRP group trên cả hai VyOS, chọn priority khác nhau.</li>
|
|
53
|
+
<li>Cấu hình conntrack-sync trên interface kết nối nội bộ.</li>
|
|
54
|
+
<li>Kiểm tra failover bằng cách shutdown node chính, quan sát virtual IP chuyển sang node dự phòng.</li>
|
|
55
|
+
<li>Kiểm tra trạng thái NAT/connection sau failover.</li>
|
|
56
|
+
</ol>
|
|
57
|
+
<pre><code class="language-bash"># Kiểm tra trạng thái VRRP
|
|
58
|
+
show high-availability vrrp
|
|
59
|
+
# Kiểm tra đồng bộ conntrack
|
|
60
|
+
show service conntrack-sync
|
|
61
|
+
</code></pre>
|
|
62
|
+
<h3>Tổng kết</h3>
|
|
63
|
+
<p>Bài này giúp bạn cấu hình HA trên VyOS với VRRP, conntrack-sync, NAT rules, kiểm tra failover và thực hành lab thực tế. Đảm bảo hệ thống mạng luôn sẵn sàng, giảm downtime tối đa.</p>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019d65ef-d36f-773e-bf0a-9e3cc2fa6f1e
|
|
3
|
+
title: 'Bài 14: WAN Load Balancing, QoS và Monitoring'
|
|
4
|
+
slug: bai-14-wan-load-balancing-qos-va-monitoring
|
|
5
|
+
description: >-
|
|
6
|
+
Hướng dẫn cấu hình cân bằng tải WAN, QoS, giám sát lưu lượng trên VyOS, lab thực hành dual-WAN, cấu hình NetFlow, SNMP, syslog, Prometheus.
|
|
7
|
+
duration_minutes: 160
|
|
8
|
+
is_free: true
|
|
9
|
+
video_url: null
|
|
10
|
+
sort_order: 14
|
|
11
|
+
section_title: "VyOS từ Cơ bản đến Nâng cao"
|
|
12
|
+
course:
|
|
13
|
+
id: 019d65ef-d36f-773e-bf0a-9e2efc5e19df
|
|
14
|
+
title: VyOS từ Cơ bản đến Nâng Cao
|
|
15
|
+
slug: vyos-tu-co-ban-den-nang-cao
|
|
16
|
+
---
|
|
17
|
+
<img src="/storage/uploads/2026/04/vyos-14-wan-lb-qos.png" alt="WAN Load Balancing, QoS và Monitoring" style="display:block;margin:24px auto 32px auto;max-width:700px;width:100%;border-radius:18px;box-shadow:0 4px 32px #0002" loading="lazy" />
|
|
18
|
+
|
|
19
|
+
<h2>WAN Load Balancing, QoS và Monitoring trên VyOS</h2>
|
|
20
|
+
<p>Đảm bảo kết nối Internet ổn định, tối ưu hóa băng thông và giám sát lưu lượng là yêu cầu quan trọng. VyOS cung cấp các tính năng mạnh mẽ cho cân bằng tải WAN, QoS và monitoring.</p>
|
|
21
|
+
<h3>WAN Load Balancing</h3>
|
|
22
|
+
<pre><code class="language-bash">set load-balancing wan rule 10 inbound-interface eth0
|
|
23
|
+
set load-balancing wan rule 10 interface eth1 weight 100
|
|
24
|
+
set load-balancing wan rule 10 interface eth2 weight 50
|
|
25
|
+
set load-balancing wan rule 10 failover
|
|
26
|
+
set load-balancing wan rule 10 exclude traffic source address 192.168.1.0/24
|
|
27
|
+
set load-balancing wan interface-health eth1 test 10 type ping target 8.8.8.8
|
|
28
|
+
set load-balancing wan interface-health eth2 test 10 type ping target 1.1.1.1
|
|
29
|
+
</code></pre>
|
|
30
|
+
<h3>QoS: Traffic Shaping và Ưu tiên</h3>
|
|
31
|
+
<pre><code class="language-bash">set qos policy shaper SHAPER bandwidth 100mbit
|
|
32
|
+
set qos policy shaper SHAPER default bandwidth 80mbit
|
|
33
|
+
set qos policy shaper SHAPER class 10 match ip destination address 192.168.2.0/24
|
|
34
|
+
set qos policy shaper SHAPER class 10 bandwidth 20mbit
|
|
35
|
+
set interfaces ethernet eth0 qos policy shaper SHAPER
|
|
36
|
+
</code></pre>
|
|
37
|
+
<p>Ưu tiên traffic VoIP/gaming bằng CAKE hoặc HTB.</p>
|
|
38
|
+
<h3>NetFlow/sFlow, SNMP, Syslog</h3>
|
|
39
|
+
<pre><code class="language-bash">set system flow-accounting interface eth0
|
|
40
|
+
set system flow-accounting netflow server 192.168.10.10 port 2055
|
|
41
|
+
set service snmp community public authorization ro
|
|
42
|
+
set service snmp listen-address 0.0.0.0
|
|
43
|
+
set system syslog host 192.168.10.20 facility all level info
|
|
44
|
+
set system syslog host 192.168.10.20 transport tls
|
|
45
|
+
</code></pre>
|
|
46
|
+
<h3>Prometheus Monitoring Integration</h3>
|
|
47
|
+
<p>VyOS hỗ trợ xuất số liệu qua SNMP hoặc exporter container.</p>
|
|
48
|
+
<h3>Lab thực hành: Dual-WAN Load Balancing + QoS</h3>
|
|
49
|
+
<ol>
|
|
50
|
+
<li>Cấu hình hai WAN interface (eth1, eth2) với rule cân bằng tải.</li>
|
|
51
|
+
<li>Thiết lập interface-health kiểm tra ping.</li>
|
|
52
|
+
<li>Cấu hình QoS shaper cho eth0, ưu tiên traffic cần thiết.</li>
|
|
53
|
+
<li>Kiểm tra failover bằng cách ngắt một WAN.</li>
|
|
54
|
+
<li>Kiểm tra NetFlow, SNMP, syslog gửi về server giám sát.</li>
|
|
55
|
+
</ol>
|
|
56
|
+
<pre><code class="language-bash"># Kiểm tra trạng thái load balancing
|
|
57
|
+
show load-balancing wan
|
|
58
|
+
# Kiểm tra QoS
|
|
59
|
+
show qos
|
|
60
|
+
# Kiểm tra flow-accounting
|
|
61
|
+
show system flow-accounting
|
|
62
|
+
</code></pre>
|
|
63
|
+
<h3>Tổng kết</h3>
|
|
64
|
+
<p>Bài này giúp bạn cấu hình cân bằng tải WAN, QoS, giám sát lưu lượng trên VyOS, thực hành dual-WAN, cấu hình NetFlow, SNMP, syslog, Prometheus để vận hành hệ thống mạng chuyên nghiệp.</p>
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019d65ef-d36f-773e-bf0a-9e3dd57adcb1
|
|
3
|
+
title: 'Bài 15: Containers, Automation và Production Best Practices'
|
|
4
|
+
slug: bai-15-containers-automation-va-production-best-practices
|
|
5
|
+
description: >-
|
|
6
|
+
Hướng dẫn sử dụng container trên VyOS, tự động hóa với Ansible, API, backup, upgrade, bảo mật và triển khai thực tế, lab thực hành Ansible playbook.
|
|
7
|
+
duration_minutes: 170
|
|
8
|
+
is_free: true
|
|
9
|
+
video_url: null
|
|
10
|
+
sort_order: 15
|
|
11
|
+
section_title: "VyOS từ Cơ bản đến Nâng cao"
|
|
12
|
+
course:
|
|
13
|
+
id: 019d65ef-d36f-773e-bf0a-9e2efc5e19df
|
|
14
|
+
title: VyOS từ Cơ bản đến Nâng Cao
|
|
15
|
+
slug: vyos-tu-co-ban-den-nang-cao
|
|
16
|
+
---
|
|
17
|
+
<img src="/storage/uploads/2026/04/vyos-15-automation.png" alt="Containers, Automation và Production Best Practices" style="display:block;margin:24px auto 32px auto;max-width:700px;width:100%;border-radius:18px;box-shadow:0 4px 32px #0002" loading="lazy" />
|
|
18
|
+
|
|
19
|
+
<h2>Containers, Automation và Production Best Practices trên VyOS</h2>
|
|
20
|
+
<p>VyOS 1.4/1.5 hỗ trợ container (Podman) cho phép chạy dịch vụ phụ trợ, exporter, monitoring. Ngoài ra, VyOS cung cấp API, hỗ trợ Ansible, backup, upgrade và các best practices cho môi trường production.</p>
|
|
21
|
+
<h3>Containers trên VyOS</h3>
|
|
22
|
+
<pre><code class="language-bash">set container name prometheus-exporter image prom/node-exporter
|
|
23
|
+
set container name prometheus-exporter network bridge address 192.168.50.10/24
|
|
24
|
+
set container name prometheus-exporter health-check interval 30
|
|
25
|
+
</code></pre>
|
|
26
|
+
<p>Hỗ trợ bridge, macvlan, health-check, quản lý bằng Podman CLI.</p>
|
|
27
|
+
<h3>Tự động hóa với Ansible</h3>
|
|
28
|
+
<pre><code class="language-bash"># ansible.cfg
|
|
29
|
+
[defaults]
|
|
30
|
+
inventory = ./hosts
|
|
31
|
+
host_key_checking = False
|
|
32
|
+
|
|
33
|
+
# playbook.yaml
|
|
34
|
+
- hosts: vyos
|
|
35
|
+
gather_facts: no
|
|
36
|
+
tasks:
|
|
37
|
+
- name: Push config
|
|
38
|
+
vyos.vyos.vyos_config:
|
|
39
|
+
lines:
|
|
40
|
+
- set interfaces ethernet eth0 address 192.168.1.1/24
|
|
41
|
+
</code></pre>
|
|
42
|
+
<h3>VyOS HTTP API và REST API</h3>
|
|
43
|
+
<pre><code class="language-bash">set service https api listen-address 0.0.0.0
|
|
44
|
+
set service https api port 8443
|
|
45
|
+
</code></pre>
|
|
46
|
+
<p>Gửi lệnh cấu hình qua REST API:</p>
|
|
47
|
+
<pre><code class="language-bash">curl -k -u vyos:password -X POST https://vyos:8443/configure -d '{"op": "set", "path": ["interfaces", "ethernet", "eth0", "address"], "value": "192.168.1.2/24"}'
|
|
48
|
+
</code></pre>
|
|
49
|
+
<h3>Scripting và Custom Commands</h3>
|
|
50
|
+
<pre><code class="language-bash">set system login user vyos authentication plaintext-password 'password'
|
|
51
|
+
run show version
|
|
52
|
+
</code></pre>
|
|
53
|
+
<h3>Backup, Upgrade và Rollback</h3>
|
|
54
|
+
<pre><code class="language-bash"># Backup config
|
|
55
|
+
cp /config/config.boot /config/backup-$(date +%F).boot
|
|
56
|
+
# Upgrade image
|
|
57
|
+
add system image https://downloads.vyos.io/rolling/current/amd64/vyos-1.5-rolling.iso
|
|
58
|
+
# Rollback
|
|
59
|
+
set system image default-boot vyos-1.4-rolling
|
|
60
|
+
</code></pre>
|
|
61
|
+
<h3>Security Hardening Checklist</h3>
|
|
62
|
+
<ul>
|
|
63
|
+
<li>Đổi port SSH, tắt root login, chỉ cho phép key.</li>
|
|
64
|
+
<li>Tắt dịch vụ không dùng: <code>delete service telnet</code>, <code>delete service ftp</code>.</li>
|
|
65
|
+
<li>Thiết lập firewall bảo vệ chính VyOS.</li>
|
|
66
|
+
</ul>
|
|
67
|
+
<h3>Production Deployment Scenarios</h3>
|
|
68
|
+
<ul>
|
|
69
|
+
<li>Home router: NAT, VPN, firewall, monitoring.</li>
|
|
70
|
+
<li>Small business: dual-WAN, HA, container exporter.</li>
|
|
71
|
+
<li>ISP edge: BGP, IPsec, automation, backup.</li>
|
|
72
|
+
</ul>
|
|
73
|
+
<h3>Lab thực hành: Ansible Playbook triển khai VyOS config</h3>
|
|
74
|
+
<ol>
|
|
75
|
+
<li>Chuẩn bị file <code>ansible.cfg</code> và <code>hosts</code> với IP VyOS.</li>
|
|
76
|
+
<li>Viết playbook sử dụng module <code>vyos_config</code> để đẩy cấu hình.</li>
|
|
77
|
+
<li>Chạy playbook và kiểm tra trạng thái trên VyOS.</li>
|
|
78
|
+
</ol>
|
|
79
|
+
<pre><code class="language-bash">ansible-playbook -i hosts playbook.yaml
|
|
80
|
+
</code></pre>
|
|
81
|
+
<h3>Tổng kết</h3>
|
|
82
|
+
<p>Bài này giúp bạn vận dụng container, tự động hóa với Ansible, sử dụng API, backup, upgrade, bảo mật và triển khai VyOS trong môi trường production thực tế.</p>
|