ฉันจำเป็นต้องตั้งค่า VPN แบบไซต์ต่อไซต์ระหว่างเซิร์ฟเวอร์ A และ B โดยที่ฉันจัดการเซิร์ฟเวอร์ A และเซิร์ฟเวอร์ B ได้รับการจัดการโดยลูกค้า
เซิร์ฟเวอร์ A ใช้ Ubuntu 20.04 และฉันใช้ strongswan เพื่อตั้งค่า VPN ในตอนท้าย ฉันใช้ UFW เพื่อจัดการไฟร์วอลล์ของเซิร์ฟเวอร์ A
ที่อยู่ IP สาธารณะของ A: 16.XX.XXX.17
ที่อยู่ IP สาธารณะของ B: 14.XXX.XXX.94
หลังจากทำการเปลี่ยนแปลงการกำหนดค่าที่จำเป็นสำหรับการตั้งค่า VPN และเปิดใช้งานแล้ว ฉันสามารถดูข้อมูลการเข้าสู่ระบบต่อไปนี้ได้ /var/log/syslog
21 มีนาคม 13:58:47 คนงาน 0 charon: 01[ENC] แยกวิเคราะห์ IKE_AUTH การตอบสนอง 1 [ IDr AUTH N(ESP_TFC_PAD_N) SA TSi TSr ]
21 มี.ค. 13:58:47 คนทำงาน 0 charon: 01 [IKE] การรับรองความถูกต้องของ '14.XXX.XXX.94' ด้วยรหัสที่แชร์ล่วงหน้าสำเร็จ
21 มี.ค. 13:58:47 พนักงาน0 charon: 01[IKE] IKE_SA s-to-s[1] ก่อตั้งขึ้นระหว่าง 16.XX.XXX.17[16.XX.XXX.17]...14.XXX.XXX 94[14.XXX.XXX.94]
21 มี.ค. 13:58:47 คนทำงาน 0 charon: 01 [IKE] การจัดตารางเวลาการรับรองความถูกต้องซ้ำในปี 2644
21 มี.ค. 13:58:47 คนทำงาน 0 คน: 01 [IKE] IKE_SA สูงสุดตลอดอายุการใช้งาน 3184 วินาที
21 มีนาคม 13:58:47 คนงาน 0 charon: 01 [IKE] ได้รับ ESP_TFC_PADDING_NOT_SUPPORTED โดยไม่ได้ใช้การเติม ESPv3 TFC
21 มีนาคม 13:58:47 คนงาน 0 charon: 01[CFG] ข้อเสนอที่เลือก: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
21 มี.ค. 13:58:47 คนทำงาน0 charon: 01[IKE] CHILD_SA s-to-s{1} สร้างขึ้นด้วย SPI c97fea32_i f60175ca_o และ TS 10.132.86.142/32 === 10.128.28.96/27
21 มีนาคม 13:58:53 คนงาน 0 charon: 14[NET] ได้รับแพ็กเก็ต: จาก 14.XXX.XXX.94[4500] ถึง 16.XX.XXX.17[4500] (80 ไบต์)
21 มีนาคม 13:58:53 คนงาน 0 charon: 14[ENC] แยกวิเคราะห์คำขอข้อมูล 0 [ ]
21 มี.ค. 13:58:53 คนงาน 0 charon: 14[ENC] สร้างการตอบสนองข้อมูล 0 [ ]
21 มี.ค. 13:58:53 คนงาน 0 charon: 14[NET] ส่งแพ็กเก็ต: จาก 16.XX.XXX.17[4500] ถึง 14.XXX.XXX.94[4500] (80 ไบต์)
21 มีนาคม 13:58:58 worker0 charon: 07[NET] ได้รับแพ็กเก็ต: จาก 14.XXX.XXX.94[4500] ถึง 16.XX.XXX.17[4500] (80 ไบต์)
21 มีนาคม 13:58:58 คนงาน 0 charon: 07[ENC] แยกวิเคราะห์คำขอข้อมูล 1 [ ]
21 มี.ค. 13:58:58 คนงาน 0 charon: 07[ENC] สร้างการตอบสนองข้อมูล 1 [ ]
21 มีนาคม 13:58:58 worker0 charon: 07[NET] ส่งแพ็กเก็ต: จาก 16.XX.XXX.17[4500] ถึง 14.XXX.XXX.94[4500] (80 ไบต์)
21 มีนาคม 13:59:03 คนงาน 0 charon: 05[NET] ได้รับแพ็กเก็ต: จาก 14.XXX.XXX.94[4500] ถึง 16.XX.XXX.17[4500] (80 ไบต์)
ผลลัพธ์ของ สถานะ ipsec
:
สมาคมความปลอดภัย (1 ขึ้น 0 เชื่อมต่อ):
s-to-s[1]: ก่อตั้งเมื่อ 5 นาทีที่แล้ว 16.XX.XXX.17[16.XX.XXX.17]...14.XXX.XXX.94[14.XXX.XXX.94]
s-to-s{1}: ติดตั้ง, TUNNEL, reqid 1, ESP SPI: c97fea32_i f60175ca_o
s-to-s{1}: 10.132.86.142/32 === 10.128.28.96/27
เดอะ สถานะ ufw
สถานะ: ใช้งานอยู่
ถึงการดำเนินการจาก
-- ------ ----
666 LIMIT Anywhere # สำหรับ ssh
62626 อนุญาตทุกที่ # สำหรับ wireguard
ทุกที่ใน pv0 อนุญาตได้ทุกที่
666 (v6) LIMIT Anywhere (v6) # สำหรับ ssh
62626 (v6) อนุญาตทุกที่ (v6) # สำหรับ wireguard
ทุกที่ (v6) ใน pv0 อนุญาตได้ทุกที่ (v6)
เซิร์ฟเวอร์สามารถรับแพ็กเก็ตบนพอร์ต 4500 ได้อย่างไร (ตามบันทึกของ ipsec /var/log/syslog
) โดยที่ฉันไม่ได้เปิดพอร์ตนั้น? ฉันพลาดอะไรไปที่นี่?
ฉันยังไม่ได้สัมผัสตาราง IP โดยตรงเลย
ฉันตรวจสอบโดยใช้เซิร์ฟเวอร์ http อย่างง่ายบนพอร์ต 8000 (โดยใช้ python3 -m http.เซิร์ฟเวอร์
) ที่ฉันไม่สามารถเข้าถึงพอร์ตอื่นๆ ที่ไม่ได้เปิดจากภายนอกเซิร์ฟเวอร์ได้)