ฉันไม่สามารถสร้างการเชื่อมต่อ VPN ระหว่างอินสแตนซ์ AWS EC2 และ OVH Public Cloud
ใน /var/log/syslog
ไม่มีข้อผิดพลาด - เป็นเพียงข้อมูลบางส่วนเกี่ยวกับ wg-รวดเร็ว
การดำเนินการ เช่น การเพิ่มเส้นทาง เป็นต้น
อินสแตนซ์ AWS EC2:
ระบบปฏิบัติการ: อูบุนตู 20.04.2 LTS
ที่อยู่ IP ภายใน: เช่น 10.0.22.22/16
ens4
ที่อยู่ IP สาธารณะ: เช่น 123.123.123.123/32
อินเทอร์เฟซสาธารณะ aws
ท่าเรือ 12345/ดป
และ 12345/tcp
เปิดผ่านทาง กลุ่มรักษาความปลอดภัย
กำหนดค่า:
/etc/wireguard/wg0.conf
:
[อินเตอร์เฟซ]
ที่อยู่ = 10.10.0.1/24
SaveConfig = เท็จ
PrivateKey = <aws-private-key>
ฟังพอร์ต = 12345
PostUp = iptables -A FORWARD -i %i -j ยอมรับ; iptables -A ไปข้างหน้า -o %i -j ยอมรับ; iptables -t nat -A โพสต์ -o ens4 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ยอมรับ; iptables -D ส่งต่อ -o %i -j ยอมรับ; iptables -t nat -D โพสต์ -o ens4 -j MASQUERADE;
[เพียร์]
PublicKey = <ovh-พับลิกคีย์>
AllowedIPs = 10.10.0.2/24, 192.168.10.0/16
จุดสิ้นสุด = 321.321.321.321:12345
อินสแตนซ์ OVH Public Cloud:
ระบบปฏิบัติการ: อูบุนตู 21.04
ที่อยู่ IP ภายใน: เช่น 192.168.10.100/16
enp0s2
ที่อยู่ IP สาธารณะ: เช่น 321.321.321.321/32
enp0s1
ท่าเรือ 12345/ดป
และ 12345/tcp
เปิดผ่านทาง ยูเอฟดับบลิว
กำหนดค่า:
/etc/wireguard/wg0.conf
:
[อินเตอร์เฟซ]
ที่อยู่ = 10.10.0.2/24
SaveConfig = เท็จ
PrivateKey = <ovh-ไพรเวทคีย์>
ฟังพอร์ต = 12345
PostUp = iptables -A FORWARD -i %i -j ยอมรับ; iptables -A ไปข้างหน้า -o %i -j ยอมรับ; iptables -t nat -A โพสต์ -o enp0s1 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ยอมรับ; iptables -D ส่งต่อ -o %i -j ยอมรับ; iptables -t nat -D โพสต์ -o enp0s1 -j MASQUERADE;
[เพียร์]
PublicKey = <aws-พับลิกคีย์>
IP ที่อนุญาต = 10.10.0.1/24, 10.0.0.0/16
จุดสิ้นสุด = 123.123.123.123:12345
ทั้งสองกรณี:
net.ipv4.ip_forward=1
ใน /etc/sysctl.conf
- สั่งการ:
wg-รวดเร็วขึ้น /etc/wireguard/wg0.conf
- ทั้งสองกำลังทำงานและได้สร้าง
wg0
อินเตอร์เฟสกับ IP จาก wg0.conf
สรุป:
ขด
เพื่อฟังแอปบนพอร์ตที่เปิดอยู่ 80/ตัน
ไม่ทำงานทั้งสองด้าน
ฉันพลาดอะไรไปรึเปล่า? ฉันจะแก้ปัญหานี้ได้อย่างไร ฉันได้อ่านบทความหลายบทความ แต่ฉันไม่สามารถเข้าใจได้
อัปเดต:
การสื่อสารใช้งานได้หลังจากแก้ไข /etc/wireguard/wg0.conf
:
จาก AllowedIPs = 10.10.0.x/24, (...)
ถึง AllowedIPs = 10.10.0.x/32, (...)
ตามที่ @Tom Yan แนะนำ
แต่ฉันกำลังดิ้นรนกับการกำหนดเส้นทาง
นี่คือลักษณะที่ส่ง Ping ไปยังเซิร์ฟเวอร์อื่นที่อยู่ในเครือข่ายเดียวกันกับเซิร์ฟเวอร์ VPN
ใน อ.ว.ส ฉันเพิ่มกฎตารางเส้นทาง:
192.168.10.0/16
ทาง อินเทอร์เฟซ AWS-VPN
ใน OVH-บางอินสแตนซ์ ฉันวิ่ง:
เส้นทาง ip เพิ่ม 10.0.0.0/16 ผ่าน 192.168.10.100 dev eno4
สรุปของการกระตุก:
OVH-VPN -> AWS-VPN ตกลง
OVH-VPN -> AWS-บางอินสแตนซ์หมดเวลา
OVH-บางอินสแตนซ์ -> AWS-VPN ตกลง
OVH-บางอินสแตนซ์ -> AWS-บางอินสแตนซ์หมดเวลา
AWS-VPN -> OVH-VPN ตกลง
AWS-VPN -> OVH-บางอินสแตนซ์ตกลง
AWS-some-instance -> OVH-VPN หมดเวลา
AWS-บางอินสแตนซ์ -> OVH-บางอินสแตนซ์หมดเวลา
ในบันทึกฉันเห็นเฉพาะข้อมูล:
$: dmesg -wH
[Jul20 13:40] wireguard: wg0: รับแพ็กเก็ต keepalive จากเพียร์ 5 (123.123.123.123:12345)
IPTables และการกำหนดเส้นทาง
AWS-VPN:
$: iptables-บันทึก
-P อินพุตยอมรับ
-P ยอมรับไปข้างหน้า
-P เอาต์พุตยอมรับ
-A ไปข้างหน้า -i wg0 -j ยอมรับ
-A ส่งต่อ -o wg0 -j ยอมรับ
$: เส้นทาง ip
ค่าเริ่มต้นผ่าน 10.0.22.1 dev ens4 proto dhcp src 10.0.22.22 เมตริก 100
10.0.22.0/19 dev ens4 ลิงก์ขอบเขตเคอร์เนลโปรโต src 10.0.22.22
10.0.22.1 dev ens4 proto dhcp ขอบเขตลิงก์ src 10.0.22.22 เมตริก 100
ลิงก์ขอบเขต 10.10.0.2 dev wg0
ลิงก์ขอบเขต 192.168.10.0/16 dev wg0
### กฎ AWS Console Panel สำหรับเซิร์ฟเวอร์ AWS-VPN
TCP แบบกำหนดเอง TCP 12345 321.321.321.321/32
UDP แบบกำหนดเอง UDP 12345 321.321.321.321/32
การจราจรทั้งหมด ทั้งหมด ทั้งหมด 321.321.321.321/32
การจราจรทั้งหมด ทั้งหมด ทั้งหมด 10.0.0.0/16
การจราจรทั้งหมด ทั้งหมด ทั้งหมด 192.168.10.0/16
การจราจรทั้งหมด ทั้งหมด ทั้งหมด 10.10.0.2/32
OVH-VPN:
$: iptables-บันทึก
*กรอง
: ยอมรับอินพุต [26612:55893110]
:ส่งต่อ ยอมรับ [0:0]
: ยอมรับเอาต์พุต [34036:3715836]
-A ไปข้างหน้า -i wg0 -j ยอมรับ
-A ส่งต่อ -o wg0 -j ยอมรับ
ให้สัญญา
*แนท
: ยอมรับ [0:0]
:อินพุต ยอมรับ [0:0]
:เอาต์พุตยอมรับ [0:0]
:หลังยอมรับ [69:5450]
-A โพสต์ -o enp0s1 -j MASQUERADE
ให้สัญญา
$: เส้นทาง ip
ค่าเริ่มต้นผ่าน 321.321.321.1 dev enp0s1 โปรโต dhcp src 321.321.321.321 เมตริก 100
ลิงก์ขอบเขต 10.0.0.0/16 dev wg0
321.321.321.1 dev enp0s2 proto dhcp ขอบเขตลิงก์ src 321.321.321.321 เมตริก 100
169.254.169.254 ผ่าน 192.168.10.2 dev enp0s2 โปรโต dhcp src 192.168.10.100 เมตริก 100
ลิงก์ขอบเขต 10.10.0.1 dev wg0
192.168.10.0/16 dev enp0s2 ลิงก์ขอบเขตเคอร์เนลโปรโต src 192.168.10.100
$: firewall-cmd --list-all-zones
# ฉันลบบรรทัดว่าง
ภายใน (ใช้งานอยู่)
เป้าหมาย: ค่าเริ่มต้น
icmp-block-inversion: ไม่
อินเทอร์เฟซ:
แหล่งที่มา: 10.0.0.0/59 10.10.0.1/32 123.123.123.123/32
บริการ: dhcpv6-client mdns ssh
พอร์ต: 12345/tcp 12345/udp
สาธารณะ (ใช้งานอยู่)
เป้าหมาย: ค่าเริ่มต้น
icmp-block-inversion: ไม่
อินเทอร์เฟซ:
แหล่งที่มา: 123.123.123.123/32
บริการ: dhcpv6-client ssh
พอร์ต: 12345/tcp 12345/udp
ฉันควรทำอะไรอีกเพื่อให้ใช้งานได้