Điểm:2

Làm cách nào để định cấu hình wireguard để chuyển tiếp địa chỉ IP của máy khách (có cổng)?

lá cờ jp

Tôi đang cố định cấu hình wireguard để hoạt động như một máy chủ VPN. Vấn đề chính là cổng chỉ chuyển tiếp ip máy chủ VPN sang máy chủ khác, không phải IP máy khách của tôi.

Thiết lập của tôi là như sau:

                                                        - máy chủ A (10.10.0.4)
                                                      /
KHÁCH HÀNG (10.10.1.3) -> máy chủ bảo vệ dây (10.10.1.2) -- 
                                       (10.10.0.2) \
                                                        - máy chủ B (10.10.0.3)

Máy chủ wireguard chạy trên một máy có hai giao diện:

  • eth0 (10.10.0.2)
  • wg0 (10.10.1.2)

Khi kết nối VPN được thiết lập, tôi có thể kết nối với máy chủ A và máy chủ B (thông qua ssh). Vấn đề là, địa chỉ IP của máy chủ wireguard được chuyển tiếp (tự nhiên) đến máy chủ A và B. Đăng nhập qua ssh luôn hiển thị cho tôi rằng kết nối cuối cùng đến từ 10.10.0.2 (trên máy chủ A và B). Nhưng trên máy chủ wireguard, IP đăng nhập cuối cùng là IP máy khách thực của tôi (10.10.1.3).

Điều tôi đang cố gắng làm là định cấu hình bảo vệ dây để IP của tôi (10.10.1.3) được chuyển tiếp chính xác đến máy chủ A và B.

Đây là tập tin cấu hình wireguard máy khách của tôi:

[Giao diện]
Khóa riêng tư = xxx
Địa chỉ = 10.10.1.3/24
DNS = 10.10.0.2, 8.8.8.8

[Ngang nhau]
Khóa công khai = XXX
IP được phép = 10.10.0.0/24
Điểm cuối = xxx.xxx.xxx.xxx:41194
Kiên trì Keepalive = 15

Cấu hình máy chủ wireguard (wg0.conf) của tôi:

[Giao diện]
Địa chỉ = 10.10.1.2/24

## Cổng máy chủ VPN của tôi ##
Cổng nghe = 41194

Khóa riêng tư = xxx

# Cấu hình Internet Gateway: nat wg1 ra internet trên ens10
PostUp = iptables -A FORWARD -i wg0 -j CHẤP NHẬN; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j CHẤP NHẬN; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Ngang nhau]
## Khóa công khai VPN máy tính để bàn/máy khách ##
Khóa công khai = xxx

IP được phép = 10.10.1.3/32

Tôi đoán rằng cấu hình iptables bị sai do nat / MASQUERADE, nhưng tôi không thể định cấu hình cổng chính xác.

Tôi đánh giá cao sự giúp đỡ của bạn.

Cập nhật

Thực thi trên máy chủ A (tương tự trên B)

liên kết ip -br; địa chỉ ip -br; lộ trình ip

Trả về (IP công cộng bị che):

lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
eth0 TĂNG 96:00:01:29:d6:9b <BROADCAST,MULTICAST,UP,LOWER_UP>
ens10 LÊN 86:00:00:08:9c:c5 <BROADCAST,MULTICAST,UP,LOWER_UP>
lo CHƯA BIẾT 127.0.0.1/8 ::1/128
eth0 LÊN 10.10.0.3/32 fe80::9400:1ff:fe29:d69b/64
ens10 LÊN 49.xxx.xxx.xxx/32 2a01:xxx:xxx:xxx::1/64 fe80::8400:ff:fe08:9cc5/64
mặc định qua 172.31.1.1 dev ens10 proto dhcp src 49.xxx.xxx.xxx số liệu 100
10.10.0.0/16 qua 10.10.0.1 nhà phát triển eth0
Liên kết phạm vi 10.10.0.1 dev eth0
172.31.1.1 dev ens10 liên kết phạm vi proto dhcp src 49.xxx.xxx.xxx số liệu 100
Điểm:1
lá cờ cl
A.B

NAT được thực hiện bởi cấu hình để bạn có được NAT như yêu cầu. Để tránh sử dụng NAT, bạn phải:

  • đảm bảo rằng máy chủ cuối A và B có một tuyến đường thực trở lại máy khách

    Nếu đó không phải là trường hợp, thêm ít nhất này trên A và B (nếu chạy Linux):

    tuyến ip thêm 10.10.1.3/32 qua 10.10.0.2

    CẬP NHẬT: Thiết lập định tuyến của OP (trong đám mây) làm cho lưu lượng truy cập của A và B đến 10.10.0.2 (hoặc thậm chí giữa những người khác) đi qua một bộ định tuyến bổ sung 10.10.0.1 (một phần của mạng đám mây). Vì vậy, tuyến đường phải được thêm vào phần này, theo xác nhận của OP.

  • xóa NAT trên máy chủ wireguard

    Chỉ cần loại bỏ thứ hai iptables các lệnh trong hai WireGuard's Gửi lênGửi lên cấu hình và đảm bảo không còn mục nhập nào được thêm trước đó, bằng cách chỉ chạy lần này:

    iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
    
  • tùy chọn: cập nhật IP được phép trên khách hàng

    Nếu máy khách muốn truy cập máy chủ bảo vệ dây bằng cách sử dụng địa chỉ của máy chủ ở phía đường hầm của nó thay vì phía eth0 của nó hoặc để đảm bảo rằng đã nhận được ICMP do máy chủ bảo vệ dây gửi lại (ví dụ: để nhận đường theo dõi đến máy chủ A hoạt động mà không có * * *), 10.10.1.2 cũng nên có trong IP được phép để đáp ứng Định tuyến khóa mật mã của WireGuard.

    Thay thế trên máy khách:

    IP được phép = 10.10.0.0/24
    

    với:

    IP được phép = 10.10.1.2,10.10.0.0/24
    
lá cờ jp
Cám ơn phản hồi của bạn. Tôi đã cố gắng thêm tuyến IP trên cả hai máy chủ (tuyến ip thêm 10.10.1.3/32 đến 10.10.0.2), nhưng tôi chỉ gặp lỗi: "Nexthop có cổng không hợp lệ". Có vẻ như, có thể có một cấu hình sai mạng?!
lá cờ jp
Tôi sẽ cập nhật câu hỏi của mình để cung cấp kết quả của liên kết ```ip -br; địa chỉ ip -br; tuyến đường ip```
A.B avatar
lá cờ cl
A.B
Với thông tin được thêm vào: tất cả lưu lượng cho 10.10.0.0/16 thường là lưu lượng LAN được định tuyến qua 10.10.0.1, không để lại lưu lượng LAN nào trên máy chủ A hoặc B có thể có ngoại lệ. Sau đó, tuyến đường phải được thêm vào ngày 10.10.0.1 không xuất hiện ở bất kỳ đâu trong câu hỏi.
lá cờ jp
Cảm ơn đã chỉ cho tôi đi đúng hướng. 10.10.0.1 không hoàn toàn mất kiểm soát. Đó là mạng đám mây, nhưng tôi đã thêm một tuyến đường từ 10.10.1.0/24 đến 10.10.0.2. Bây giờ nó hoạt động hoàn hảo. Cảm ơn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.