hi!
ich hab folgendes Problem dass ich gern mit shoutcast (streaming server) von 192.168.0.12:8000 (windowskiste die hinter meinem Linux Router steht) ins netz raus möchte.
über http://%24world_ip:9000 sollte dann automatisch der user auf 192.168.0.12:8000 weitergeleitet werden. irgendwie mag mich iptables nicht oder ich mach komplett was falsch.
dachte das geht so:
iptables --table nat -A PREROUTING --in-interface ppp0 --proto tcp --destination-port 9000 --jump DNAT --to-destination 192.168.0.12:8000
iptables --table nat -A PREROUTING --in-interface ppp0 --proto tcp --source-port 9000 --jump DNAT --to-destination 192.168.0.12:8000
weiss wer rat?
lg, Phil.
Iptables again
-
-
also wie ich das verstanden habe brauchst du von den 2 zeilen nur die erste.
das problem liegt vermutlich im forward-table. mit dem dnat befehl änderst du eigentlich nur das ziel des pakets aber es kommt dann nochmals in den/die entsprechenden tables. also in diesem fall kommt es dann nochmals in den forward table und ich vermute dass es dort auch verworfen wird (je nach dem was du erlaubst).
also es fehlt noch was in der richtung:
iptables -A FORWARD -i ppp0 -p tcp -d 192.168.0.12 --dport 8000 -j ACCEPT
ich hab zwar keine ahnung von streaming server, aber bis du dir sicher dass du dazu nich auch noch udp pakete benötigst (würde sich für mich jedenfalls logisch anhören)?
wenn dass alles nichts hilft lass doch mal alle verworfenen paktet mitloggen, dann solltest du leicht erkennen wo das problem liegt:
iptables -A FORWARD -m limit --limit 1/second -j LOG
iptables -A INPUT -m limit --limit 1/second -j LOG -
ich forwarde mit diesem befehl die ports 4660 - 4670 zum rechner 192.168.8.5 weiter. eth0 ist das externe interface (also das zum internet). und das geht auch ganz gut. mit serverbetrieb.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4660:4670 -j DNAT --to 192.168.8.5
-
ja mit
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8100 -j DNAT --to 192.168.0.12:8000
hab ichs auch gemacht.... aber wenn ich dann im browser: http://%24world_ip:8100 angeb tut sich genau nix.... wenn ich http://192.168.0.12:8000 angeb tut sich sehr wohl was.
ich glaub da is einfach die richtung verkehrt in der geroutet wird oder irre ich da?
lg, Phil. -
nachdem ich jetz endgültig auf die vordefinierte firewall verzichten will (redhat 9) versuch ich grad zu analysieren was das ding überhaupt gemacht hat.....
iptables -N RH-Lokkit-0-50-INPUT
iptables -F RH-Lokkit-0-50-INPUT
iptables -A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT
iptables -A RH-Lokkit-0-50-INPUT -p udp -m udp -s 195.58.160.2
--sport 53 -d 0/0 -j ACCEPT
iptables -A RH-Lokkit-0-50-INPUT -p udp -m udp -s 195.58.161.3
--sport 53 -d 0/0 -j ACCEPT
iptables -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --syn -j REJECT
iptables -A RH-Lokkit-0-50-INPUT -p udp -m udp -j REJECT
da wird doch kein schwein draus schlau oder? bitte was zum geier is RH-lokkit-0-50-INPUT ? und wie kann ich das in eine "normale" iptables sprache übersetzen?
lg, Phil.
EDIT:
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
-A RH-Lokkit-0-50-INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
ich glaub die zwei zeilen sind dazu da die ports zu "stealthen"
aber wie mach ich das normalerweise?
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!