Tạo WireGuard MikroTik
Đặt mạng tunnel và các peer, rồi nhận cấu hình WireGuard RouterOS v7 cùng một tệp cấu hình cho từng laptop, điện thoại hoặc chi nhánh từ xa.
Khóa được tạo trong trình duyệt và không bao giờ rời khỏi thiết bị của bạn
Cần RouterOS v7 (WireGuard không có trên v6). Khóa được tạo bằng Web Crypto X25519 của trình duyệt; nếu trình duyệt không hỗ trợ, router sẽ tự tạo khóa của nó và các tệp cấu hình chứa giá trị giữ chỗ. Chỉ hỗ trợ địa chỉ tunnel IPv4. MikroTik và RouterOS là nhãn hiệu của SIA Mikrotīkls. Công cụ này độc lập, không liên kết với hay được MikroTik bảo trợ.
Cách thiết lập WireGuard trên MikroTik
- Nhập tên interface, cổng lắng nghe, địa chỉ tunnel của router (chẳng hạn
10.66.0.1/24) và địa chỉ công khai mà các máy khách sẽ kết nối đến. - Thêm một dòng cho mỗi peer cùng địa chỉ tunnel của nó; với liên kết site-to-site, thêm các mạng phía sau peer. Chọn full tunnel hoặc split tunnel.
- Dán tập lệnh RouterOS, chuyển rule tường lửa lên trên các rule drop, rồi nhập tệp .conf của từng peer vào ứng dụng WireGuard của nó.
WireGuard trên RouterOS v7
WireGuard có mặt từ RouterOS 7 và được cấu hình ở hai nơi: /interface wireguard chứa cặp khóa và cổng lắng nghe của router, còn /interface wireguard peers chứa mỗi thiết bị hoặc chi nhánh từ xa một mục, được nhận diện bằng khóa công khai của nó. Interface tunnel sau đó nhận địa chỉ IP như mọi interface khác, và rule tường lửa, route cùng interface list áp dụng cho nó như bình thường. Không có tên người dùng hay mật khẩu: peer là bất kỳ ai nắm giữ khóa riêng khớp với một khóa công khai đã cấu hình.
allowed-address của mỗi peer là cốt lõi của cách thiết lập này. Nó liệt kê các địa chỉ nguồn mà router chấp nhận từ peer đó, đồng thời là các đích mà router gửi đến peer đó. Ở phía thiết bị, AllowedIPs làm việc tương tự theo chiều ngược lại: 0.0.0.0/0 đưa mọi thứ qua tunnel, còn một danh sách mạng thì chỉ giữ tunnel cho các mạng đó.
Trước khi kết nối
- Router phải chấp nhận UDP trên cổng lắng nghe trong input chain, đặt trên mọi rule drop. Tạo tường lửa MikroTik có thể mở cổng này giúp bạn với
udp/13231. - Nếu router nằm sau một thiết bị NAT khác, hãy chuyển tiếp cổng UDP đến nó, như Tạo port forwarding MikroTik minh họa.
- Cấu hình của peer chứa khóa riêng. Hãy chuyển chúng đến thiết bị qua kênh đáng tin cậy và xóa các bản sao thừa.
Câu hỏi thường gặp
Khóa tạo trong một trang web có an toàn không?
Khóa được tạo bằng bản cài đặt X25519 có sẵn của Web Crypto trong trình duyệt, cùng đường cong mà WireGuard dùng, và chỉ tồn tại trong bộ nhớ của trang này cùng đoạn văn bản nó hiển thị cho bạn. Không có gì được gửi đi: trang không có thành phần máy chủ, và chính sách bảo mật của nó chặn kết nối đến các trang khác. Đóng thẻ là khóa biến mất, vì vậy hãy lưu trước những cấu hình bạn cần.
Nếu trình duyệt của tôi không tạo được khóa X25519 thì sao?
Trang sẽ báo cho bạn và chuyển sang dùng khóa tạo ở nơi khác: tập lệnh RouterOS bỏ phần khóa riêng, để router tự tạo khóa của nó khi tạo interface. Chạy /interface wireguard print để đọc khóa công khai của router, dán vào các cấu hình peer, rồi dán khóa công khai của từng peer (lấy từ ứng dụng WireGuard của nó) vào bảng ở đây.
allowed-address trên một peer MikroTik là gì?
Nó vừa là danh sách truy cập vừa là bảng định tuyến: router chỉ nhận gói tin từ peer có địa chỉ nguồn nằm trong danh sách này, và gửi lưu lượng đến các đích này về phía peer đó. Với một thiết bị, đó là địa chỉ /32 của thiết bị. Với một chi nhánh từ xa, hãy thêm LAN của chi nhánh, và tập lệnh cũng thêm một route đến đó.
Full tunnel hay split tunnel?
Full tunnel (AllowedIPs 0.0.0.0/0 trên peer) đưa toàn bộ lưu lượng của thiết bị qua router, hữu ích trên Wi-Fi không đáng tin; router phải masquerade các địa chỉ tunnel ra internet. Split tunnel chỉ gửi mạng tunnel và các mạng bạn liệt kê, nên việc duyệt web thông thường vẫn đi cục bộ.
Vì sao peer cần PersistentKeepalive?
Điện thoại hoặc laptop sau NAT chỉ nhận được gói tin khi ánh xạ NAT của nó còn sống. Keepalive mỗi 25 giây giữ ánh xạ mở, để router liên lạc được với peer và tunnel hoạt động lại nhanh sau một quãng nghỉ.
Khóa preshared bổ sung điều gì?
Một bí mật đối xứng thêm được trộn vào quá trình bắt tay, bổ sung một lớp bảo vệ trước các cuộc tấn công lượng tử trong tương lai nhằm vào việc trao đổi khóa công khai. Khóa này là tùy chọn, và phải khớp ở cả hai phía.