ส่วนเคอร์เนลที่แสดงสถิติดังกล่าวใน /proc
วิธีระบบไฟล์คือ ที่นั่น:
ถ้า (v == SEQ_START_TOKEN) {
seq_puts(seq, "รายการที่ค้นหาพบว่าใหม่ ไม่ถูกต้อง ละเว้น ลบ delete_list ใส่ insert_failed เลื่อน Early_drop icmp_error คาดหวัง_ใหม่ คาดหวังสร้าง คาดหวัง_ลบ ค้นหา_เริ่มต้นใหม่\n");
กลับ 0;
}
seq_printf(seq, "%08x %08x %08x %08x %08x %08x %08x %08x "
"%08x %08x %08x %08x %08x %08x %08x %08x %08x\n",
nr_conntracks,
0,
st->พบ
0,
st->ไม่ถูกต้อง
st->เพิกเฉย,
0,
0,
st->แทรก
st->insert_failed,
st->ปล่อย,
st->early_drop,
st->ข้อผิดพลาด
st->expect_new,
st->expect_create,
st->expect_delete,
st->search_restart
);
อย่างที่เห็นทุ่ง ค้นหา
(แทนที่ด้วยฟิลด์อื่น ในเมล็ดในภายหลัง) ใหม่
, ลบ
, รายการลบ
แสดง 0 เสมอ: ไม่มีฟีดฟิลด์เหล่านี้
อย่างที่ฉันสงสัยในคำตอบก่อนหน้าของฉัน ("หรืออาจล้าสมัย") ไม่มีสถิติเกี่ยวกับเรื่องนี้ด้วยวิธีการที่เก่ากว่าหรือวิธีการที่ใหม่กว่า
ที่นี่คือ กระทำจากปี 2559 ที่ลบออก (อาจสำหรับเคอร์เนล 4.9):
netfilter: conntrack: ลบสถิติ hotpath ของแพ็กเก็ต
เคาน์เตอร์เหล่านี้นั่งในเส้นทางที่ร้อนแรงและแสดงใน perf โดยเฉพาะอย่างยิ่ง
จริงสำหรับ 'พบ' และ 'ค้นหา' ซึ่งเพิ่มขึ้นสำหรับทุกแพ็กเก็ต
แปรรูป.
ข้อมูลเช่น
ค้นหา=212030105
ใหม่=623431
พบ=333613
ลบ=623327
ดูเหมือนจะไม่เป็นประโยชน์ในปัจจุบัน:
ในระบบที่พบและค้นหาไม่ว่างจะล้นทุก ๆ สองสามชั่วโมง
(นี่คือจำนวนเต็ม 32 บิต) ตัวอื่นๆ ที่ยุ่งกว่าทุกๆ สองสามวัน
สำหรับการดีบักมีวิธีที่ดีกว่า เช่น เป้าหมายการติดตามของ iptables
sysctls บันทึก conntrack ทุกวันนี้เรายังมีเครื่องมือที่สมบูรณ์แบบ
สิ่งนี้จะลบตัวนับสถิติเส้นทางแพ็กเก็ตยกเว้นที่
คาดว่าจะเป็น 0 (หรือใกล้เคียงกับ 0) ในระบบปกติ เช่น
'insert_failed' (การแข่งขันเกิดขึ้น) หรือ 'ไม่ถูกต้อง' (ตัวติดตามโปรโตปฏิเสธ)
สถิติการแทรกจะคงไว้สำหรับกรณี ctnetlink
สถิติที่พบจะถูกเก็บไว้สำหรับการตรวจสอบ tuple-is-taken เมื่อ NAT ต้อง
ตรวจสอบว่าจำเป็นต้องเลือกที่อยู่ต้นทางอื่นหรือไม่
ลงนามโดย: Florian Westphal [email protected]
ลงนามโดย: Pablo Neira Ayuso [email protected]
ทางเลือก
คุณสามารถใช้ คอนแทรค เครื่องมือ (บรรจุใน Ubuntu ที่นั่น) ที่สามารถกำหนดค่าให้บันทึกเหตุการณ์เพื่อจัดเตรียมเฉพาะบันทึกและสถิติ (แทนที่จะใช้หลักสำหรับการเฟลโอเวอร์แบบโปร่งใสระหว่างไฟร์วอลล์หลายตัวในคลัสเตอร์ความพร้อมใช้งานสูง) Ubuntu อาจจัดเตรียมการกำหนดค่าสำหรับสถิติตามค่าเริ่มต้น (หรือในเอกสารประกอบ) นี่คือตัวอย่างในระบบที่ คอนแทรค
บริการกำลังทำงาน:
# conntrackd -s ct; นอน 5; conntrackd -s กะรัต
[Fri Oct 15 08:34:08 2021] (pid=3443753) [คำเตือน] เลิกใช้งานการกำหนดค่า unix backlog โดยไม่สนใจ
สถิติแคช:
การเชื่อมต่อที่ใช้งานอยู่ในปัจจุบัน: 65
สร้างการเชื่อมต่อ: 121807 ล้มเหลว: 0
อัปเดตการเชื่อมต่อ: 116158 ล้มเหลว: 0
การเชื่อมต่อถูกทำลาย: 121742 ล้มเหลว: 0
การจราจรที่ประมวลผล:
0 ไบต์ 0 Pckts
[Fri Oct 15 08:34:13 2021] (pid=3443756) [คำเตือน] เลิกใช้งานการกำหนดค่า unix backlog โดยไม่สนใจ
สถิติแคช:
การเชื่อมต่อที่ใช้งานอยู่ในปัจจุบัน: 68
สร้างการเชื่อมต่อ: 121811 ล้มเหลว: 0
อัปเดตการเชื่อมต่อ: 116163 ล้มเหลว: 0
การเชื่อมต่อถูกทำลาย: 121743 ล้มเหลว: 0
การจราจรที่ประมวลผล:
0 ไบต์ 0 Pckts
เครื่องมือบอก สร้างการเชื่อมต่อ:
เปลี่ยนจาก 121807 เป็น 121811 ฉันเชื่อว่ามันเทียบเท่ากับ ใหม่
ลบฟิลด์ออกจากเคอร์เนล
บันทึก: การจราจรที่ประมวลผล:
แน่นอนสำหรับการสื่อสารไฟร์วอลล์กับไฟร์วอลล์ระหว่างสอง คอนแทรค daemons (ดังนั้นจะเป็น 0 เสมอที่นี่)