ipp2p บน Debian ใครทำสำเร็จบ้าง แนะด้วยครับผม

ipp2p บน Debian ใครทำสำเร็จบ้าง แนะด้วยครับผม ตอนนี้เท่าที่ลอง โหลด Module ของ ipp2p เข้ามาได้แล้ว แต่ iptables ยังบอกว่าไม่รู้จักอ่ะครับ

คอมไพล์เองใช่ไหมครับ? (ของเดเบียน แพกเกจยังไม่เข้าเลย ตาม Bug #408258)

ได้ install /usr/lib/iptables/libipt_ipp2p.so หรือยังครับ?

หรืออีกทางหนึ่ง ลองเอาแพกเกจใน bug ข้างต้นมา build ดู เพราะเขาทำสำเร็จรูปไว้แล้วน่ะครับ

already member

แล้วเป็นไง บ้างเสี่ย ที ตกลงใช้ได้ป่ะ ipp2p อ่ะครับ

ไม่ได้ใช้อ่ะครับท่านกอล์ฟ ตอนนี้อาศัย ipcop อยู่ Y_Y ส่วนพี่เทพครับ install /usr/lib/iptables/libipt_ipp2p.so Install แล้วครับ ลอง lsmod อยู่ก็เห็น ipp2p โหลดขึ้นมาแล้วครับ แต่ Iptables มันก็ยังไม่รู้จักอยู่ดีอ่ะครับ
รายละเอียดที่มา ตามกระทู้นี้เลยนะครับ
http://www.thaiadmin.org/board/index.php?topic=58657.0

จาก ความเห็นนี้ เห็นบรรทัดนี้แว้บ ๆ:

cat: /usr/src/iptables-1.2.9/Makefile: No such file or directory

ถ้าคอมไพล์ใน debian ด้วย iptables-dev น่าจะต้องกำหนด IPTABLES_SRC=/usr ในคำสั่ง make ด้วยนะครับ เช่น:

$ make IPTABLES_SRC=/usr

เพราะ iptables-dev มันติดตั้ง headers ไว้ที่ /usr/include เลย (ในกระทู้นั้น มันคงพยายามเดา แล้วสุดท้าย ค่า IPTABLES_VERSION จะกลายเป็นค่าว่างเปล่า)

ปล. ที่ผมเคยทำให้ลูกค้ารายหนึ่งไว้ ก็หลายเดือนมาแล้ว จำรายละเอียดไม่ได้แล้ว นี่คือแกะเทียบกับ rules ที่เคยทำไว้น่ะครับ

เพิ่มอีกนิดครับ.. ต้องกำหนด IPTVER ด้วย กันไม่ให้มันพยายามไปอ่าน Makefile เพื่อหา IPTABLES_VERSION:

$ /sbin/iptables --version
iptables v1.3.8
$ make IPTABLES_SRC=/usr IPTVER=1.3.8

ผมทดสอบ
IPP2P: ipp2p-0.8.2
IPTABLES: iptables-1.3.8

ทดลอง Build กับ Kernel สองรุ่น คือ

  • linux-2.6.23-rc4: ตัว Kernel เองมีการเปลี่ยนแปลงโครงสร้างของ sk_buff (Socket Buffer) ยังไม่ได้ตรวจสอบแน่ชัดครับว่า ถูกเปลี่ยนตั้งแต่รุ่น 2.6.22 หรือเปล่า แต่ที่แน่ ๆ เปลี่ยนไปแล้วครับผม และคาดว่าจะมีผลกระทบต่อ ipp2p โดยตรง ที่เห็นชัด ๆ คือ compile ไม่ผ่าน :P ผนวกกับ API ของ Netfilter เปลี่ยนคือ ipt_register_match() กับ ipt_unregister_match() ถูกแทนที่ด้วย ipt_register_table() และ ipt_unregister_table()
  • linux-2.6.21-2: ตัว Kernel มีโครงสร้างของ sk_buff เหมือนที่ ipp2p ถูกออกแบบมา ทำให้ kernel รุ่นนี้ มีปัญหาเฉพาะกับ Netfilter API แต่ถ้าจะแกะกันจริง ๆ คงต้องใช้เวลาเหมือนกัน แต่ก็คงน้อยกว่า Kernel ข้างบน :P

สรุปว่า ... จะ compile ให้ใช้ได้กับ Kernel รุ่นหลัง ๆ นี่ ต้องออกแรงกันหน่อยครับผม
หรือมีใคร ทำ patch แล้ว แจกจ่ายกันหน่อยก็ดีนะครับ
___
Neutron: Linux Addict!

and modification of Makefile:

suply: ld -shared -o libipt_ipp2p.so libipt_ipp2p.o
by: $(CC) -shared -o libipt_ipp2p.so libipt_ipp2p.o

ต้องลองใหม่อีกรอบซักหน่อยและ ^^" ขอบคุณครับ

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้