Cài đặt SoftEther VPN trên Linux: Giải pháp VPN ‘tất cả trong một’ cực mạnh

Network tutorial - IT technology blog
Network tutorial - IT technology blog

Hết khổ vì OpenVPN khó cài, WireGuard dễ bị chặn

Hồi mình quản trị hệ thống cho văn phòng 50 nhân sự, bài toán đau đầu nhất không phải là bảo mật, mà là hỗ trợ user. OpenVPN rất tốt nhưng cài client cho người mù mờ kỹ thuật là một cực hình. Trong khi đó, WireGuard dù nhanh nhưng lại dùng giao thức UDP, rất dễ bị các firewall doanh nghiệp “trảm” thẳng tay.

Lúc đó, mình cần một hệ thống VPN vừa bảo mật, vừa chạy được trên mọi thiết bị mà không bắt người dùng cài thêm app bên thứ ba. Đó là cơ duyên mình đến với SoftEther VPN.

SoftEther không đơn thuần là phần mềm VPN. Nó là một bộ engine đa giao thức, hỗ trợ từ L2TP/IPsec, SSTP (của Microsoft), OpenVPN đến giao thức riêng chạy trên port 443 giúp xuyên thủng mọi firewall. Điểm ăn tiền nhất là bạn có thể quản lý server Linux thông qua giao diện GUI cực kỳ trực quan trên Windows.

Quick Start: Cài đặt SoftEther VPN Server trong 5 phút

Nếu bạn đã có sẵn một VPS chạy Ubuntu hoặc Debian, hãy copy-paste các lệnh dưới đây để khởi động hệ thống.

# Cập nhật hệ thống và cài đặt công cụ biên dịch
sudo apt update && sudo apt install build-essential wget -y

# Tải bản ổn định (Ví dụ bản v4.38)
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.38-9760-rtm/softether-vpnserver-v4.38-9760-rtm-2021.08.17-linux-x64-64bit.tar.gz

# Giải nén và biên dịch
tar xzvf softether-vpnserver-*.tar.gz
cd vpnserver
make

# Khởi động server
sudo ./vpnserver start

Trong quá trình chạy make, hệ thống sẽ hỏi xác nhận 3 lần. Bạn chỉ cần gõ phím 1 rồi Enter để đồng ý với các điều khoản. Khi server đã chạy, hãy đặt mật khẩu quản trị ngay lập tức:

./vpncmd
# Chọn 1, sau đó nhấn Enter 2 lần
# Gõ lệnh: ServerPasswordSet

Vì sao SoftEther lại ‘vượt mặt’ các đối thủ?

Qua thực tế triển khai nhiều dự án, mình nhận thấy SoftEther giải quyết được 3 điểm yếu chí mạng mà các giải pháp khác thường mắc phải:

  • SSTP (Secure Socket Tunneling Protocol): Đây là “vũ khí bí mật” cho người dùng Windows. Bạn chỉ cần vào Settings, nhập địa chỉ server là xong, không cần cài app. Vì chạy trên HTTPS (Port 443), nó lướt qua firewall êm ru như đang truy cập web.
  • L2TP/IPsec cho di động: iPhone và Android đều hỗ trợ sẵn giao thức này. Chỉ cần nhập Secret Key và Username là kết nối được ngay trong 30 giây.
  • Local Bridge: Tính năng này giúp nối card mạng ảo của VPN thẳng vào mạng vật lý của server. Máy tính từ xa sẽ nhận IP cùng dải với văn phòng, giúp việc in ấn hay truy cập file server mượt mà như đang ngồi tại chỗ.

Cấu hình chi tiết: Từng bước làm chủ hệ thống

1. Sử dụng SoftEther VPN Server Manager

Đừng cố gõ lệnh trên Linux cho mệt. Bạn hãy tải SoftEther VPN Server Manager for Windows về máy cá nhân. Công cụ này cho phép bạn kết nối tới server Linux và cấu hình mọi thứ qua giao diện đồ họa. Từ việc tạo User đến quản lý Virtual Hub, tất cả chỉ là những cú click chuột.

2. Local Bridge – Chìa khóa để thông mạng nội bộ

Để các máy VPN “nhìn thấy” nhau, bạn cần cấu hình Local Bridge. Trong giao diện Manager, hãy chọn Local Bridge Setting, chọn Virtual Hub và trỏ nó tới card mạng vật lý (thường là eth0 hoặc ens3).

Kinh nghiệm xương máu: Nếu thuê VPS tại DigitalOcean hay Vultr, Local Bridge thường bị nhà cung cấp chặn. Giải pháp lúc này là bật SecureNAT. Nó sẽ tự đóng vai trò là DHCP server và NAT cho các client, cực kỳ tiện lợi nhưng sẽ hơi tốn CPU một chút.

3. Kích hoạt L2TP/IPsec và SSTP

Để tối ưu cho thiết bị di động, hãy bật các tính năng sau:

  • L2TP over IPsec: Tích chọn “Enable L2TP over IPsec Server Function” và đặt một chuỗi IPsec Pre-Shared Key thật mạnh.
  • SSTP: Chỉ cần bật tính năng này lên. Nếu không có chứng chỉ SSL riêng, bạn có thể dùng Dynamic DNS miễn phí của SoftEther (dạng *.softether.net) để lấy chứng chỉ tự động.

Nâng cao: Tối ưu hiệu suất cho hệ thống lớn

Khi số lượng user vượt mức 20-30 người, SecureNAT sẽ ngốn rất nhiều tài nguyên. Mình từng thấy CPU nhảy vọt lên 50% chỉ vì xử lý NAT ảo. Cách tốt nhất là tắt SecureNAT và sử dụng Bridge Tap Interface kết hợp với dnsmasq trên Linux. Phương pháp này giúp giảm tải CPU tới 40% và tăng tốc độ truyền tải dữ liệu.

Để tạo Tap Interface, bạn vào vpncmd và gõ:

BridgeCreate VirtualHubName /DEVICE:soft /TAP:yes

Sau đó, bạn chỉ cần cấu hình IP cho interface tap_soft mới xuất hiện trên Linux là xong.

Vài lưu ý nhỏ nhưng quan trọng

  • Mở Port Firewall: Đừng quên mở port 443 (SSTP), 500/4500 UDP (L2TP) trên firewall. Nếu quên bước này, bạn sẽ loay hoay cả ngày mà không hiểu tại sao không kết nối được.
  • Check Log thường xuyên: SoftEther lưu log rất kỹ trong thư mục server_log. Nếu user báo lỗi, hãy vào đây xem đầu tiên. Đa số lỗi đến từ việc sai lệch thời gian hệ thống (NTP) hoặc gõ nhầm Pre-shared key.

Việc chuyển sang SoftEther đã giúp mình giảm tới 80% các ticket hỗ trợ liên quan đến VPN. Không còn cảnh phải hướng dẫn user cài đặt phức tạp, mọi thứ giờ đây chỉ là ‘nhập và chạy’.

Share: