Score:0

แพ็กเก็ต Tunnel จะถูกกรองหรือตัดออก รวมถึงแพ็กเก็ตบางอย่าง เช่น BGP

ธง us

ฉันพยายามคิดเรื่องนี้มาระยะหนึ่งแล้ว ตอนนี้ฉันกำลังเสี่ยงโชคอยู่ที่นี่...

ฉันมี VM บางตัวที่ควรสื่อสารกับที่ไม่ใช่ VM มี 2 ​​กรณีการใช้งาน

อย่างแรกคือ BareMetal Machines บนเครือข่ายย่อยที่เราเตอร์ภายนอกนั่งอยู่ อย่างที่สองคือเครื่องที่อยู่ด้านนอกและด้านหลังเกตเวย์ที่เราเตอร์ภายนอกชี้ไป

ดังนั้นเราจึงมีเส้นทางเชื่อมต่อสองเส้นทางนี้:

VM --> เกตเวย์เราเตอร์ภายนอก --> อินเทอร์เน็ตเกตเวย์ --> เกตเวย์ที่อื่น --> เครื่องอื่นบนซับเน็ตนี้

VM --> เกตเวย์เราเตอร์ภายนอก --> อินเทอร์เน็ตเกตเวย์ --> เครื่องเปล่าบนซับเน็ตนี้

เพื่อให้เห็นภาพมากยิ่งขึ้น: เราเตอร์ภายนอกจะมีเกตเวย์เช่นที่ 10.5.1.10 และเซิร์ฟเวอร์ที่จะเข้าถึงอยู่ที่ 10.5.1.80

จนถึงตอนนี้ทุกอย่างเรียบร้อยดี แพ็กเก็ตไหล แต่ไม่ทั้งหมด และที่นี่มันแปลกไปและฉันกำลังค้นหาสาเหตุ

ดังนั้น VM เหล่านี้จึงเรียกใช้ kubernetes และควรเชื่อมต่อกับเครื่องเปล่าอื่นๆ บนเครือข่ายย่อยนั้น เครือข่ายที่ใช้งานคือผ้าดิบ ดังนั้นแพ็กเก็ต BGP จึงถูกถ่ายโอนสิ่งที่แปลกคือแพ็กเก็ตเหล่านั้นไปไม่ถึงเครื่อง Baremetal แต่ทำได้ดีกับเครื่องที่อยู่นอกเครือข่ายย่อยของเราเตอร์ภายนอก ดังนั้นฉันจึงดูข้อมูลและสังเกตว่าแพ็กเก็ตหายไปแล้วบนไฮเปอร์ไวเซอร์ของ VM พวกเขายังคงมองเห็นได้บนอุปกรณ์ประปา แต่หลังจากนั้นพวกเขาก็หายไป

เห็นได้ชัดว่ามีบางอย่างกรองแพ็กเก็ตเหล่านั้นออก คำถามยังคงอยู่ในขณะนี้คือ: ทำไม? ฉันมีการกำหนดค่าบางอย่างผิด ฉันเข้าใจอะไรผิดหรือเปล่า หรือมีวิธีทำให้การตั้งค่าทั้งหมดกลืนแพ็กเก็ตเหล่านั้นหรือไม่ ฉันมีปัญหานี้ btw ยังมีแพ็กเก็ต vxlan ผ้าสักหลาดด้วย….

โดยทั่วไปการตั้งค่าของฉันคือ: openstack ผ่าน kolla, openvswitch, เครือข่ายภายนอกถูกตั้งค่าเป็นเครือข่ายแบบแบน

ฉันตรวจสอบกฎ iptable แล้ว แต่ไม่มีกฎสำหรับซับเน็ตเลย และตามที่อธิบายไว้ก่อนหน้านี้ แพ็กเก็ตที่ไม่ได้กำหนดเส้นทางไปยังเครือข่าย 10.5.0.0/16 แต่เป็นเช่น เครือข่าย 10.50.0.0/16 ซึ่งอยู่นอกศูนย์ข้อมูลนี้ และ openvswitch/openstack ไม่รู้จัก ดังนั้นสิ่งนี้จึงต้องเกี่ยวข้องกับเครือข่ายภายนอกที่กำหนดค่าใน 10.5.0.0/16 ซึ่งเป็นการลบแพ็กเก็ตเหล่านั้นอย่างผิดกฎหมาย

ข้อมูลเพิ่มเติม:

นี่คืออินเทอร์เฟซของ VM ที่แสดงโดย ovs-vctl

    พอร์ต qvo503122c8-15
    ป้ายกำกับ: 1
    อินเตอร์เฟส qvo503122c8-15

วาง tcpdump บนนั้น

tcpdump -i qvo503122c8-15 -vvv | เกรป บีจีพี
tcpdump: กำลังฟัง qvo503122c8-15, ประเภทลิงก์ EN10MB (Ethernet), ขนาดการจับภาพ 262144 ไบต์

ผลลัพธ์ไม่มีอะไรแน่นอน แต่การสื่อสารโดยทั่วไปสามารถมองเห็นได้ที่นั่น มองไปที่อุปกรณ์หลัก พวกเขายังคงอยู่

tcpdump -i qbr503122c8-15 -vvv | เกรป บีจีพี
tcpdump: กำลังฟัง qbr503122c8-15, ประเภทลิงก์ EN10MB (Ethernet), ขนาดการจับภาพ 262144 ไบต์
    10.5.3.44.53969 > 10.15.0.91.bgp: ค่าสถานะ [S], cksum 0x17b7 (ไม่ถูกต้อง -> 0x0748), seq 607368, ชนะ 64860, ตัวเลือก [mss 1410,sackOK,TS val 2138674293 ecr 0,nop,wscale 7] , ความยาว 0
    10.5.3.44.41505 > 10.15.0.92.bgp: ค่าสถานะ [S], cksum 0x17b8 (ไม่ถูกต้อง -> 0x572f), seq 103292561, ชนะ 64860, ตัวเลือก [mss 1410,sackOK,TS val 2567404423 ecr 0,nop,wscale 7] , ความยาว 0
    10.5.3.44.53969 > 10.15.0.91.bgp: ค่าสถานะ [S], cksum 0x17b7 (ไม่ถูกต้อง -> 0xff67), seq 607368, ชนะ 64860, ตัวเลือก [mss 1410,sackOK,TS val 2138676309 ecr 0,nop,wscale 7] , ความยาว 0
    10.5.3.44.49645 > 10.15.0.91.bgp: ค่าสถานะ [S], cksum 0x17b7 (ไม่ถูกต้อง -> 0xb20c), seq 137205467, ชนะ 64860, ตัวเลือก [mss 1410,sackOK,TS val 2138677277 ecr 0,nop,wscale 7] , ความยาว 0
    10.5.3.44.49787 > 10.15.0.92.bgp: ค่าสถานะ [S], cksum 0x17b8 (ไม่ถูกต้อง -> 0x9dee), seq 608997803, ชนะ 64860, ตัวเลือก [mss 1410,sackOK,TS val 2567406383 ecr 0,nop,wscale 7] , ความยาว 0

สำหรับการเปรียบเทียบ นี่คือเครื่องเดียวกัน VM ที่แตกต่างกันก็มีปัญหาเดียวกันและแพ็กเก็ตเหล่านั้นก็หายไป แต่ในกรณีนี้มีบางเครื่องที่อยู่นอกศูนย์ข้อมูลเดียวกัน และเข้าถึงได้ดีบนเครือข่ายย่อย แพ็กเก็ตที่บันทึกที่นี่จะไม่หายไป:

tcpdump -ฉัน qbr2d9b68d1-b7: -vvv | เกรป บีจีพี        
tcpdump: กำลังฟัง qbr2d9b68d1-b7:, ประเภทลิงก์ EN10MB (Ethernet), ขนาดการจับภาพ 262144 ไบต์
    192.168.1.3.58395 > 10.5.0.177.bgp: ค่าสถานะ [P.], cksum 0x0961 (ถูกต้อง), seq 2080765188:2080765207, ack 2634444892, ชนะ 505, ตัวเลือก [nop,nop,TS val 3871674789 ecr 1623 ความยาว 1628], : บีจีพี
    10.5.0.177.bgp > 192.168.1.3.58395: ค่าสถานะ [.], cksum 0xcc82 (ไม่ถูกต้อง -> 0x44c4), seq 1, ack 19, ชนะ 502, ตัวเลือก [nop,nop,TS val 2568187609 ecr 3871674789], ความยาว 0

สิ่งหนึ่งที่ฉันเห็นในตอนนี้: tcpdump ตัวที่สองแสดงว่า VM สื่อสารกับภายนอกผ่านที่อยู่ของตัวเอง ในขณะที่คนอื่น ๆ พยายามสื่อสารกับไอพีลอย แพ็กเก็ต IP แบบลอยดูเหมือนจะถูกกรองออก

us flag
สำหรับฉันนี่ฟังดูเหมือนปัญหาของ MTU ก่อนที่เราจะเปลี่ยนจาก linuxbridge เป็น openvswitch ใน openstack cloud เราสามารถใช้ขนาด MTU เริ่มต้นที่ 1500 สำหรับ VM หลังจากเปลี่ยน เราต้องกำหนดค่า MTU เป็น 1422 สำหรับเครือข่ายแบบบริการตนเอง ซึ่งมีเพียงเครือข่ายผู้ให้บริการเท่านั้นที่ไม่ได้รับผลกระทบจากสิ่งนี้
thurlimann avatar
us flag
mh ฉันไม่ได้คิดถึง MTU b/c ถ้าการสื่อสารส่งต่อไปยังเครือข่ายภายนอก แพ็กเก็ตทั้งหมดจะถูกส่ง ทุกอย่างเชื่อมต่อกับ 40GbE ด้วยแพ็กเก็ตจัมโบ้ MTU ซึ่งคงจะแปลกเล็กน้อยหากในกรณีของเรา MUT เริ่มต้นจะทำงาน แต่ฉันจะมีการทดสอบ
us flag
แต่คุณเขียนว่า "ดังนั้นฉันจึงตรวจสอบข้อมูลและสังเกตเห็นว่าแพ็กเก็ตหายไปแล้วบนไฮเปอร์ไวเซอร์ของ VM พวกเขายังคงมองเห็นได้บนอุปกรณ์ประปา แต่หลังจากนั้นก็หายไป" ที่บอกฉันว่ามีแพ็กเก็ตสูญหายใช่ไหม
thurlimann avatar
us flag
เฉพาะแพ็กเก็ตเหล่านั้นเท่านั้นที่หายไป เหมือนถูกกลั่นกรอง แพ็คเก็ตอื่น ๆ ทั้งหมดไม่เป็นไรดังนั้นแพ็กเก็ต VXLAN และ BGP จึงได้รับผลกระทบ และแพ็กเก็ตที่ไปยังเครือข่ายภายนอกโดยมีเพียงหนึ่งฮอปในเส้นทางจะไม่ได้รับผลกระทบ นั่นหมายความว่าแพ็กเก็ต 10.5.1.15 BGP จะหายไป แพ็กเก็ต 10.15.1.15 BGP จะไม่หายไป และอย่างที่บอก แพ็กเก็ตหายไปก่อนที่มันจะออกจากไฮเปอร์ไวเซอร์
thurlimann avatar
us flag
ทดสอบ MTU ที่ต่ำกว่า ไม่มีความแตกต่าง ไม่เลย ไม่ใช่ MTU
thurlimann avatar
us flag
แพ็กเก็ตหายไป *หลังจาก* อุปกรณ์ TAP ฉันยังคงเห็นแพ็กเก็ตดังกล่าวในอุปกรณ์แตะด้วย tcpdump และนี่ไม่ได้เกี่ยวกับการสื่อสารภายในเครือข่าย แต่เป็นการสื่อสารนอกเครือข่าย vms แต่บนเครือข่ายสาธารณะที่กำหนดค่าสำหรับ openstack

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา