1. Yêu cầu phần cứng tối thiểu và chuẩn bị vật lý
Để xây dựng môi trường Open RAN (O-RAN) ổn định, chúng ta cần phần cứng hỗ trợ ảo hóa mạnh mẽ và băng thông lớn để xử lý mặt phẳng dữ liệu.
CPU: Cần bộ xử lý hỗ trợ VT-x (Intel) hoặc AMD-V (AMD). Đặc biệt, cần bật VT-d để passthrough card mạng vật lý trực tiếp cho Guest OS, giảm độ trễ cho tín hiệu vô tuyến.
RAM: Tối thiểu 32GB cho Host Proxmox. Dự tính 16GB cho 5G Core, 16GB cho RAN và các container IoT. Bộ nhớ DDR4/DDR5 với bus 3200MHz trở lên để đảm bảo throughput.
Card mạng (NIC): Bắt buộc card mạng 10GbE (SFP+ hoặc RJ45). Cần ít nhất 2 card mạng vật lý để tách biệt: 1 card cho Control Plane (tín hiệu điều khiển) và 1 card cho User Plane (dữ liệu IoT).
Verify kết quả: Sử dụng lệnh sau để kiểm tra khả năng ảo hóa của CPU và số lượng card mạng.
lscpu | grep -i "virtualization" && lspci | grep -i ethernet
Kết quả mong đợi: Dòng Virtualization hiện VT-x hoặc AMD-V, và danh sách hiển thị card mạng 10GbE (ví dụ: Intel I210/I211 hoặc Mellanox ConnectX).
2. Thiết kế cấu trúc mạng vật lý và logic
Trong kiến trúc CUPS (Control and User Plane Separation), việc tách biệt mặt phẳng điều khiển và mặt phẳng dữ liệu là bắt buộc để đảm bảo bảo mật và hiệu năng.
Control Plane (CP): Dùng cho tín hiệu tín hiệu (Signaling), giao diện N1/N2/N4. Traffic này cần độ tin cậy cao, ưu tiên qua card mạng vật lý đầu tiên (vd: eth0).
User Plane (UP): Dùng cho dữ liệu người dùng (User Data), giao diện N3. Traffic này có băng thông lớn, cần độ trễ thấp, ưu tiên qua card mạng vật lý thứ hai (vd: eth1).
Cấu hình Bridge trên Proxmox: Chúng ta sẽ tạo 2 Bridge logic trên Host Proxmox để ánh xạ sang các card vật lý tương ứng.
Thao tác chỉnh sửa cấu hình mạng của Proxmox.
nano /etc/network/interfaces
Nội dung file cấu hình hoàn chỉnh:
auto lo
iface lo inet loopback
# Control Plane Bridge (VLAN 10 - Signaling)
auto vmbr0
iface vmbr0 inet static
address 192.168.10.1/24
bridge_ports eth0
bridge_stp off
bridge_fd 0
# User Plane Bridge (VLAN 20 - Data)
auto vmbr1
iface vmbr1 inet static
address 10.0.20.1/24
bridge_ports eth1
bridge_stp off
bridge_fd 0
Kết quả mong đợi: File được lưu, và khi chạy ip addr, bạn thấy 2 giao diện vmbr0 và vmbr1 đã được tạo và gán IP.
3. Chuẩn bị các bản ISO và Source Code
Chúng ta cần tải về các bản phân phối hệ điều hành và mã nguồn mở để triển khai trong các bước tiếp theo.
Proxmox VE ISO: Tải phiên bản mới nhất từ trang chủ Proxmox. Đảm bảo chọn bản no-subscription nếu không có gói license để tránh cảnh báo trong console.
Ubuntu Server ISO: Tải bản LTS (Long Term Support) 22.04 hoặc 24.04. Đây là OS chuẩn để chạy OAI Core và srsRAN.
Source code OAI (OpenAirInterface): Đây là phần mềm nguồn mở cho 5G Core và RAN. Cần tải từ repository chính thức.
Source code srsRAN: Phần mềm RAN thế hệ mới, nhẹ hơn OAI cho một số kịch bản.
Thực hiện tải các file cần thiết trên máy trạm hoặc Host (nếu đã cài Proxmox).
cd /var/www/html
wget https://download.proxmox.com/images/repositories/pve-no-subscription_7.x/pxe.iso
wget https://releases.ubuntu.com/22.04/ubuntu-22.04.3-live-server-amd64.iso
Kết quả mong đợi: Hai file ISO được tải về vào thư mục web server của Proxmox, sẵn sàng để mount cho VM/Container.
Tiếp theo, clone source code OAI và srsRAN vào thư mục làm việc của dự án.
mkdir -p /opt/openran/src
cd /opt/openran/src
git clone https://github.com/openairinterface/OAI.git
git clone https://github.com/srsRAN/srsRAN.git
Kết quả mong đợi: Các thư mục OAI và srsRAN được tạo với đầy đủ source code. Kiểm tra bằng lệnh ls -la để xác nhận.
4. Chuẩn bị thiết bị IoT và Modem 5G hỗ trợ Open RAN
Để hoàn thiện vòng lặp Open RAN, bạn cần phần cứng thực tế kết nối vào mạng RAN đã xây dựng.
Modem 5G (UE): Cần modem hỗ trợ giao thức Open RAN (thường là các module USB như Quectel RM500Q hoặc các thiết bị phát triển như USRP N210/N310). Modem tiêu chuẩn thương mại (LTE/5G NSA) sẽ không kết nối được với OAI/srsRAN nếu không qua chế độ test mode.
Cảm biến IoT công nghiệp: Có thể là cảm biến nhiệt độ, rung động, hoặc camera IP. Thiết bị này sẽ kết nối vào modem 5G qua Ethernet hoặc GPIO.
Thiết lập vật lý: Kết nối Modem 5G vào cổng USB 3.0 của máy tính hoặc Server chạy RAN (thông qua USB passthrough). Kết nối cảm biến IoT vào cổng LAN của modem.
Để kiểm tra nhận diện thiết bị USB (Modem 5G) trên hệ thống Linux.
lsusb | grep -i "Quectel\|USRP\|Telit"
Kết quả mong đợi: Dòng đầu ra hiển thị thông tin Vendor và Product ID của modem (ví dụ: Bus 001 Device 005: ID 1e0e:9001 Quectel Wireless Solutions Co., Ltd.).
Để kiểm tra kết nối mạng vật lý giữa Modem và cảm biến IoT (nếu dùng dây Ethernet).
ip link show | grep -E "eth|en"
Kết quả mong đợi: Giao diện mạng vật lý của modem (thường là eth1 hoặc enp3s0) chuyển trạng thái UP khi có thiết bị IoT kết nối.
Điều hướng series:
Mục lục: Series: Series: Xây dựng nền tảng Private 5G Network (Open RAN) với OAI, srsRAN và CUPS trên hạ tầng Proxmox để kết nối IoT công nghiệp an toàn
Phần 2: Triển khai Proxmox VE và thiết lập mạng vật lý (Bridge) »