Hallo zusammen,
ein über readscript erzeugtes Script kann nicht wieder auf den Router hochgeladen werden. Es geht hier um Firewall-Regeln eines Lancom 1611 Routers, Firmware 5.06.
Im Attachment ist die Konfigurationsdatei enthalten. Es muß am add-Befehl für die Firewall-Regel "INTERNET_QOS" liegen. In dieser Regel gibt es zwei Aktionen: Verwerfen zu sendender Pakete ab 128 kbit/s global und Verwerfen zu empfangener Paketen ab 2016 kbit/s global.
Der Befehl readscript erzeugt folgende Zeile für die über LANconfig erstellte Firewall-Regel "INTERNET_QOS":
add "INTERNET_QOS" "TCP" "LOCALNET" "%S21,80,443,591,8008,8080 ANYHOST" "INTERNET_QOS0" No 0 Yes No Yes 0 ""
Auffällig ist der Wert für Spalte Action: "INTERNET_QOS0". Das kann nicht stimmen. Das Einlesen des Befehls führt zu Fehlermeldung "Script Error" unter telnet, im LANconfig sieht man, daß in die Aktiontabelle nur Zurückweisen erzeugt wurde.
Entfernt man über LANconfig die Aktion für zu sendende Pakete in obiger Firewall-Regel, wird mit readscript ein korrekter Befehl erzeugt:
add "INTERNET_QOS" "TCP" "LOCALNET" "%S21,80,443,591,8008,8080 ANYHOST" "%Qctds8 @i %Lgrwds2016 @i %D %N" No 0 Yes No Yes 0 ""
Entfernt man die Aktion für zu empfangene Pakete, wird folgender Befehl erzeugt:
add "INTERNET_QOS" "TCP" "LOCALNET" "%S21,80,443,591,8008,8080 ANYHOST" "%Qctds8 @i %Lgtwds128 @i %D %N" No 0 Yes No Yes 0 ""
Dieser Befehl ist ebenfalls korrekt. Weiß jemand, wie man die letzten beiden Befehle zu einem zusammenführt? Wendet man sie nacheinander an, wird nur jeweils eine Aktion übernommen. Ich würde gerne die Regeln für 4 Router per Scripting erzeugen und nicht fehleranfällig per Hand.
Folgendes funktioniert nicht:
add "INTERNET_QOS" "TCP" "LOCALNET" "%S21,80,443,591,8008,8080 ANYHOST" "%Qctds8 @i %Lgtwds128 %Lgrwds2016 @i %D %N" No 0 Yes No Yes 0
Gruß,
Alex
Script-Fehler
Moderator: Lancom-Systems Moderatoren
Script-Fehler
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Hi Alex,
das Problem ist, daß "%Qctds8 @i %Lgtwds128 %Lgrwds2016 @i %D %N" mit 42 Zeichen zu lang ist für die Aktionsspalte, die maximal 40 Zeichen aufnehmen kann. Deshalb lagert LANconfig die Aktion in die Aktionstabelle aus (unter dem Namen "INTERNET_QOS0"). Wenn der Eintrag selbst auch nicht in eine Zeile der Aktionstabelle passt, dann splittet LANconfig diesen in weitere kleinere Einträge auf, die rekursiv aufeinander verweisen.
Da die notwendige Zeile zum Setzen des Eintrags in der Aktionstabelle in deinem Script nicht vorhanden ist, hast du nun eine ungültige Regel und bekommst beim Zurückschreiben die entsprechende Fehlermeldung
Gruß
Backslash
das Problem ist, daß "%Qctds8 @i %Lgtwds128 %Lgrwds2016 @i %D %N" mit 42 Zeichen zu lang ist für die Aktionsspalte, die maximal 40 Zeichen aufnehmen kann. Deshalb lagert LANconfig die Aktion in die Aktionstabelle aus (unter dem Namen "INTERNET_QOS0"). Wenn der Eintrag selbst auch nicht in eine Zeile der Aktionstabelle passt, dann splittet LANconfig diesen in weitere kleinere Einträge auf, die rekursiv aufeinander verweisen.
Da die notwendige Zeile zum Setzen des Eintrags in der Aktionstabelle in deinem Script nicht vorhanden ist, hast du nun eine ungültige Regel und bekommst beim Zurückschreiben die entsprechende Fehlermeldung
Gruß
Backslash
Hallo backslash,
welche Befehlszeilen muß ich dann verwenden oder wie erhalte ich sie?
Mit readscript erhalte ich Folgendes:
welche Befehlszeilen muß ich dann verwenden oder wie erhalte ich sie?
Mit readscript erhalte ich Folgendes:
Code: Alles auswählen
# Head
lang English
flash No
cd /Setup/IP-Router/Firewall/Rules
del *
tab Name Prot. Source
Destination Action
Linked Prio Firewall- VPN-Rule Stateful Rtg-tag Comment
add "DNS_ALLOW" "UDP" "%A192.168.1.10"
"ANYHOST %S53" "%Lcds0 @i %A"
No 0 Yes No Yes 0 ""
add "INTERNET_QOS" "TCP" "LOCALNET"
"%S21,80,443,591,8008,8080 ANYHOST" "INTERNET_QOS0"
No 0 Yes No Yes 0 ""
add "POP_ALLOW" "TCP" "%A192.168.1.10"
"ANYHOST %S110" "%Lcds0 @i %A"
Yes 0 Yes No Yes 0 ""
add "POP_QOS" "TCP" "%A192.168.1.10"
"ANYHOST %S110" "%Lgrwds2016 @i %D %N %Qg
tds16 @i" No 0 Yes No Yes 0 ""
add "SMTP_ALLOW" "TCP" "%A192.168.1.10"
"ANYHOST %S25" "%Lcds0 @i %A"
Yes 0 Yes No Yes 0 ""
add "SMTP_QOS" "TCP" "%A192.168.1.10"
"ANYHOST %S25" "%Qgrds16 @i %Qgtds16 @i"
No 0 Yes No Yes 0 ""
add "ALOW_PING" "ICMP" "LOCALNET"
"ANYHOST %S0" "%Lcds0 @i %A"
No 0 Yes No Yes 0 ""
add "DENY_ALL" "ANY" "LOCALNET"
"ANYHOST" "%Lcds0 @i %R %N"
No 0 Yes No Yes 0 ""
add "INTERNET_ALLOW" "TCP" "LOCALNET"
"%S21,80,443,591,8008,8080 ANYHOST" "%Lcds0 @i %A"
Yes 0 Yes No Yes 0 ""
cd /
flash Yes
# done
exit
Jo und genau deswegen ist das ansich tolle Scripting etwas kastriert. Wäre das nicht der Fall, könnte man in Windeseile mal eben 200 MAC Adressen in eine FW Regel schreiben - so geht das leider nicht, weil man das ansich simple Script entsprechend bearbeiten muß...das Problem ist, daß "%Qctds8 @i %Lgtwds128 %Lgrwds2016 @i %D %N" mit 42 Zeichen zu lang ist für die Aktionsspalte, die maximal 40 Zeichen aufnehmen kann.
*mitdemZaunpfahlwink* das sich da endlich mal was tut beim Regel Management... *BitteBitteBitteBitteBitte*
Gruß
COMCARGRU
Wann zum Teufel werden ALLE PCs grundsätzlich nur noch mit Hardware RAID 1 ausgestattet???