VyOSとは?
VyOS là một hệ điều hành mạng mã nguồn mở (network operating system) dựa trên nền tảng Debian Linux. VyOS cung cấp đầy đủ tính năng routing, firewall, VPN và các dịch vụ mạng enterprise — tất cả được quản lý qua một CLI thống nhất tương tự như Juniper JunOS hoặc Cisco IOS.
Điểm đặc biệt của VyOS: bạn có thể triển khai nó như một software router trên máy ảo, cloud instance, container hoặc phần cứng vật lý — hoàn toàn miễn phí với bản rolling release.
開発の歴史: Từ Vyatta đến VyOS
Để hiểu VyOS, cần biết về Vyatta — dự án tiền thân:
- 2005: Vyatta Inc. ra mắt Vyatta Core — hệ điều hành router mã nguồn mở đầu tiên
- 2012: Brocade Communications mua lại Vyatta, dần đóng mã nguồn
- 2013: Cộng đồng fork Vyatta Core thành VyOS, tiếp tục phát triển mã nguồn mở
- 2020+: VyOS chuyển sang mô hình rolling release (miễn phí) + LTS release (thương mại)
- 2024–2025: VyOS 1.4 Sagitta (LTS), 1.5 Circinus (rolling) với nftables backend mới
So sánh VyOS với các giải pháp khác
VyOS vs pfSense / OPNsense
pfSense và OPNsense là các firewall/router dựa trên FreeBSD với giao diện web. VyOS khác biệt ở chỗ:
- CLI-first: VyOS được thiết kế cho quản trị qua dòng lệnh, hỗ trợ automation tốt hơn
- Routing nâng cao: VyOS tích hợp FRRouting — hỗ trợ BGP, OSPF, IS-IS, MPLS đầy đủ
- Linux-based: Dễ tích hợp với hệ sinh thái DevOps (Ansible, Terraform, containers)
- Scalability: Phù hợp cho cả homelab lẫn datacenter với hàng nghìn routes
VyOS vs MikroTik RouterOS
- MikroTik: phần cứng chuyên dụng + phần mềm đóng, giá rẻ nhưng closed-source
- VyOS: chạy trên bất kỳ phần cứng/cloud nào, mã nguồn mở, cộng đồng lớn
- VyOS: CLI gần với Juniper JunOS — dễ chuyển đổi cho network engineers
Kiến trúc VyOS
VyOS được xây dựng từ nhiều thành phần mã nguồn mở:
+--------------------------------------------------+
| VyOS CLI |
| (configd / configuration tree) |
+--------------------------------------------------+
| FRRouting | nftables | StrongSwan |
| (BGP, OSPF, | (firewall, | (IPsec VPN) |
| IS-IS, RIP) | NAT, QoS) | |
+--------------------------------------------------+
| Debian Linux Kernel |
| (custom build, hardened) |
+--------------------------------------------------+
| Hardware / VM / Cloud Instance |
+--------------------------------------------------+
Các thành phần chính:
- Debian Linux: Nền tảng OS ổn định, bảo mật
- FRRouting (FRR): Bộ routing protocols đầy đủ nhất trên Linux
- nftables: Thay thế iptables, xử lý firewall và NAT hiệu suất cao
- StrongSwan / WireGuard: IPsec và modern VPN
- configd: Configuration daemon — quản lý cây cấu hình (configuration tree)
Install Image vs Live Boot
VyOS có hai chế độ hoạt động:
- Live boot: Boot trực tiếp từ ISO, cấu hình chỉ tồn tại trong RAM. Mất khi reboot.
- Install image: Cài đặt lên disk, cấu hình được lưu vĩnh viễn. Đây là chế độ production.
Lưu ý: Luôn dùng
install imagecho môi trường production. Live boot chỉ phù hợp để test nhanh.
VyOSのインストール
Tải VyOS ISO
VyOS rolling release (miễn phí) có thể tải từ: https://vyos.net/get/. Hoặc bạn có thể tự build ISO từ source code.
Cài đặt trên KVM/libvirt
# Tạo VM với virt-install
virt-install \
--name vyos-router \
--ram 1024 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/vyos.qcow2,size=8 \
--cdrom /path/to/vyos-rolling-latest.iso \
--network bridge=br0 \
--network bridge=br1 \
--os-variant debian11 \
--graphics vnc
Cài đặt trên VirtualBox
Các bước cơ bản cho VirtualBox:
- Tạo VM loại Linux / Debian 64-bit, RAM 1GB, disk 8GB
- Thêm 2 network adapters: Adapter 1 = NAT hoặc Bridged (WAN), Adapter 2 = Internal Network (LAN)
- Mount ISO và boot
Cài đặt trên Proxmox
# Upload ISO lên Proxmox storage
# Tạo VM:
# - OS Type: Linux, Version: 6.x - 2.6 Kernel
# - CPU: 2 cores, RAM: 1024MB
# - Disk: 8GB (VirtIO)
# - Network: 2x VirtIO NICs (vmbr0 cho WAN, vmbr1 cho LAN)
# Boot từ ISO
Cài đặt trên bare-metal
VyOS hỗ trợ hầu hết phần cứng x86_64 với NIC Intel/Broadcom. Burn ISO ra USB bằng dd hoặc Balena Etcher, boot và cài đặt bình thường.
Quá trình Install Image
Sau khi boot từ ISO, login với user vyos / password vyos, rồi chạy:
vyos@vyos:~$ install image
Welcome to VyOS installation!
# Chọn disk để cài đặt
Would you like to continue? (y/N): y
Partition (Auto/Parted/Skip) [Auto]: Auto
Install the image on? [sda]: sda
How big of a root partition should I create? (GB) [8]: 8
What would you like to name this image? [1.5-rolling-...]: Enter
Which one should I copy to sda? [/config/config.boot]: Enter
Enter password for user 'vyos': ********
# Đợi cài đặt hoàn tất
reboot
CLI cơ bản của VyOS
VyOS có hai chế độ CLI:
- Operational mode: Xem trạng thái, chạy lệnh show, ping, traceroute (prompt:
$) - Configuration mode: Thay đổi cấu hình (prompt:
#)
Các lệnh quan trọng nhất
# Vào configuration mode
vyos@vyos:~$ configure
# Xem cấu hình hiện tại
vyos@vyos# show
# Thêm cấu hình
vyos@vyos# set interfaces ethernet eth0 address 192.168.1.1/24
# So sánh thay đổi chưa commit
vyos@vyos# compare
# Áp dụng cấu hình (chưa lưu vĩnh viễn)
vyos@vyos# commit
# Lưu cấu hình vĩnh viễn (survive reboot)
vyos@vyos# save
# Hủy thay đổi chưa commit
vyos@vyos# discard
# Xóa một cấu hình
vyos@vyos# delete interfaces ethernet eth0 address 192.168.1.1/24
# Thoát configuration mode
vyos@vyos# exit
Configuration Tree
Toàn bộ cấu hình VyOS được tổ chức dạng cây phân cấp (hierarchical tree). Mỗi node trong cây đại diện cho một tính năng:
vyos@vyos# show
interfaces {
ethernet eth0 {
address 192.168.1.1/24
description "LAN"
}
ethernet eth1 {
address dhcp
description "WAN"
}
}
system {
host-name vyos-router
login {
user vyos {
authentication {
encrypted-password "..."
}
}
}
}
service {
ssh {
port 22
}
}
Bạn có thể navigate vào từng nhánh để xem chi tiết:
# Xem chỉ phần interfaces
vyos@vyos# show interfaces
# Xem chỉ interface eth0
vyos@vyos# show interfaces ethernet eth0
Tab Completion và Help
CLI của VyOS hỗ trợ tab completion cực kỳ mạnh — giúp bạn không cần nhớ hết tất cả commands:
# Nhấn Tab để xem các tùy chọn
vyos@vyos# set interfaces [Tab]
Possible completions:
bonding Bonding interface
bridge Bridge interface
dummy Dummy interface
ethernet Ethernet interface
loopback Loopback interface
openvpn OpenVPN interface
tunnel Tunnel interface
vxlan VXLAN interface
wireguard WireGuard interface
wireless Wireless interface
# Dùng ? để xem help
vyos@vyos# set interfaces ethernet eth0 ?
ハンズオンラボ: VyOSのインストール trên VirtualBox
Thực hiện các bước sau để có một VyOS router hoạt động:
Bước 1: Tạo VM
- Mở VirtualBox, tạo VM mới: Name =
vyos-lab, Type = Linux, Version = Debian 64-bit - RAM: 1024 MB, Disk: 8 GB (VDI, dynamically allocated)
- Adapter 1: NAT (sẽ là WAN), Adapter 2: Internal Network tên
lab-lan
Bước 2: Boot và Install
# Boot từ ISO, login: vyos / vyos
vyos@vyos:~$ install image
# Chọn tất cả mặc định, đặt password mới
# Sau khi xong: reboot
# Tháo ISO khỏi VM
Bước 3: Cấu hình cơ bản
# Login lại sau reboot vyos@vyos:~$ configureĐặt hostname
set system host-name vyos-lab
Cấu hình WAN (DHCP từ NAT)
set interfaces ethernet eth0 description 'WAN' set interfaces ethernet eth0 address dhcp
Cấu hình LAN
set interfaces ethernet eth1 description 'LAN' set interfaces ethernet eth1 address 192.168.100.1/24
Bật SSH
set service ssh port 22
Commit và save
commit save
Bước 4: Kiểm tra
# Thoát configure mode exitKiểm tra interfaces
show interfaces
Kiểm tra kết nối WAN
ping 8.8.8.8
Xem routing table
show ip route
まとめ
Trong bài học này, bạn đã nắm được:
- VyOS là hệ điều hành mạng mã nguồn mở, phát triển từ Vyatta, chạy trên Debian Linux
- Kiến trúc VyOS gồm FRRouting (routing), nftables (firewall/NAT), StrongSwan (VPN)
- Sự khác biệt giữa VyOS với pfSense, OPNsense và MikroTik
- Cách cài đặt VyOS trên các nền tảng ảo hóa (KVM, VirtualBox, Proxmox) và bare-metal
- CLI cơ bản:
configure,set,commit,save,compare,show - Khái niệm configuration tree — nền tảng để hiểu toàn bộ hệ thống VyOS
Bài tiếp theo sẽ đi sâu vào cấu hình interfaces, IP addressing và các thiết lập hệ thống cơ bản.