Điểm:1

Không thể thiết lập kết nối VPN s2s giữa AWS EC2 và OVH Public Cloud bằng WireGuard

lá cờ gb

Tôi không thể thiết lập kết nối VPN giữa phiên bản AWS EC2 và Đám mây công cộng OVH. Trong /var/log/syslog không có lỗi - chỉ một số thông tin về wg-nhanh các hoạt động như thêm định tuyến, v.v.

Phiên bản AWS EC2:

  • hệ điều hành: Ubuntu 20.04.2 LTS

  • Địa chỉ IP nội bộ: ví dụ. 10.0.22.22/16 ens4

  • Địa chỉ IP công cộng: ví dụ. 123.123.123.123/32 giao diện công cộng aws

  • Hải cảng 12345/udp12345/tcp mở qua nhóm bảo mật

  • cấu hình:
    /etc/wireguard/wg0.conf:

    [Giao diện]
    Địa chỉ = 10.10.0.1/24
    SaveConfig = sai
    PrivateKey = <aws-private-key>
    Cổng nghe = 12345
    PostUp = iptables -A FORWARD -i %i -j CHẤP NHẬN; iptables -A FORWARD -o %i -j CHẤP NHẬN; iptables -t nat -A POSTROUTING -o ens4 -j MASQUERADE;  
    PostDown = iptables -D FORWARD -i %i -j CHẤP NHẬN; iptables -D CHUYỂN ĐI -o %i -j CHẤP NHẬN; iptables -t nat -D POSTROUTING -o ens4 -j MASQUERADE;
    
    [Ngang nhau]
    PublicKey = <ovh-public-key>
    IP được phép = 10.10.0.2/24, 192.168.10.0/16
    Điểm cuối = 321.321.321.321:12345
    

Phiên bản đám mây công cộng OVH:

  • hệ điều hành: Ubuntu 21.04

  • Địa chỉ IP nội bộ: ví dụ. 192.168.10.100/16 enp0s2

  • Địa chỉ IP công cộng: ví dụ. 321.321.321.321/32 enp0s1

  • Hải cảng 12345/udp12345/tcp mở qua uww

  • cấu hình:
    /etc/wireguard/wg0.conf:

    [Giao diện]
    Địa chỉ = 10.10.0.2/24
    SaveConfig = sai
    Khóa riêng = <ovh-khóa-riêng>
    Cổng nghe = 12345
    PostUp = iptables -A FORWARD -i %i -j CHẤP NHẬN; iptables -A FORWARD -o %i -j CHẤP NHẬN; iptables -t nat -A POSTROUTING -o enp0s1 -j MASQUERADE;  
    PostDown = iptables -D FORWARD -i %i -j CHẤP NHẬN; iptables -D CHUYỂN ĐI -o %i -j CHẤP NHẬN; iptables -t nat -D POSTROUTING -o enp0s1 -j MASQUERADE;
    
    [Ngang nhau]
    PublicKey = <aws-public-key>
    IP được phép = 10.10.0.1/24, 10.0.0.0/16
    Điểm cuối = 123.123.123.123:12345
    

Cả hai trường hợp:

  • net.ipv4.ip_forward=1 Trong /etc/sysctl.conf
  • chỉ huy: wg-nhanh lên /etc/wireguard/wg0.conf
  • cả hai đều đang chạy và đã tạo wg0 giao diện với IP từ wg0.conf

Tóm lược:

  • Xoăn để ứng dụng nghe trên cổng đã mở 80/tcp không hoạt động trên cả hai mặt.

Tui bỏ lỡ điều gì vậy? Làm thế nào tôi có thể gỡ lỗi này? Tôi đã đọc một số bài báo, nhưng tôi không thể tìm ra nó.

CẬP NHẬT:

Giao tiếp đang hoạt động sau khi sửa đổi /etc/wireguard/wg0.conf:
từ IP được phép = 10.10.0.x/24, (...) đến IP được phép = 10.10.0.x/32, (...)
như @Tom Yan đã đề xuất.

Nhưng tôi đang vật lộn với định tuyến. Đây là giao diện của nó khi ping đến các máy chủ khác trong cùng mạng với Máy chủ VPN.

Trong AWS Tôi đã thêm vào bảng định tuyến quy tắc:
192.168.10.0/16 qua Giao diện AWS-VPN

Trong OVH-một số-ví dụ Tôi chạy:
tuyến ip thêm 10.0.0.0/16 qua 192.168.10.100 dev eno4

Tóm tắt về ping:

OVH-VPN -> AWS-VPN OK
OVH-VPN -> Hết thời gian chờ đối với AWS
OVH-một số-ví dụ -> AWS-VPN OK
OVH-một số trường hợp -> AWS-một số trường hợp hết thời gian chờ

AWS-VPN -> OVH-VPN OK
AWS-VPN -> OVH-một số ví dụ OK
AWS-some-instance -> OVH-VPN timeout
AWS-some-instance -> OVH-some-instance timeout

Trong nhật ký tôi chỉ có thể thấy thông tin:

$: dmesg -wH
[13:40 ngày 20 tháng 7] wireguard: wg0: Đang nhận gói keepalive từ máy ngang hàng 5 (123.123.123.123:12345)

IPTables & Định tuyến

AWS-VPN:

$: iptables-lưu
-P CHẤP NHẬN ĐẦU VÀO
-P CHẤP NHẬN VỀ PHÍA TRƯỚC
-P CHẤP NHẬN ĐẦU RA
-A VỀ PHÍA TRƯỚC -i wg0 -j CHẤP NHẬN
-A VỀ PHÍA TRƯỚC -o wg0 -j CHẤP NHẬN

$: tuyến đường ip
mặc định qua 10.0.22.1 dev ens4 proto dhcp src 10.0.22.22 số liệu 100 
10.0.22.0/19 dev ens4 liên kết phạm vi kernel proto src 10.0.22.22 
10.0.22.1 dev ens4 liên kết phạm vi proto dhcp src 10.0.22.22 số liệu 100 
Liên kết phạm vi 10.10.0.2 dev wg0 
Liên kết phạm vi dev wg0 192.168.10.0/16 

### Quy tắc bảng điều khiển AWS dành cho máy chủ AWS-VPN
TCP tùy chỉnh TCP 12345 321.321.321.321/32
UDP tùy chỉnh UDP 12345 321.321.321.321/32
Tất cả lưu lượng Tất cả Tất cả 321.321.321.321/32
Tất cả lưu lượng Tất cả Tất cả 10.0.0.0/16
Tất cả lưu lượng Tất cả Tất cả 192.168.10.0/16
Tất cả lưu lượng Tất cả Tất cả 10.10.0.2/32

OVH-VPN:

$: iptables-lưu
*lọc
:CHẤP NHẬN ĐẦU VÀO [26612:55893110]
:CHẤP NHẬN TRƯỚC [0:0]
:CHẤP NHẬN ĐẦU RA [34036:3715836]
-A VỀ PHÍA TRƯỚC -i wg0 -j CHẤP NHẬN
-A VỀ PHÍA TRƯỚC -o wg0 -j CHẤP NHẬN
LÀM
* tự nhiên
:CHẤP NHẬN TRƯỚC [0:0]
:INPUT CHẤP NHẬN [0:0]
:CHẤP NHẬN ĐẦU RA [0:0]
:CHẤP NHẬN SAU ĐÓ [69:5450]
-A POSTROUTING -o enp0s1 -j MASQUERADE
LÀM

$: tuyến đường ip
mặc định qua 321.321.321.1 dev enp0s1 proto dhcp src 321.321.321.321 số liệu 100 
Liên kết phạm vi 10.0.0.0/16 dev wg0 
321.321.321.1 dev enp0s2 proto liên kết phạm vi dhcp src 321.321.321.321 số liệu 100 
169.254.169.254 qua 192.168.10.2 dev enp0s2 proto dhcp src 192.168.10.100 số liệu 100 
Liên kết phạm vi 10.10.0.1 dev wg0 
192.168.10.0/16 dev enp0s2 liên kết phạm vi kernel proto src 192.168.10.100

$: tường lửa-cmd --list-all-zones
# Tôi đã xóa các dòng trống
nội bộ (hoạt động)
  mục tiêu: mặc định
  icmp-block-đảo ngược: không
  giao diện: 
  nguồn: 10.0.0.0/16 10.10.0.1/32 123.123.123.123/32
  dịch vụ: dhcpv6-client mdns ssh
  cổng: 12345/tcp 12345/udp
công khai (đang hoạt động)
  mục tiêu: mặc định
  icmp-block-đảo ngược: không
  giao diện: 
  nguồn: 123.123.123.123/32
  dịch vụ: dhcpv6-client ssh
  cổng: 12345/tcp 12345/udp

Tôi nên làm gì khác để làm cho nó hoạt động?

Tim avatar
lá cờ gp
Tim
Tôi sẽ bắt đầu bằng cách mở tường lửa để cho phép IMCP xác minh kết nối mạng. Sau đó, tôi có thể telnet tới các cổng trên mỗi máy cục bộ để kiểm tra xem bộ bảo vệ dây có đang lắng nghe không, sau đó telnet tới các cổng từ máy từ xa.
Tom Yan avatar
lá cờ in
Vui lòng không sử dụng `/24` trong `AllowedIPs=` trừ khi địa chỉ thực sự là ID mạng con. (Vì vậy, nó phải là `10.10.0.1/32` / `10.10.0.2/32` hoặc thậm chí chỉ `10.10.0.1` / `10.10.0.2`. Thực tế, nếu bạn không chỉ cho phép `10.10.0.0 /24` ở cả hai bên, có thể không cần thiết phải sử dụng `/24` trong `Address=`.)
Tom Yan avatar
lá cờ in
Ngoài ra, `wg` cho bạn biết khi nào/nếu bạn nhận được một cái bắt tay từ phía bên kia.
maar avatar
lá cờ gb
@TomYan Cảm ơn! Nó hoạt động sau khi tôi thay đổi `AllowedIPs` như bạn đề xuất. Nhưng tôi có một số vấn đề về định tuyến.. Tôi đã chỉnh sửa bài đăng chính. Tôi thực sự đánh giá cao sự giúp đỡ của bạn!
Tom Yan avatar
lá cờ in
Bạn có thể thêm đầu ra `iptables-save` của cả hai máy chủ không?
maar avatar
lá cờ gb
@TomYan Chắc chắn rồi, tôi đã cập nhật nội dung câu hỏi với đầu ra `iptables-save`.
Tom Yan avatar
lá cờ in
Tại sao bạn không cung cấp đầu ra *thực tế* cho `AWS-VPN`?
Tom Yan avatar
lá cờ in
Ngoài ra, một trong hai/cả hai đều là cổng mặc định cho (các) trường hợp nào đó của họ? Để `AWS-some-instance -> OVH-VPN` / `OVH-some-instance -> AWS-VPN` hoạt động/đã hoạt động, cần có tuyến trên (các) phiên bản nào đó bao gồm `10.10.0.1 ` và `10.10.0.2` tương ứng (vì bạn không phải `MASQUERADE`ing cho những gì thoát ra khỏi giao diện VPN ở cả hai phía). Ngoài ra, bạn đã đề cập rằng bạn thêm tuyến đường `192.168.10.0/16 qua [sic.] AWS-VPN-interface`, ý bạn là wg-quick không tự động thêm nó cho bạn? Tại sao tuyến đường (thủ công) thêm mà bạn đề cập không "cân bằng"?
maar avatar
lá cờ gb
@TomYan Tuyến `192.168.10.0/16 qua [sic.] AWS-VPN-interface` Tôi đã thêm vào Bảng điều khiển AWS, đó là tuyến dành cho các phiên bản khác (toàn bộ mạng). Ngoài ra, trên máy chủ AWS-VPN, tôi chỉ có giao diện riêng (`ens4`) và có NAT đích tới IP công cộng thông qua tường lửa tích hợp AWS bên ngoài phiên bản AWS-VPN. Trên OVH-VPN, tôi có hai giao diện - giao diện công cộng (`enp0s1`) và riêng tư (`enp0s2`) và với tư cách là tường lửa, tôi đang sử dụng `firewalld` (trong OVH-VPN).
maar avatar
lá cờ gb
Vì vậy, nếu tôi hiểu chính xác ở phía AWS, tôi có nên thêm tuyến `192.168.10.0/16 qua 10.10.0.1` không? Và trên OVH-VPN `10.10.0.2/16 qua 10.10.0.2`? Khi tôi đang cố gắng làm điều đó trên máy chủ OVH khác, tôi gặp lỗi: `Lỗi: Nexthop có cổng không hợp lệ.`
maar avatar
lá cờ gb
@TomYan Tôi cũng đã thêm đầu ra lệnh ip route từ cả hai.
Tom Yan avatar
lá cờ in
Hãy để chúng tôi [tiếp tục cuộc thảo luận này trong cuộc trò chuyện](https://chat.stackexchange.com/rooms/127745/discussion-between-tom-yan-and-maar).

Đă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.