Việc giả lập Juniper EX Series trên EVE-NG thường là "cơn ác mộng" với nhiều kỹ sư mạng bởi kiến trúc Junos vSRX và vEX có những yêu cầu khắt khe về tài nguyên và định dạng ảnh đĩa. Tại VietITPro, chúng tôi không chỉ cài đặt để "chạy được", mà chúng tôi tối ưu để môi trường lab mô phỏng chính xác nhất hành vi của thiết bị thật trong các bài toán routing và switching phức tạp.
Tại sao phải chọn vEX thay vì vSRX cho môi trường Lab Switching?
Nhiều kỹ sư thường dùng vSRX để giả lập switch, nhưng đây là sai lầm về tư duy kỹ thuật. vSRX là thiết bị bảo mật (Firewall), nó xử lý gói tin qua các tiến độ (process) khác với cấu trúc ASIC của dòng EX Switch. Khi bạn cần lab các tính năng như LACP, STP, VSTP, hay các giao thức Layer 2 thuần túy, vEX (Juniper vJunos-switch) là lựa chọn duy nhất đảm bảo tính toàn vẹn của logic điều khiển (Control Plane).
Chuẩn bị hạ tầng EVE-NG đáp ứng yêu cầu vận hành
Trước khi bắt đầu, hãy đảm bảo server EVE-NG của bạn (dù là chạy trên VMware ESXi hay Bare Metal) đáp ứng được các thông số tối thiểu sau:
Lưu ý: Nếu bạn sử dụng ESXi để chạy EVE-NG, bắt buộc phải bật "Expose hardware assisted virtualization to the guest OS" trong phần CPU thiết lập cho VM EVE-NG. Nếu không, tiến độ ảo hóa KVM sẽ không thể khởi tạo được Junos.
Quy trình tích hợp vJunos-switch vào EVE-NG
Khác với các dòng Cisco IOL hay vIOS, Juniper sử dụng định dạng file .qcow2 được đóng gói trong một cấu trúc thư mục cụ thể.
Bước 1: Chuẩn bị file image
Bạn cần tải file image chính thức từ cổng Juniper Support (thường là định dạng .tgz hoặc .img). Giả sử bạn đã có file junos-vswitch-x86-64-XXX.qcow2.
Bước 2: Tạo cấu trúc thư mục trên EVE-NG
Truy cập SSH vào EVE-NG bằng quyền root và thực thi các lệnh sau để tạo thư mục chứa thiết bị:
Lưu ý: Tên thư mục bắt buộc phải bắt đầu bằng tiền tố vjunos-. Đây là quy tắc định danh của EVE-NG để hệ thống tự động nhận diện template.
Bước 3: Di chuyển và định danh file đĩa
Di chuyển file .qcow2 của bạn vào thư mục vừa tạo. Quan trọng nhất là tên file phải đúng định dạng virtioa.qcow2.
Bước 4: Sửa lỗi quyền hạn (Permissions)
Đây là bước mà 90% kỹ sư mới làm hay bỏ qua, dẫn đến việc lab khởi động lên rồi đứng yên ở màn hình bootloader.
Tối ưu hóa cấu hình QEMU cho vEX
Mặc dù EVE-NG có template mặc định, nhưng để vEX chạy ổn định, bạn cần can thiệp sâu vào file cấu hình của node. Sau khi thêm node vào lab, hãy click chuột phải chọn "Edit", tại mục "QEMU Options", hãy thêm các thông số sau:
- CPU Model: host
- RAM: 4096 (Không nên để thấp hơn 2GB vì Junos sẽ bị kernel panic khi load modules).
- Ethernet Card: virtio-net-pci (Đây là driver chuẩn để đảm bảo throughput tốt nhất giữa các node).
Xử lý các "Pan bệnh" thường gặp khi lab vEX
Trong quá trình hỗ trợ kỹ thuật tại VietITPro, chúng tôi ghi nhận 3 lỗi phổ biến nhất:
1. Lỗi kẹt ở trạng thái "Booting..."
- Nguyên nhân: CPU không hỗ trợ tập lệnh ảo hóa hoặc chưa bật Nested Virtualization.
- Giải pháp: Kiểm tra lệnh
egrep -c '(vmx|svm)' /proc/cpuinfotrên EVE-NG. Nếu kết quả bằng 0, bạn chưa bật ảo hóa trong BIOS của máy chủ vật lý.
2. Lỗi không nhận cổng Interface (ge-0/0/0)
- Nguyên nhân: Do định dạng file ảnh không khớp với template.
- Giải pháp: Kiểm tra lại tên file trong thư mục
/opt/unetlab/addons/qemu/vjunos-switch-xx/. Nếu bạn đặt tên file làhda.qcow2thay vìvirtioa.qcow2, EVE-NG sẽ không mapping được card mạng.
3. Lỗi chiếm dụng CPU 100%
- Nguyên nhân: Do tiến độ
junos-platformchạy ngầm quá nặng. - Giải pháp: Trong file
qemu_options, hãy thêm tham số-cpu host,kvm=off. Điều này giúp giảm tải cho việc giả lập các tập lệnh CPU phức tạp.
Kinh nghiệm bảo dưỡng Lab lâu dài
Một hệ thống EVE-NG dùng để học tập và nghiên cứu cần được bảo trì định kỳ giống như một thiết bị mạng thực thụ:
- Dọn dẹp Temp files: Các file log của Junos sinh ra rất nhanh. Hãy chạy lệnh
rm -rf /opt/unetlab/tmp/*định kỳ hàng tuần. - Backup Lab: Đừng bao giờ tin tưởng vào tính ổn định của ổ cứng. Hãy export các file
.unlra máy cá nhân. - Kiểm tra sức khỏe ổ cứng: Nếu bạn chạy lab vEX với nhiều node, I/O của đĩa cứng sẽ tăng vọt. Hãy kiểm tra bằng lệnh
iostat -x 1để xem độ trễ (await). Nếuawait> 10ms, đã đến lúc nâng cấp lên SSD NVMe.
FAQ - Giải đáp chuyên sâu
Câu hỏi: Tôi có thể chạy vEX trên GNS3 thay vì EVE-NG không?
- Trả lời: Có, nhưng hiệu năng cực kỳ kém. EVE-NG sử dụng KVM thuần túy và quản lý tài nguyên tập trung tốt hơn nhiều so với cơ chế của GNS3 (vốn phụ thuộc nhiều vào VirtualBox/VMware). Tại VietITPro, chúng tôi khuyến nghị 100% dùng EVE-NG cho các hệ thống lab chuyên nghiệp.
Câu hỏi: Tôi có thể cấu hình VLAN và Trunking giữa vEX và cisco IOL không?
- Trả lời: Hoàn toàn được. Đây là bài toán lab kinh điển. Tuy nhiên, lưu ý về Native VLAN. Cisco dùng VLAN 1 làm Native mặc định, trong khi Juniper mặc định không tag VLAN 1. Bạn cần cấu hình
set interfaces ge-0/0/0 unit 0 family ethernet-switching native-vlan-id 1trên Juniper để khớp với Cisco.
Câu hỏi: Làm sao để truy cập vào CLI của vEX nhanh nhất?
- Trả lời: Thay vì dùng Telnet qua giao diện web, hãy cài đặt SecureCRT hoặc MobaXterm và cấu hình kết nối trực tiếp vào IP của EVE-NG qua port được gán (thường bắt đầu từ 32768). Cách này giúp bạn copy-paste cấu hình cực kỳ nhanh.
Việc làm chủ giả lập vEX là bước đệm quan trọng để bạn tiến tới các chứng chỉ cao cấp như JNCIP hay JNCIE. Nếu trong quá trình thực hiện bạn gặp các lỗi về Kernel hoặc không thể load modules, hãy kiểm tra lại file qemu-system-x86_64 xem có đang chạy phiên bản mới nhất hay không. Chúc các bạn thành công trên con đường trở thành kỹ sư mạng thực thụ.




