Giả sử tôi có hai máy chủ: A và B. Tôi đã cài đặt WireGuard trên cả hai máy chủ.
Trên máy chủ A, wg0
được định tuyến với IP 10.8.0.0/24
và trên máy chủ B, wg0
được định tuyến với IP 10.7.0.0/24
.
Giả sử WireGuard của máy chủ A đang lắng nghe trên cổng 4000 và WireGuard của máy chủ B đang lắng nghe trên cổng 5000.
Tôi chỉ muốn chuyển tiếp tất cả lưu lượng truy cập đến máy chủ A trên cổng 5000. Có các ứng dụng khác đang lắng nghe trên các cổng khác và tôi không chuyển tiếp chúng.
Những gì tôi muốn là:
- máy khách kết nối với -> máy chủ A
- giả sử khách hàng nói với máy chủ A mở google.com cho tôi
- máy chủ A kết nối với -> máy chủ B
- giả sử máy chủ A yêu cầu máy chủ B mở google.com cho tôi
- máy chủ B truy cập google.com
- gửi dữ liệu nhận được từ google.com đến -> máy chủ A
- máy chủ A gửi dữ liệu nhận được đến -> máy khách
Nên làm gì? Hệ điều hành là Ubuntu trên cả hai máy chủ.
cập nhật 1
S-B /etc/wireguard/wg0.conf
tập tin:
[Giao diện]
Địa chỉ = 10.7.0.1/24
Khóa riêng tư = SOME_KEY
ListenPort = PORT_NUMBER
S-A /etc/wireguard/wg0.conf
tập tin:
[Giao diện]
Địa chỉ = 10.8.0.1/24
Khóa riêng tư = SOME_KEY
ListenPort = PORT_NUMBER
Tôi đã kết nối với VPN của S-A, ping trên cmd 8.8.8.8 của tôi, nó đã hoạt động. Đã SSH vào S-A trong khi kết nối với VPN, ping 8.8.8.8, nó đã hoạt động.
Tôi đã làm như vậy cho S-B và nó đã hoạt động.
Tôi có thể SSH từ S-A sang S-B và ngược lại.
Tệp conf của một khách hàng trên S-A:
[Giao diện]
Địa chỉ = 10.8.0.2/24
DNS = 8.8.8.8
Khóa riêng tư = RIÊNG TƯ
[Ngang nhau]
Khóa công khai = CÔNG KHAI
PresharedKey = ĐƯỢC CHIA SẺ TRƯỚC
IP được phép = 0.0.0.0/0, ::/0
Điểm cuối = IP:PORT
Kiên trì Keepalive = 25
Tệp conf của một khách hàng trên S-B:
[Giao diện]
Địa chỉ = 10.7.0.2/24
DNS = 8.8.8.8
Khóa riêng tư = RIÊNG TƯ
[Ngang nhau]
Khóa công khai = CÔNG KHAI
PresharedKey = ĐƯỢC CHIA SẺ TRƯỚC
IP được phép = 0.0.0.0/0, ::/0
Điểm cuối = IP:PORT
Kiên trì Keepalive = 25