Wireguard VPN trên OpenWrt
Bài viết này giả sử bạn đã có một server chạy Wireguard và một file cấu hình Wireguard cho Client đã hoạt động.
Cài đặt WireGuard trên OpenWRT
- Cài đặt gói để OpenWRT hỗ trợ WireGuard
SSH vào thiết bị OpenWRT và chạy những lệnh sau để cài đặt Wireguard:
opkg update
opkg install luci-proto-wireguard luci-app-wireguard wireguard kmod-wireguard wireguard-tools
reboot
Cấu hình WireGuard trong OpenWRT
- Cấu hình WireGuard interface trong OpenWRT sử dụng LuCI
Vào LuCI và đến mục Network » Interfaces » Add New Interface
Đặt tên interface là WIREGUARD hoặc một tên nào đó mà bạn chọn, chọn Protocol WireGuard VPN và nhấn Submit để bắt đầu cấu hình một interface mới.
Lúc này bạn cần mở file cấu hình của client và thêm những thông tin sau:
- General Settings
- Peers
Lưu ý quan trọng: Mục Route Allowed IPs phải tick dấu tick
- Firewall
Sau đó khởi động lại OpenWRT ở System » Reboot hoặc lệnh reboot
trong SSH
Cập nhật giờ hệ thống trong OpenWRT
Mỗi lần cúp điện, WireGuard tự ngắt và lúc đầu tôi cũng không xác định được nguyên nhân từ đâu, cứ nghĩ do bản ROM còn ở dạng Beta nên không ổn định. Để Wireguard hoạt động trở lại sau khi cúp điện tôi phải login vào router và đồng bộ giờ một cách thủ công.
Sau khi tìm hiểu nguyên nhân trên mạng tôi biết rằng do khi cúp điện và có điện trở lại router không thể đồng bộ giờ hệ thống của nó với NTP do WireGuard được kích hoạt trước. Để giải quyết vấn đề này tôi đã tìm được câu trả lời ở link sau..
cat << "EOF" >> /etc/crontabs/root
@reboot date -s 2030-01-01; /etc/init.d/sysntpd restart
EOF
uci set system.@system[0].cronloglevel="9"
uci commit system
/etc/init.d/cron restart
Đọc thêm:
https://casept.github.io/post/wireguard-server-on-openwrt-router/
https://forum.openwrt.org/t/initiate-wireguard-after-ntp-success/14751/52
https://openwrt.org/docs/guide-user/services/vpn/wireguard/client
https://openwrt.org/docs/guide-user/services/vpn/wireguard/extras#race_conditions