2016-03-23 6 views
0

Ich möchte ein Kernel-Modul schreiben, das einige Funktionen zu Linux iptables hinzufügt. Bevor ich mit der Programmierung meines eigenen Moduls beginne, möchte ich einige Tests durchführen und versuchen, einige Module zu verwenden und sie zu meiner frisch installierten Ubuntu 15.5-Maschine hinzuzufügen. Es bietet die libipt_xx.c, ipt_xx.c und ipt_xx.h, über die ich in einigen Tutorial lesen, dass sie auf diese Weise über die Datei sollte:iptables Kernel-Module erweitern

ipt_xx.c -> /usr/src/linux-headers-4.2.0-16/net/ipv4/netfilter/ 
ipt_xx.h -> /usr/src/linux-headers-4.2.0-16/include/uapi/linux/netfilter_ipv4 
libipt_xx.c -> /usr/local/src/iptables-x.x.x/extensions/ 

Aber ich kann nicht das Verzeichnis/usr/finden local/src/iptables-xxx/Verzeichnis. Wenn ich iptables -V ausführe, habe ich iptables v1.4.21 als Ausgabe, das heißt, ich sollte einen Ordner wie iptables-1.4.21 haben.

Danke für Hilfe.

Antwort

0

Einige der genannten Dateien sind Teil der Linux-Kernel-Quelle. Sie erhalten sie, wenn Sie den Linux-Kernel-Quellcode von einem von mehreren Orten herunterladen. Diese Dateien werden entweder statisch oder in Form von Modulen in den Kernel kompiliert. Dies sind die Dateien in sich:

net/ipv4/netfilter/ 
include/uapi/linux/netfilter_ipv4/ 

Andere Dateien Teil iptables Quellcode sind, die ein User-Space-Anwendung ist. Sie können den Quellcode von Netfilter Git repository erhalten. Dies sind die Dateien in sich:

iptables-x.x.x/extensions/ 
+0

die probleme comme aus der librairie Datei als Benutzerraum apaplication betrachtet, kann ich nicht finden „iptables-xxx/extensions /“ floder und das majoriti des Moduls in einem floder installiert named Xtable, ich lese, dass es von neuen Netfilter verwendet wird, aber die librari-Datei hat nicht den gleichen Namen dort, xt_XXX.so anstelle von libipt_XXX.c, glaubst du, ich shud es da ?? ohne Änderung extention – yassine

+0

@yassine, ich bin mir nicht sicher, was Ihre Frage jetzt ist, aber wenn Sie den Link, den ich für das Netfilter Git Repository gegeben hatte, dann sehen Sie das [** Erweiterungen ** Unterverzeichnis] ​​(http : //git.netfilter.org/iptables/tree/) in der Quellstruktur. Es enthält die gesuchten ** libipt_xx.c ** Dateien. Bitte vergessen Sie nicht, Antworten auf Ihre Fragen zu bewerten. Vielen Dank. – Aleksey

+0

ok, ich habe iptable mit dem apt-get installiert, und ich habe diesen floder nicht erfunden, ich werde versuchen, es manuell zu installieren, danke – yassine