ฉันกำลังพยายามตั้งค่า AWS Site-to-Site VPN เป็น Digital Ocean ด้วย strongswan
- ฉันสามารถ ping จาก AWS ไปยัง IP ส่วนตัวของอินสแตนซ์ DO ของฉัน
- ฉันไม่สามารถ ping จาก DO ไปยัง IP ส่วนตัวของ AWS
ฉันอนุญาตการรับส่งข้อมูลขาเข้าทั้งหมดสำหรับอินสแตนซ์ AWS ของฉัน และเมื่อฉันเรียกใช้ tcpdump
ฉันเห็นว่าอินสแตนซ์ AWS ของฉันได้รับ ping จาก DO และพยายามตอบกลับ:
22:03:24.901827 IP 169.254.218.10 > ip-172-31-28-61.ec2.internal: คำขอ echo ของ ICMP, id 10, seq 563, ความยาว 64
22:03:24.901860 IP ip-172-31-28-61.ec2.internal > 169.254.218.10: ICMP echo reply, id 10, seq 563, length 64
22:03:25.925918 IP 169.254.218.10 > ip-172-31-28-61.ec2.internal: คำขอ echo ของ ICMP, id 10, seq 564, ความยาว 64
22:03:25.925953 IP ip-172-31-28-61.ec2.internal > 169.254.218.10: ICMP echo reply, id 10, seq 564, length 64
ข้อมูลเพิ่มเติมที่อาจเป็นประโยชน์:
# บนอินสแตนซ์ VPN
$ ip addr
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 ขอบเขตโฮสต์เลย
valid_lft ตลอดไป reserved_lft ตลอดไป
inet6 :: โฮสต์ขอบเขต 1/128
valid_lft ตลอดไป reserved_lft ตลอดไป
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel สถานะกลุ่ม UP เริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 7e:4a:52:24:d1:b4 brd ff:ff:ff:ff:ff:ff
inet x.x.x.x/20 brd x.x.x.255 ขอบเขต global eth0
valid_lft ตลอดไป reserved_lft ตลอดไป
inet 10.10.0.6/16 brd 10.10.255.255 ขอบเขต global eth0
valid_lft ตลอดไป reserved_lft ตลอดไป
ลิงค์ขอบเขต inet6 fe80::7c4a:52ff:fe24:d1b4/64
valid_lft ตลอดไป reserved_lft ตลอดไป
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP กลุ่มเริ่มต้น qlen 1,000
ลิงค์/อีเธอร์ 5e:a1:57:5e:2e:8d brd ff:ff:ff:ff:ff:ff
inet 10.136.197.163/16 brd 10.136.255.255 ขอบเขต global eth1
valid_lft ตลอดไป reserved_lft ตลอดไป
ลิงค์ขอบเขต inet6 fe80::5ca1:57ff:fe5e:2e8d/64
valid_lft ตลอดไป reserved_lft ตลอดไป
4: ip_vti0@NONE: <NOARP> mtu 1480 qdisc noop สถานะ DOWN กลุ่มเริ่มต้น qlen 1000
ลิงค์/ipip 0.0.0.0 brd 0.0.0.0
5: Tunnel1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1419 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1000
ลิงค์/ipip x.x.x.x เพียร์ 52.87.54.117
inet 169.254.218.10 peer 169.254.218.9/30 ขอบเขต global Tunnel1
valid_lft ตลอดไป reserved_lft ตลอดไป
ลิงค์ขอบเขต inet6 fe80::200:5efe:89b8:139e/64
valid_lft ตลอดไป reserved_lft ตลอดไป
เส้นทาง $ ip
ค่าเริ่มต้นผ่าน x.x.x.x dev eth0 proto static
10.10.0.0/16 dev eth0 ลิงก์ขอบเขตเคอร์เนลโปรโต src 10.10.0.6
10.136.0.0/16 dev eth1 ลิงก์ขอบเขตเคอร์เนลโปรโต src 10.136.197.163
x.x.x.0/20 dev eth0 ลิงก์ขอบเขตเคอร์เนลโปรโต src x.x.x.x
169.254.218.8/30 dev Tunnel1 ลิงก์ขอบเขตเคอร์เนลโปรโต src 169.254.218.10
172.31.0.0/16 dev ลิงก์ขอบเขต Tunnel1
$ sudo iptables -t แนท --list
ห่วงโซ่ PREROUTING (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ห่วงโซ่โพสต์ (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
$ iptables -t mangle --list
ห่วงโซ่ PREROUTING (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
MARK esp -- ec2-y-y-y-y.compute-1.amazonaws.com ubuntu-s-1vcpu-1gb-nyc1-01 MARK ตั้ง 0x64
ส่งต่อไปข้างหน้า (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
TCPMSS tcp - ที่ไหนก็ได้ที่แฟล็ก tcp:SYN, RST/SYN TCPMSS หนีบกับ PMTU
Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ห่วงโซ่โพสต์ (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ฉันควรแก้ไขปัญหานี้อย่างไร