Portforwarding via Commadline

psyke0502

Neuer User
Mitglied seit
28 Feb 2008
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen

ich suche nun schon seit Stunden einen funktionierenden Script für die Portweiterleitung via commandline.

Die rule.sh hab ich bereits probiert. Leider funktioniert die nicht. Alles was kommt ist echo "OK".

Ziel ist es die IP, Port In, Port Out und aktiv / inaktiv via commadline zu steuern.

Ich habe einen gefritzten Speedport 900 mit Freetz Erweitung.

Gibt es vielleicht eine neuer Version der rule.sh oder irgend ein anderes Tool mit dem man das machen kann?

mfg

psyke
 
Halo zusammen

Hat sich erledigt.

Hab es hinbekomen.

Hierfür musst die Rule.sh und die ar7.cfg angepasst werder.

Code:
AR7.cfg
forwardrules = "tcp 0.0.0.0:0 0.0.0.0:0 0 # out",

Diese Templaterule muss in die ar7.cfg eingetragen werden.

rule.sh
Code:
#!/bin/sh
REAL="/var/flash/ar7.cfg"
TEMP="/var/tmp/ar7.tmp"
if [ "$1" != "" ]; then
   echo "Commandline OK! Performing Action"
  else
   echo ""
   echo "Usage: rule [SPort] [DPort] [0|1] [udp|tcp] [ip] [service]"
   echo ""
   echo "[SPort]   = Incoming Port"
   echo "[DPort]   = Outgoing Port"
   echo "[0|1]     = 1 for set, 0 for delete"
   echo "[udp|tcp] = UDP or TCP"
   echo "[ip]      = IP address to forward"
   echo "[service] = Identify"
   echo ""
   echo "sample: rule 22 22 1 tcp 192.168.178.253 SSH"
   exit
fi
#auslesen ob es diesen Eintrag schon gibt
CHECK=`grep -c '"'$4' 0.0.0.0:'$1' '$5':'$2' 0 # '$6'",' /var/flash/ar7.cfg`
if [ "$CHECK" -ge "1" ] && [ "$3" = "1" ]; then
        echo "Eintrag bereits vorhanden. Nichts zu tun!"
        exit
else
        if [ "$3" = "1" ]; then
                echo "Eintrag wird agelegt. Bitte warten..."
        else
                echo "Eintrag wird entfernt. Bitte warten..."
        fi
fi
cat $REAL >$TEMP
#Einfügen
        if [ "$3" = "1" ]; then
        sed -e 's/"tcp 0.0.0.0:0 0.0.0.0:0 0 # out",/"tcp 0.0.0.0:0 0.0.0.0:0 0 # out",\n"'$4' 0.0.0.0:'$1' '$5':'$2' 0 # '$6'",/g' $REAL > $TEMP
        echo 'rule "'$4' 0.0.0.0:'$1' '$5':'$2' 0 # '$6'"; added to ar7.cfg'
        fi
#entfernen
        if [ "$3" = "0" ]; then
        sed -e '/"'$4' 0.0.0.0:'$1' '$5':'$2' 0 # '$6'",/d' < $REAL > $TEMP
        echo 'rule "'$4' 0.0.0.0:'$1' '$5':'$2' 0 # '$6'"; removed from ar7.cfg'
        fi
cat $TEMP >$REAL
rm $TEMP
#Änderungen übernehmen
dsld -I

Falle es einer mal braucht.

mfg

psyke
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.