Servus!
Hab den Titel mal komplett auf Englisch gemacht weil mir kein guter deutscher eingefallen ist. Egal. Also, dieser Tipp dient dazu, eine Vielzahl von Ports (auf einem Router) mit Hilfe von iptables an einen Client weiterzuleiten. Man nennt dies Portmapping und ich hab bei Harry's iptables generator schon immer eine Funktion vermisst, die mich einen range im Format anfang:ende angeben lässt. Mit Hilfe der Jungs im IRC* hab ich nun folgendes gebastelt und in das firewall-Skript eingebettet:
Verbesserungsvorschläge sind herzlich willkommen!Code:# PORTMAPPING HOST="192.168.0.12" PORTS="6881 51951:51959" for PT in $PORTS; do if [ $(echo $PT | grep ":") ]; then PTEND=${PT#*:} PT=${PT%:*} else PTEND=$PT fi while [ $PT -le $PTEND ]; do iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport $PT -j DNAT --to-destination $HOST iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport $PT -j SNAT --to-source $LAN_IP iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d $HOST --dport $PT -j ACCEPT PT=$(expr $PT + 1) done done
Gruß,
Thorsten
*=Danke an sirius und echo!
edited by msi: Zeilenumbruch im Script hinzugefügt.
Lesezeichen