Sáu tháng trước, tôi đang miệt mài ôn thi CCNP và gặp phải một bức tường — không phải về kiến thức, mà về công cụ. Những chiếc switch Cisco Catalyst cũ của tôi ồn ào, mỗi cái ngốn 200W điện, và tôi không thể mở rộng hơn những gì có thể đặt vừa trên bàn học. Hàng xóm gọi điện hỏi tôi có đang chạy phòng máy chủ không. Tôi chỉ đang học BGP redistribution thôi.
Vấn Đề Thực Sự Của Phòng Lab Mạng Vật Lý
Bất kỳ ai đang học CCNA hay CCNP đều hiểu nỗi đau này. Bạn hoặc phải chi hàng nghìn đô cho phần cứng Cisco cũ kỹ, hoặc mắc kẹt với Packet Tracer của Cisco — thứ không chịu chạy IOS thật và lặng lẽ bỏ qua một nửa tính năng bạn sẽ gặp trong kỳ thi thực tế.
Chi phí thật sự đau đầu. Một chiếc switch Cisco 2960 để luyện CCNA trên eBay có giá $80–200. Một topology CCNP đầy đủ với router, multilayer switch và redundant link? Bạn cần $800–2000 chưa tính tiền điện và tiếng ồn. Chưa kể phần cứng đó đã hơn một thập kỷ tuổi — bạn đang học trên thiết bị không phản ánh môi trường production hiện đại.
Tôi thử Packet Tracer trước. Nó đủ để học khái niệm cơ bản, nhưng ngay khi bước vào giao thức định tuyến nâng cao hay muốn test Juniper song song với Cisco, bạn sẽ vấp ngay. Bộ lệnh được hỗ trợ không đầy đủ, và bạn không thể upload ảnh IOS thật của nhà sản xuất. Đây là công cụ dạy học, không phải môi trường lab.
Nguyên Nhân Gốc Rễ: Khoảng Cách Giữa Mô Phỏng và Thực Tế
Hầu hết công cụ miễn phí được xây dựng để dạy khái niệm nhập môn, không phải để chuẩn bị thi một cách thực tế. Đó là mục tiêu ổn — nhưng khoảng cách giữa những gì Packet Tracer mô phỏng và những gì bạn sẽ đối mặt trong kỳ thi CCNP là đủ lớn để tạo ra vấn đề.
GNS3 gần thực tế hơn. Nó chạy ảnh IOS thật trên phần cứng giả lập qua Dynamips và QEMU. Nhưng quá trình cài đặt nổi tiếng phức tạp. Kiến trúc server/client, các phụ thuộc của GNS3 VM, việc kích hoạt KVM acceleration trên Linux — tôi mất cả một cuối tuần cấu hình GNS3 trước khi boot được một router đơn lẻ. Trong thực tế nó cũng chủ yếu hỗ trợ một nhà sản xuất. Mỗi lần thêm node Juniper hay MikroTik bên cạnh Cisco đều đòi hỏi công sức thủ công đáng kể.
Thứ tôi thực sự cần là một công cụ:
- Chạy ảnh IOS/JunOS/RouterOS thật, không phải mô phỏng một phần
- Hỗ trợ topology đa nhà sản xuất trong cùng một lab mà không rắc rối
- Cung cấp giao diện web truy cập được từ bất kỳ máy nào trên mạng
- Không cần máy trạm riêng biệt chỉ để chạy phần mềm lab
So Sánh Giải Pháp: Packet Tracer vs GNS3 vs EVE-NG
Cisco Packet Tracer
Miễn phí, được Cisco hỗ trợ chính thức, và hoàn toàn ổn cho người mới bắt đầu học CCNA cơ bản. Nhưng giới hạn rất rõ: chỉ thiết bị Cisco, bộ lệnh không đầy đủ, không có ảnh IOS thật. Một khi bạn vượt qua routing và switching cơ bản — hay cần thiết bị đa nhà sản xuất — nó không còn hữu dụng nữa.
GNS3
Mạnh hơn Packet Tracer và chạy ảnh IOS thật. Cộng đồng lớn và tài liệu tương đối tốt. Nhược điểm: cài đặt ban đầu phức tạp (đặc biệt là GNS3 VM trên Linux), hiệu năng đòi hỏi cấu hình KVM cẩn thận, và giao diện có vẻ lỗi thời. Hỗ trợ đa nhà sản xuất tồn tại nhưng được ghép thêm vào hơn là tích hợp sẵn. GNS3 tỏa sáng cho lab tập trung vào Cisco một khi đã cấu hình xong. Là nền tảng đa nhà sản xuất, nó còn nhiều hạn chế.
EVE-NG Community Edition
Đây là thứ tôi đã dùng hàng ngày trong sáu tháng qua. EVE-NG (Emulated Virtual Environment – Next Generation) cài đặt trên Ubuntu và cung cấp giao diện web gọn gàng. Upload ảnh nhà sản xuất qua trình duyệt, kéo node vào topology, kết nối chúng bằng cáp ảo — tất cả từ bất kỳ trình duyệt nào trên mạng nội bộ. Không cần phần mềm client.
Hỗ trợ đa nhà sản xuất thực sự hoạt động: Cisco IOS, IOS-XE, NX-OS, Juniper vMX và vSRX, MikroTik RouterOS, Arista vEOS, Fortinet FortiOS — tất cả trong cùng một lab. Mạng production là đa nhà sản xuất. Không có doanh nghiệp nào chạy một nền tảng duy nhất từ đầu đến cuối. Luyện tập đồng thời trên Cisco và Juniper không chỉ là chuẩn bị thi — đó chính là công việc thực tế.
Cài Đặt EVE-NG trên Ubuntu: Cách Tiếp Cận Thực Tế
Yêu Cầu Phần Cứng
EVE-NG chạy được trên bare-metal hoặc bên trong VM. Cho lab nghiêm túc, bare-metal thắng — bạn có quyền truy cập trực tiếp vào các tiện ích mở rộng ảo hóa CPU. Máy chuyên dụng của tôi là một Dell OptiPlex cũ với Core i7-8700, 32GB RAM và SSD 500GB. Tổng chi phí: khoảng $250 mua secondhand. Nó chạy 15+ thiết bị ảo đồng thời mà không vấn đề gì.
Cấu hình tối thiểu thực tế:
- CPU: 4+ nhân với Intel VT-x hoặc AMD-V (kiểm tra bằng
egrep -c '(vmx|svm)' /proc/cpuinfo) - RAM: Tối thiểu 16GB, khuyến nghị 32GB cho topology cấp CCNP
- Lưu trữ: 200GB+ (riêng ảnh IOS đã chiếm 200–800MB mỗi cái)
- OS: Ubuntu 20.04 LTS hoặc 22.04 LTS — bản server dùng được. Lưu ý: 22.04 dùng gói focal từ repo của EVE-NG; các lệnh dưới đây áp dụng cho cả hai.
Cài Đặt
# Cập nhật gói hệ thống trước
sudo apt update && sudo apt upgrade -y
# Thêm repository và GPG key của EVE-NG
wget -O - https://www.eve-ng.net/focal/[email protected] | sudo apt-key add -
echo "deb [arch=amd64] https://www.eve-ng.net/focal focal main" | sudo tee /etc/apt/sources.list.d/eve-ng.list
# Cài đặt EVE-NG
sudo apt update
sudo apt install eve-ng -y
# Cần khởi động lại để nạp kernel modules
sudo reboot
Sau khi khởi động lại, mở trình duyệt và truy cập vào IP của server. Giao diện web EVE-NG tải trực tiếp — không cần cấu hình thêm. Đăng nhập mặc định là admin / eve. Đổi mật khẩu ngay sau lần đăng nhập đầu tiên.
Thêm Ảnh Cisco IOS
EVE-NG không đi kèm ảnh nhà sản xuất vì lý do bản quyền. Bạn phải tự kiếm — từ cổng phần mềm của Cisco (yêu cầu hợp đồng hỗ trợ hợp lệ), từ gói GNS3 appliance nếu bạn đã có, hoặc từ repository ảnh của tổ chức bạn.
# Ảnh Dynamips (IOS cũ 12.x/15.x) — dành cho router IOSv
sudo mkdir -p /opt/unetlab/addons/dynamips/
sudo cp c7200-adventerprisek9-mz.154-3.M8.image /opt/unetlab/addons/dynamips/
# Ảnh dựa trên QEMU (IOS-XE, NX-OS) — tạo thư mục đặt tên trước
sudo mkdir -p /opt/unetlab/addons/qemu/iosv-15.9.3M7/
sudo cp vios-adventerprisek9-m.spa.158-3.m7.qcow2 \
/opt/unetlab/addons/qemu/iosv-15.9.3M7/hda.qcow2
# Luôn sửa quyền sau khi thêm ảnh
sudo /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Thêm MikroTik RouterOS (Miễn Phí)
Ảnh Cloud Hosted Router của MikroTik hoàn toàn miễn phí — tải trực tiếp từ trang của họ và hoạt động ngay trong EVE-NG. Đây là một trong những bước bổ sung dễ nhất bạn sẽ thực hiện.
# Tải MikroTik CHR (Cloud Hosted Router)
wget https://download.mikrotik.com/routeros/7.15.3/chr-7.15.3.img.zip
unzip chr-7.15.3.img.zip
# Tạo thư mục và chuyển đổi ảnh raw sang qcow2
sudo mkdir -p /opt/unetlab/addons/qemu/mikrotik-chr-7.15.3/
qemu-img convert -f raw chr-7.15.3.img \
-O qcow2 /opt/unetlab/addons/qemu/mikrotik-chr-7.15.3/hda.qcow2
# Sửa quyền truy cập
sudo /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Topology Kiểu CCNP Hoạt Động Thực Tế
Thêm vài node vào lab mới, kết nối chúng, và EVE-NG mở console thiết bị trực tiếp trong trình duyệt qua HTML5. Không cần Telnet client. Đây là cấu hình OSPF cơ bản trải dài trên Cisco và MikroTik để xác minh adjacency đa nhà sản xuất:
# Cisco IOSv — Cấu hình R1
conf t
interface GigabitEthernet0/0
ip address 10.0.12.1 255.255.255.0
no shutdown
!
router ospf 1
network 10.0.0.0 0.255.255.255 area 0
end
write memory
# MikroTik CHR — Cấu hình OSPF tương đương
/ip address add address=10.0.12.2/24 interface=ether1
/routing ospf instance add name=default router-id=2.2.2.2
/routing ospf area add name=backbone area-id=0.0.0.0 instance=default
/routing ospf interface-template add area=backbone interfaces=ether1 passive=no
# Kiểm tra adjacency từ MikroTik
/routing ospf neighbor print
Khi mối quan hệ OSPF neighbor đó hình thành giữa Cisco và MikroTik, có gì đó chợt sáng ra. Bạn đang chạy IOS thật và RouterOS thật, tạo ra adjacency giao thức thực sự. Không phải mô phỏng nói với bạn rằng nó đã hoạt động.
Sau Sáu Tháng: Những Điều Thực Sự Đứng Vững
Sự ổn định dưới tải liên tục là điều bất ngờ lớn nhất. Tôi đã chạy topology OSPF và BGP redistribution 12 node trong nhiều giờ. Không crash, không rò rỉ bộ nhớ. Giao diện web giữ vững trong sử dụng hàng ngày — lab lưu đầy đủ trạng thái, nên tiếp tục sau khi khởi động lại chỉ mất vài giây.
Riêng về chuẩn bị CCNP, việc chạy Cisco cùng Juniper trong cùng một topology đã thay đổi cách tôi học. Nếu chỉ luyện trên Cisco đến ngày thi, rồi mới chạm vào cú pháp Juniper trong môi trường thực tế, bạn sẽ có một khoảng trống kỹ năng thực sự. Hầu hết công cụ học không giải quyết điều này. EVE-NG thì có.
Một giới hạn của bản Community đáng biết trước: chỉ một phiên người dùng hoạt động tại một thời điểm, và một số tính năng nâng cao yêu cầu giấy phép Professional. Đối với học cá nhân — hay nhóm nhỏ nơi một người chạy lab tại một thời điểm — Community là hoàn toàn đủ.
Tổng chi phí: một máy secondhand $250 và một buổi chiều cài đặt. Điều đó thay thế những gì lẽ ra tốn $1.500+ phần cứng vật lý. Không tiếng ồn. Không tiền điện. Sáu tháng sau, tôi chưa một lần chạm vào switch vật lý cho công việc lab.

