ฉันมี 3 คลัสเตอร์เครื่องเสมือน (platform1, platform2 และ platform3) และฉันได้เปิดใช้งานการสื่อสาร ipsec tunnel ระหว่างพวกเขาโดยใช้ strongswan (5.6.2) อุโมงค์ดูดีและเชื่อมต่อกัน แต่ดูเหมือนว่ามีปัญหาในการกำหนดเส้นทางการจราจรผ่านอุโมงค์ในทิศทางใดทิศทางหนึ่ง
ด้านล่างนี้เป็นข้อสังเกต
- ในขณะที่พยายาม ping จาก platform1 (192.168.10.1) ไปยัง platform2 (192.168.10.2) แพ็คเก็ตจะสูญหาย
- ในขณะที่พยายาม ping จาก platform2 ไปยัง platform1 มันใช้งานได้ดี
- หลังจากขั้นตอนที่ 2 การ ping จาก platform1 ไปยัง platform2 จะเริ่มทำงาน
รุ่น strongswan: Linux strongSwan U5.6.2/K4.15.0-143-generic
ระบบปฏิบัติการเวอร์ชัน : Ubuntu-18.04
มีความคิด / คำแนะนำใด ๆ เพื่อแก้ไขปัญหาการสื่อสารระหว่าง VMs เพิ่มเติมหรือไม่
ต่อไปนี้เป็นการกำหนดค่าบน platform2 platform1 และ platform3 มีการกำหนดค่าที่คล้ายกัน
เนื้อหาไฟล์โฮสต์
192.168.10.1 แพลตฟอร์ม1
10.79.196.221 platform1-ภายนอก
192.168.10.2 แพลตฟอร์ม2
10.79.199.178 platform2-ภายนอก
192.168.10.3 แพลตฟอร์ม3
10.79.199.212 แพลตฟอร์ม 3-ภายนอก
ต่อไปนี้เป็นการกำหนดค่าบน platform2 Platform1 และ platform3 ก็มีการกำหนดค่าที่คล้ายกันเช่นกัน
ipsec.conf
การตั้งค่าคอนฟิก
charondebug="ทั้งหมด"
รหัสเฉพาะ=ใช่
เชื่อมต่อ platform2-to-platform1
พิมพ์=อุโมงค์
อัตโนมัติ = เริ่มต้น
การแลกเปลี่ยนคีย์=ikev2
ซ้าย=10.79.199.178
leftsubnet=192.168.10.2/32
leftid=@platform2
leftcert=platform2.cert.pem
leftupdown=/home/user/tunnel/sa-updown-handler.sh
ขวา=10.79.196.221
rightsubnet=192.168.10.1/32
rightid=@platform1
เครื่องหมาย=42
ike=aes128-sha256-ecp256!
esp=aes128-sha256!
ก้าวร้าว=ไม่
การป้อนคีย์ = % ตลอดไป
ikelifetime=28800s
อายุการใช้งาน = 3600 วินาที
dpddelay=30 วินาที
dpdtimeout=120 วินาที
dpdaction=รีสตาร์ท
เชื่อมต่อ platform2-to-platform3
พิมพ์=อุโมงค์
อัตโนมัติ = เริ่มต้น
การแลกเปลี่ยนคีย์=ikev2
ซ้าย=10.79.199.178
leftsubnet=192.168.10.2/32
leftid=@platform2
leftcert=platform2.cert.pem
leftupdown=/home/user/tunnel/sa-updown-handler.sh
ขวา=10.79.199.212
rightsubnet=192.168.10.3/32
rightid=@platform3
เครื่องหมาย=42
ike=aes128-sha256-ecp256!
esp=aes128-sha256!
ก้าวร้าว=ไม่
การป้อนคีย์ = % ตลอดไป
ikelifetime=28800s
อายุการใช้งาน = 3600 วินาที
dpddelay=30 วินาที
dpdtimeout=120 วินาที
dpdaction=รีสตาร์ท
สถานะ ipsec
user@platform2:~$ sudo ipsec สถานะทั้งหมด
สถานะของ IKE charon daemon (strongSwan 5.6.2, Linux 4.15.0-143-generic, x86_64):
เวลาทำงาน: 3 วัน ตั้งแต่ 22 ก.ค. 10:47:46 ปี 2021
malloc: sbrk 2695168, mmap 0, ใช้ 1145568, ฟรี 1549600
เธรดผู้ปฏิบัติงาน: 11 จาก 16 ไม่ได้ใช้งาน, 5/0/0/0 ทำงาน, คิวงาน: 0/0/0/0, กำหนดเวลา: 6
ปลั๊กอินที่โหลด: charon aesni aes rc2 sha2 sha1 md4 md5 mgf1 สุ่ม nonce x509 ข้อจำกัดการเพิกถอน pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf ตัวแทน gmp xcbc hmac gcm attr เคอร์เนล-netlink แก้ไขซ็อกเก็ตเริ่มต้น connmark จังหวะขึ้นลง eap-mschapv2 xauth - เคาน์เตอร์ทั่วไป
ที่อยู่ IP ที่รับฟัง:
10.79.199.178
192.168.10.2
การเชื่อมต่อ:
platform2-to-platform1: 10.79.199.178...10.79.196.221 IKEv2, dpddelay=30s
platform2-to-platform1: local: [platform2] ใช้การตรวจสอบสิทธิ์คีย์สาธารณะ
platform2-to-platform1: ใบรับรอง: "C=US, O=MyOrganisation, CN=platform2"
platform2-to-platform1: ระยะไกล: [platform1] ใช้การรับรองความถูกต้องของรหัสสาธารณะ
platform2-to-platform1: child: 192.168.10.2/32 === 192.168.10.1/32 TUNNEL, dpdaction=restart
platform2-to-platform3: 10.79.199.178...10.79.199.212 IKEv2, dpddelay=30s
platform2-to-platform3: local: [platform2] ใช้การตรวจสอบสิทธิ์คีย์สาธารณะ
platform2-to-platform3: ใบรับรอง: "C=US, O=MyOrganisation, CN=platform2"
platform2-to-platform3: ระยะไกล: [platform3] ใช้การตรวจสอบสิทธิ์คีย์สาธารณะ
platform2-to-platform3: child: 192.168.10.2/32 === 192.168.10.3/32 TUNNEL, dpdaction=restart
สมาคมความปลอดภัย (2 ขึ้น 0 เชื่อมต่อ):
platform2-to-platform3[26]: ESTABLISHED 64 minutes ago, 10.79.199.178[platform2]...10.79.199.212[platform3]
platform2-to-platform3[26]: IKEv2 SPI: 25a984a1cd9eb524_i 5be00d6f63ee5974_r* การรับรองความถูกต้องของคีย์สาธารณะอีกครั้งใน 6 ชั่วโมง
platform2-to-platform3[26]: ข้อเสนอ IKE: AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256
platform2-to-platform3{453}: ติดตั้ง, TUNNEL, reqid 26, ESP SPI: cede4a64_i cc6d694d_o
platform2-to-platform3{453}: AES_CBC_128/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, คีย์ใหม่ใน 23 นาที
platform2-to-platform3{453}: 192.168.10.2/32 === 192.168.10.3/32
platform2-to-platform3{454}: ติดตั้ง, TUNNEL, reqid 26, ESP SPI: cc70aa87_i c7e6e2f0_o
platform2-to-platform3{454}: AES_CBC_128/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, คีย์ใหม่ใน 25 นาที
platform2-to-platform3{454}: 192.168.10.2/32 === 192.168.10.3/32
platform2-to-platform3{455}: ติดตั้ง, TUNNEL, reqid 26, ESP SPI: caa9b761_i cead3e1a_o
platform2-to-platform3{455}: AES_CBC_128/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, คีย์ใหม่ใน 25 นาที
platform2-to-platform3{455}: 192.168.10.2/32 === 192.168.10.3/32
platform2-to-platform1[25]: ESTABLISHED 6 ชั่วโมงที่แล้ว 10.79.199.178[platform2]...10.79.196.221[platform1]
platform2-to-platform1[25]: IKEv2 SPI: 25f267ea5b3d7b14_i 63a3d407e92c28a3_r* การตรวจสอบสิทธิ์คีย์สาธารณะอีกครั้งใน 56 นาที
platform2-to-platform1[25]: ข้อเสนอ IKE: AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256
platform2-to-platform1{456}: ติดตั้ง, TUNNEL, reqid 25, ESP SPI: ce279b78_i c94beeaa_o
platform2-to-platform1{456}: AES_CBC_128/HMAC_SHA2_256_128, 0 bytes_i, 0 bytes_o, คีย์ใหม่ใน 29 นาที
platform2-to-platform1{456}: 192.168.10.2/32 === 192.168.10.1/32
การกำหนดค่า
user@platform2:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.79.199.178 netmask 255.255.252.0 ออกอากาศ 10.79.199.255
อีเธอร์ 00:50:56:05:39:88 txqueuelen 1,000 (อีเธอร์เน็ต)
แพ็คเก็ต RX 74096446 ไบต์ 5149048059 (5.1 GB)
ข้อผิดพลาด RX 11265 ลดลง 2 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 167716 ไบต์ 47626811 (47.6 MB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
อุปกรณ์ขัดจังหวะ 16 ฐาน 0x2000
ipsec1: flags=193<UP,RUNNING,NOARP> mtu 1480
inet 192.168.10.2 เน็ตมาสก์ 255.255.255.255
อุโมงค์ txqueuelen 1,000 (อุโมงค์ IPIP)
แพ็คเก็ต RX 123 ไบต์ 10344 (10.3 KB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 256 ไบต์ 21153 (21.1 KB)
ข้อผิดพลาด TX 3 หลุด 0 โอเวอร์รัน 0 พาหะ 3 ชนกัน 0
แท้จริง: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 เน็ตมาสก์ 255.0.0.0
วนซ้ำ txqueuelen 1,000 (วนกลับในเครื่อง)
แพ็คเก็ต RX 241910023 ไบต์ 55152362048 (55.1 GB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 241910023 ไบต์ 55152362048 (55.1 GB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
ตารางเส้นทาง
user@platform2:~$ เส้นทาง -n
ตารางเส้นทางเคอร์เนล IP
เกตเวย์ปลายทาง Genmask ตั้งค่าสถานะการอ้างอิงเมตริก ใช้ Iface
0.0.0.0 10.79.199.253 0.0.0.0 UG 0 0 0 eth0
10.79.196.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ipsec1