Khi kết nối với máy chủ Wireguard trên máy Linux của bạn, một giao diện mạng mới sẽ xuất hiện và tất cả lưu lượng truy cập được chuyển tiếp qua giao diện đó.
Thông thường, để kết nối hai giao diện với nhau, bạn chỉ cần dễ dàng thiết lập một cầu nối và kết nối hai giao diện với nhau.
Tuy nhiên, Cầu nối hoạt động trên OSI Lớp 2 (khung chuyển tiếp, được chuyển hướng đến Địa chỉ MAC đích), trong khi Wireguard là giao thức Lớp 3 (chuyển tiếp các gói IP có địa chỉ IP đích) (thêm thông tin).
Vì vậy, bạn không thể kết nối giao diện hoạt động trên L3 với cầu nối. Vì vậy, bạn có một số tùy chọn:
- Sử dụng đường hầm VPN Lớp 2 (như L2TP+IPSec), với rắc rối về cấu hình phát sinh.
- Thiết lập Raspberry Pi làm proxy Vớ để tạo đường hầm lưu lượng truy cập đến Wireguard và kết nối toàn bộ kết nối internet với thiết bị được kết nối. Điều này có nghĩa là lưu lượng truy cập không muốn đi qua VPN theo mặc định, rất có thể đó không phải là điều bạn muốn.
- Thiết lập Raspberry Pi làm bộ định tuyến cổng và chuyển tiếp các gói IP tới VPN:
Để đạt được điều này, bạn cần những điều sau đây:
- Cho phép chuyển tiếp gói trên máy khách Pi (được đặt
net.ipv4.ip_forward=1
Trong /etc/sysctl.conf
và cập nhật nó với sysctl -p
- Thiết lập NAT trên Pi máy khách của bạn giữa cả hai giao diện. Điều này sẽ chuyển tiếp các gói từ mạng con WG của bạn (tức là
10.0.0.0/24
sang mạng con mới mà Raspberry Pi của bạn sẽ quản lý và bạn đã thiết lập trong Máy chủ DHCP (tức là 10.10.0.0/24
).
Có nhiều cách để định cấu hình điều này, nhưng vào năm 2022 khi sử dụng Ubuntu, bạn nên cung cấp Kế hoạch mạng một lần thử, cho phép bạn định cấu hình tất cả các mạng này bằng tệp YAML một cách trực quan. Đây là một ví dụ trên trang web của Netplan đạt được chính xác điều này.
- Thiết lập raspberry pi làm máy chủ DHCP (để cấu hình IP là tự động và các thiết bị không cần cấu hình thủ công cũng có lưu lượng được chuyển tiếp): đặt
bộ định tuyến tùy chọnRaspberryPisWireguardIP của bạn;
Trong /etc/dhcp/dhcpd.conf
và chọn một mạng con mới để gán địa chỉ IP cho các máy khách. hướng dẫn. Bạn nên chuẩn bị để thực hiện isc-dhcp-máy chủ
chơi đẹp với Kế hoạch mạng
. Cái này câu trả lời của askubuntu chỉ làm điều đó.
- Hãy nhớ rằng việc sử dụng Netplan có thể sẽ ghi đè thiết lập mạng Wg-Quick của bạn, nhưng điều đó không thành vấn đề. Chỉ cần thêm cấu hình máy khách WG của bạn trên cùng một tệp Netplan đó trong
đường hầm:
tiết diện.
- Bạn có thể muốn thiết lập máy chủ DNS trên Raspberry Pi trỏ đến DNS máy chủ WG của bạn để tránh rò rỉ.
Như bạn có thể đoán, với cách tiếp cận cuối cùng này, tất cả các máy khách được kết nối với mâm xôi của bạn dường như đến từ cùng một IP máy khách (của mâm xôi của bạn) do NAT. Bạn có thể thay đổi điều này (Cấu hình máy chủ của Wireguard IP được phép
có thể được đặt thành một phạm vi, nhưng tôi không chắc làm thế nào để đạt được điều đó một cách chính xác.
TLDR: Định cấu hình đường hầm máy khách wg bằng Netplan. Thiết lập NAT sử dụng Netplan giữa giao diện Máy khách WG và mạng ethernet thứ cấp mà bạn dự định sử dụng máy khách của mình. Thiết lập một DHCP server trên số pi của bạn trên một mạng con riêng cho khách hàng của bạn. Thiết yếu, xây dựng bộ định tuyến của riêng bạn.