PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : von einer zur anderen netzwerkkarte routen



bcit6k
06.03.2004, 20:22
Hallo,

also, irgend wie bin ich da echt noch nicht dahinter gestiegen, deswegen werd ich mein kleines problem nochmal kurz erläutern und vieliecht kann mir jemand helfen. eins weis ich jetzt schon, wenn das entlich funktioniert werd ich ein kurzes tut schreiben das die anderen die das auch wissen wollen leichter tun!!!

also ich habe eine standleitung, ich muss mich nirgens einwählen nix, einfach das netzwerkkabel reib und geht schon dahin. ich habe einen pc mit zwei netzwerkkarten. die eine (eth1) ist so eingestellt das ich ans internet angeschlossen bin, die andere (eth0) ist die netzwerkkarte mit der ich dann auf das restliche netzwerk gehen möchte.
nun möchte ich folgendes ereichen.

wenn eine anfrage an die netzwerkkarte eth1 kommt und zwar auf das port 80, dann soll sie diese anfrage auf die netzwerkkarte eth0 durchrouten. die netzwerkkarte eth0 soll die anfrage an den px mit der ip 192.168.1.101 weiterleiten. antwortet der pc, also 192.168.1.101 dann soll es möglich seind as er seine daten in das internet zurückschickt, damit so eine komunikation entstehen kann. ich hab das schon so probiert:

iptables -A FORWARD -i eth1 --sport 80 -o eth0 -d 192.168.1.101 --dport 80 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

und ich habe das IP forwarding aktiviert:

echo 1 > /proc/sys/net/ipv4/ip_forward

doch jedes mal wenn ich über den internetexplorer oder einen anderen Browser zugreifen möchte dann bekomme ich nur eine Fehlermeldung des Hostes. Was mche ich verkehrt? hab ich vergessen etwas ein zu stellen, ich werd noch wahnsenig!!!

danke ür die hilfe!

HangLoose
06.03.2004, 20:46
moin moin

was dir fehlt ist das prerouting.



iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101

iptables -A FORWARD -i eth0 -m state --state NEW -p tcp -d 192.168.1.101 --dport 80 -j ACCEPT


Gruß HL

Rainer
16.05.2004, 17:38
Hallo
Ist vielleicht eine blöde frage, aber wo kann ich diese Kommandos reinpacken, damit sie beim start von redhat ausgeführt werden?

danke
rainer

HangLoose
17.05.2004, 06:26
moin

ich kenne zwar red hat nicht. aber im allgemeinen schreibst du diese kommandos in ein shellskript, speicherst dieses unter /etc/init.d und legst dann noch einen link in deinen default runlevel.

ln -s /etc/init.d/deinscript /etc/init.d/rc5.d/S99deinscript


Gruß HL