Archiv verlassen und diese Seite im Standarddesign anzeigen : protweiterleitung iptables
hallo zusammen,
ich habe folgende generelle fragen :
kann ich von meinem netzwerk aus überprüfen, ob eine weiterleitung der prots funktioniert oder muss dies von ausserhalb des netzwerkes erfolgen ?
wenn es nur von ausserhalb geht, habe ich irgendwie die möglichkeit dieses auf dem server zu "kontrollieren" ( iptables -L etc ) ob das weiterleiten eingerichtet ist und funktioniert ?
vielen dank
timon
Hallo,
für Weiterleitung von Ports muss DNAT (Destination NAT) eingerichtet sein. Den genauen Befehl für die Weiterleitung von expliziten Ports kenn ich jetzt auch nicht ad hoc. Aber 'man iptables' ist Dein Freund ;-)
Zur Kontrolle könnte man 'cat /proc/net/ip_conntrack' nehmen. Dort werden alle Verbindungen aufgelistet.
hallo heikop.
thx für die antwort :)
Aber 'man iptables' ist Dein Freund ;-)
joa, wenn man richtig gut englisch kann :) aber jetzt habe ich wieder was zum googlen .
danke
timon
Hallo,
joa, wenn man richtig gut englisch kann aber jetzt habe ich wieder was zum googlen.
Hier gibts auch deutsche Anleitungen ;)
http://www.netfilter.org/documentation/index.html#HOWTO
Gruss
Heiko
ich werde mit deisen iptables noch wahnsinnig. vielleicht kann mir ja jemand helfen . ich habe folgende zwei systeme:
1. server
eth0 (intern) 192.168.20.5
eth1 netzwerkkarte für :
ppp0
2. workstation
eth0 (intern) 192.168.20.50
auf beiden läuft ein apache, auf dem server auf port 80, auf der workstation auf port 8085
ich möchte nur, das mein dynds-acc, wenn er mit port :8085 aufgerufen wird auf die workstation umleitet. diverse prerouting etc haben nicht geholfen bzw funktioniert. mein skript, um die workstation über den server ins inet zu lassen sieht so aus :
#!/bin/sh
#
# rc.firewall-2.4
#
IPTABLES=/sbin/iptables
EXTIF="ppp0"
INTIF="eth0"
/sbin/insmod ip_tables
/sbin/insmod ip_conntrack
/sbin/insmod ip_conntrack_ftp
/sbin/insmod ip_conntrack_irc
/sbin/insmod iptable_nat
/sbin/insmod ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
das funktioniert auch prima.
iptables -t nat -A PREROUTING -p tcp --dport 8085 -i ppp0 \
-j DNAT --to 192.168.20.50:8085
hat keinerlei auswirkung.
iptables -L server :
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning
ACCEPT tcp -- anywhere anywhere tcp dpt:8085 state NEW,RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:8085 state RELATED,ESTABLISHED
ACCEPT all -- workstation anywhere state RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables -L workstation
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere workstation.local state NEW,RELATED,ESTABLISHED tcp spt:8085 dpt:8085
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
das muss doch zu schaffen sein... wenn ich "programme" zum forwarden des ports 8085 benutze, klappt es mit dyndns:8085, allerdings nur bei mir und nicht von ausserhalb dem netzwerk.
ich wäre für anregungen echt dankbar.
gruss
timon
Matzetronic
24.03.03, 20:16
iptables -t nat -A PREROUTING -p tcp --dport 8085 -i ppp0 \
-j DNAT --to 192.168.20.50:8085
scheint soweit i.o., allerdings musst du voher noch eingehenden verkehr auf diesem port erlauben:
iptables -A FORWARD -i ppp0 -p tcp --dport 8085 -j ACCEPT
mfg,
matze
edit: hier der zweizeiler aus meinem paketfilterscript:
$ipt -A FORWARD -i $EXT_DEV -o $INT_DEV -p tcp --dport $tport -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp -i $EXT_DEV --dport $tport -j DNAT --to $adresse:$tport
edit2: menno, wasn heut mit mir los :confused:
setz mal die forward-policy auf accept...
hallo matzetronic,
danke erstmal für deine antwort.. habe den eingehendden verkehr sowohl auf dem server als auch der workstation gemäss deinem posting durchgeführt und dein zweiten edit ( ganz verstanden habe ich den nicht :) ) wie folgt geändert und ausgeführt:
iptables -A FORWARD -i ppp0 -o eth0 -p tcp --dport 8085 -j ACCEPT
funktioniert leider immer noch nicht .
gruss
timon
Matzetronic
25.03.03, 05:57
hi,
möglicherweise dropst du irgendwo vorher, und das paket kommt gar nicht erst bis dahin....
poste mal dein komplettes script
mfg,
matze
guten morgen,
öhh, das skript , welches auf dem server läuft steht oben, auf der workstation habe ich keins.
gruss
timon
hallo!
ich misch mich jetzt einfach mal ein ;)
steht möglicherweise diese zeile:
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
vor dieser:
iptables -A FORWARD -i ppp0 -p tcp --dport 8085 -j ACCEPT
dann wird es wahrscheinlich vorher gedropt!
vg
hi n.d. ,
danke für die einmischung :) die steht definitiv vorher, da die zeile ja im skript ausgeführt wurde und ich alles andere hinterher "manuell" in die bash tippe. wie kann ich diesen denn wieder "rückgangig" machen ?
gruss
timon
Matzetronic
25.03.03, 15:58
denselben befehl eintippen, aber statt -A tippst du -D
mfg,
matze
Matzetronic
25.03.03, 16:04
ich noch mal...
dein konstrukt:
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
läßt ja keine neuen verbindungen von außen zu...
probiere mal meinen zweizeiler (natürlich variablen ersetzen) und setz vorher mal die forward-policy auf accept.
matze
Original geschrieben von Matzetronic
ich noch mal...
dein konstrukt:
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
läßt ja keine neuen verbindungen von außen zu...
So ist es.
probiere mal meinen zweizeiler (natürlich variablen ersetzen) und setz vorher mal die forward-policy auf accept.
Nunja - Abhilfe sollten auch die folgende Zeile schaffen:
iptables -A FORWARD -i ppp0 -p tcp -d 192.168.20.50 --dport 8085 -j ACCEPT
und anstelle der dortigen ESTABLISHED,RELATED-Regel die folgende:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Dann sollte es ebenfalls funktionieren.
Harry
@ all juhu, es klappt ( nachdem ich gelernt habe dass man bei iptables auch die reihenfolge beachten muss :) ) . vielen , vielem dank.
gruss
timon
l
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.