• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

ip_fil4.1.33 compileren

tomycat

Member
hallo,
ich habe die suse 10.3 und habe mir die ip_fil4.1.33 runtergeladen.
Sie enthält viele .c Dateien und viele .h Dateien.

Ok, ich kann mit Visual Studio c++ umgehen und habe unter linux mit c keine Programme geschrieben.
Compiliert mit...
cc test.c -o test

das ging wunderbar, jetzt möchte ich die viele c und h Dateien total verändern und kompilieren.Das verändern ist kein Problem, aber ich weis nicht wie ich es kompilieren kann.

Ich brauche einen Tip :)
 
A

Anonymous

Gast
Da gibt es sicherlich zwischen den ganzen .c und .h Files auch eine INSTALL.Linux
und da dürfte in etwa stehen (zumindesdens in .1.10 steht es so)
INSTALL.Linux schrieb:
1. Create the binaries
Code:
 make linux

Wenn ich mir das Paket so anschaue und sehe für wieviel total unterschiedliche Betriebssysteme das geschrieben und konfiguriert ist, und dort auch noch in der Installbeschreibung steht, das du den Kernelquellcode zum komplieren installiert haben musst, na ich weiß ja nicht, dann wirst du meiner Meinung nach mit einem Wissen, Können und Erfahrungen mit und aus "Visual Studio c++" und mit ein bischen "cc" unter Linux ohne jegliche Optionen, nicht besonders weit kommen.

Für größere und umfangreiche eigene Änderungen wirst du wahrscheinlich eine komplette Entwicklungsumgebung benötigen. Schau mal was da bei dir eventuell schon installiert ist, ansonsten musst du da wohl einiges nachinstallieren dürfen. Etwas spezielles möchte ich mangels bessere Einschätzung deiner Programmier- und Projekterfahrung mal nicht abgeben.

Erzähl uns mal lieber was du genau haben willst, wahrscheinlich kann das der Linuxkernel so wie du ihn auf dem System hast auch schon, nur sagen musst du es ihm eben noch.


robi
 
OP
T

tomycat

Member
hi,erst mal danke...
kannst du einen blick reinnehmen...(das wäre super toll) :)
http://coombs.anu.edu.au/~avalon/ip_fil4.1.33.tar.gz

außer der viele c und h Dateien sind viele Verzeichnise.

z.b.
linux und in dem linux sind...
ipfiler-suse
Makefile
minstall
iniscript

ich habe das Devement Suse Studio installiert.

ich will nicht falsches installieren...
make
und dann make install
bin ich auf dem richtigen Weg?
 
A

Anonymous

Gast
lass die Finger davon, das spart die nen Haufen Zeit. Hab jetzt mal in Quellcode geschaut. mit meinen mehr als 12 Jahren Linuxkenntnissen, unzähligen Blicken und Änderungen in irgendwelchen Quellcode von Programmen und dem Kernel selbst würde ich mich zurechtfinden, aber wohl auch erst nach ein paar Tagen.

Auf die Schnelle habe ich nicht viel gesichtet was iptables und der normale Kernel nicht auch so schon schaffen würde.

robi
 
OP
T

tomycat

Member
ok,
trotzdem danke,
sorry bin ein Sturkopf :)

wenn der linux Kernel stimmen würde, was muss ich theoretisch tippen?
dummerweise habe ich ein Buch vor mir. 1000 Seiten socketprogrammieren unter unix, die setzen sogar c und lun ux/unix voraus.

Ich will will will die firewall installieren... :)
 
A

Anonymous

Gast
Ich hab jetzt mal auf einem 10.2 versucht.

Komplilieren ging scheinbar problemlos. : make linux
Auf den 2. Blick sind allerdings schwere Fehler drin.
Paket für Linux bauen bricht dann auch mit Fehler ab. : make install-linux
probehalber laden des Kernelmoduls insmod ./Linux/Linux-2.6.18.8-0.13-default-i686/ipfilter.ko bricht mit Fehler ab:
insmod: error inserting './Linux/Linux-2.6.18.8-0.13-default-i686/ipfilter.ko': -1 Unknown symbol in module
Modulabhängigkeiten die automatisch ein eventuell noch fehlendes Modul für die vermisste Funktion get_random_int() laden würden: sind keine eingetragen.

Fazit des Tests:
Damit ist das Ding für SuSE 10.2 und jemanden der nicht Kernelmodulentwickler ist oder wochenlang Zeit hat im Internet nach einer Lösung zu suchen, Schrott.

Für dich habe ich einen ganz heißen Tipp. Erst mal hier ein bischen schauen und probieren. Und vor allem wie man sowas als Start-Stop-Script in den Bootvorgang einhängt. http://www.tobias-bauer.de/computer/iptables/index.html Hilfe fürs Bootscript gibts uA im Wiki

Dann entweder hier im Forum mal ein bischen suchen, da haben einige schon ihre Eigenbau-Firewall hinterlassen, und selbst etwas damit spielen, oder gleich mal http://www.fwbuilder.org/ auf die großen Werkzeuge losgehen.

robi
 
OP
T

tomycat

Member
ok,danke ich check das mal mit den links und danke dass du den Quelltext herruntergeladen hast. :)
 

framp

Moderator
Teammitglied
robi schrieb:
Erzähl uns mal lieber was du genau haben willst, wahrscheinlich kann das der Linuxkernel so wie du ihn auf dem System hast auch schon, nur sagen musst du es ihm eben noch.
Wenn Du Deinen Sturkopf durchsetzen musst - dann muss das eben sein. Wat mut dat mut ;)

Ansonsten ist die Frage von robi schon berechtigt. Sag uns was Du suchst - und wir sagen Dir ob und wie Du das mit iptables erledigen kannst.
 
OP
T

tomycat

Member
ok,
erstmal thxall :)

ich habe die ganze Nacht nicht schlafen können,weil die firewall nicht so tut,was ich will.

Ich möchte jetzt gerne 2 Gleisig fahren.

Gleis a.
Wegen ipfil, ich gehe in das Verzeichnis ipfil rein und dann in linux, und führe folgendes aus.

./configuriere <-nicht nicht zwingend notwendig, richtig?
make <- ruft NUR das makefile auf und kompiliert es, richtig?
make install wieso? woher weis Suse was gemacht werden muss.

Mal ganz was blödes, ich nehme bestimmte Zeilen von meinem ipfil raus und rufe make,make install auf.
Ich vermute mal sie läuft, blos bestimmte funktionen gehen nicht, ich will sie sowieso die Firewall komplett auseinander nehmen.

Gleis b.
ich links werde ich auf jedenfall reinziehen, ansonsten kennt jemand eine firewall in c geschreiben, die fast nichts kann, die aber auf suse läuft.Das wäre perfekt
 
A

Anonymous

Gast
tomycat schrieb:
ansonsten kennt jemand eine firewall in c geschreiben, die fast nichts kann, die aber auf suse läuft.Das wäre perfekt
Der ganze TCP/IP Kram in UNIX und verwanten Betriebssystemen läuft im Kernel, oder zT noch in Modulen die zum Kernel gehören. Kernelprogrammieren ist jedoch etwas ganz anderes als Programme programmieren, da gibt es für Alles ganz andere Funktionen als bei der Programmierung von Programmen, und von jeder Funktion noch einige Ableitung mit ganz strengen Regeln. Die Programme die aus dem Userspace dort auf diese Kernelmodule zugreifen benutzen eine Vielzahl spezieller IO-Zugriffe, und das Ganze im Netzwerkbereich erfordert eine ganze Menge mehr als ein Stück Democode zum verstehen. Du kommst mit ein bischen C dort nicht weit, im Gegenteil alles was du in C gelernt hast, mit Ausnahme der nackten Syntax, musst du mal ganz schnell vergessen und du scheiterst spätestens beim debugen des ersten Laufzeitfehlers. Und solche Laufzeitfehler in einem Kernelmodul haben die Möglichkeit das Potential und eine gute Wahrscheinlichkeit dir jedesmal den Kernel auszublasen. Glaubs mir, oder auch nicht.

Linux hat das alles schon im Kernel drin und unterstützt zB auch nicht ganz einfache Probleme und Protokolle hervorragend, da wird sich kaum jemand hinsetzen und da noch eine zweite Firewall an die schon vorhandene im Kernel noch zusätzlich dranhängen wollen. Ansonsten musste er wohl auch erst die aus dem Kernel erstmal deaktivieren. Sonst besteht immer die Gefahr das sich 2 gleiche Funktionen gegenseitig behindern oder aufheben, einem Auto baut man auch nicht einen zweiten Motor ein ohne dabei sicher zu stellen das nicht beide gleichzeitig mit Vollast das Auto in gegensätzliche Richtungen antreiben wollen. Damit bekommst du dann aber einen Kernel der nicht mehr von der "Stange" ist, den du zB auch gar nicht einfach updaten könntest. Geht dann bei jedem noch so kleinen Sicherheitspatch alles schön per Hand und immer schön auf eigene Verantwortung. Was meist du wer sich sowas freiwillig antut ;)

robi
 
OP
T

tomycat

Member
thx all,
als ich das Thema erstellt habe, stand ich auf dem höchsten Berg der Welt, jetzt sitze ich im Tal :)
Der Sturkopf hats verstanden :)

Ich hätte nie gedacht, dass die Firewall sooooooooooo verankert ist im System :)
letzte Idee:
Ok, ich setzte meine ip_table so, dass ein Ausenstehender unter nmap ein z.B. Windows 2000 Server sieht und zeigt dass alle Ports offen sind. <-- kann ich dazu ein Grundstein haben. :)

Dann schreibe ich ein Prog in c, dass auf dem Port 21 läuft(kein ftp Server).
 

framp

Moderator
Teammitglied
tomycat schrieb:
... Ok, ich setzte meine ip_table so, dass ein Ausenstehender unter nmap ein z.B. Windows 2000 Server sieht und zeigt dass alle Ports offen sind. <-- kann ich dazu ein Grundstein haben. :)
Kein Rechner hat alle Ports offen. Auch kannst Du mit iptables nur Verbindungen erlauben oder unterbinden - aber nicht simulieren. Genau da liegt das Problem wenn nmap ein W2K erkennen soll. Du musst bestimmte Responses von WIn2K auf bestimmten Ports simulieren wie sie bei WIN2k antworten. Geht sicherlich - aber erfordert ziemlich grossen Simulationsaufwand - und geht nicht mit iptables.
 
Oben