3 Skripts zur Erstellung von ACL für einen 3COM 4500G
Weil ich gerade mit einem 3COM 4500G und seinen Eigenheiten herumkämpfe und meine Lösung vielleicht mal jemand anders auch brauchen kann....
Allgemeines zu ACLs auf einem 3COM 4500G gibts hier nachzulesen...
Hier nun 3 selbstgebastelte Tipps, die bei der Erstellung von ACLs hilfreich sein können (speziell, wenn man eine große Menge von VLANs hat...)
Script 1:
3COM_ACL_fuer_1_VLAN_anlegen.vbs
Anmerkung: es wird eine txt-Datei mit den jeweiligen Rules erstellt...
in die CLI kopieren muss man sie noch selber ;-(
Script 2:
Alle_ACLs_als_txt_generieren.vbs
Anmerkung: es werden n- txt-Dateien mit den jeweiligen Rules erstellt...
in die CLI kopieren muss man sie noch selber ;-(
Script 3:
Die Königsklasse - wenn man sich dem Real Men dont click-Karma verschrieben hat
ACLs_per_telnet_auf_3COM_4500G_erstellen.vbs
Anmerkungen:
Dieses Tool
- verbindet Euch mit dem Switch per Telnet auf die CLI
- zeigt Euch die bestehenden ACLs an
- fragt nach einer kurzen Pause, für wieviel VLANs eine ACL erstellt werden soll
- legt anschließend mit ACL Number 300n beginnend die jeweiligen ACLs an (es bleibt die
deny-Regel für das jeweilige Netz ausgespart)
- zeigt Euch abschließend alle vorhandenen ACLs an
Achtung: bestehende ACLs mit der selben Nummer werden überschrieben - daher die Anzeige aller bestehenden ACLs zu Beginn
daher: genau prüfen, bevor ihr die Anzahl der anzulegenden ACLs angebt
Die Auswahl der Schaltfläche "abbruch" legt KEINE ACLs an, dh, der Switch bleibt unverändert...
Falls etwas nicht so ist, wie ihr es wollt, könnt ihr in der CLI mit
die entsprechende wieder löschen
have fun
lg
Edi Pfisterer
Allgemeines zu ACLs auf einem 3COM 4500G gibts hier nachzulesen...
Hier nun 3 selbstgebastelte Tipps, die bei der Erstellung von ACLs hilfreich sein können (speziell, wenn man eine große Menge von VLANs hat...)
Script 1:
3COM_ACL_fuer_1_VLAN_anlegen.vbs
Anmerkung: es wird eine txt-Datei mit den jeweiligen Rules erstellt...
in die CLI kopieren muss man sie noch selber ;-(
VLAN=InputBox ("ACL für welche VLAN?","Input","VLAN")*1
datei= "H:\ADMINISTRATOR\3com\ACLs\3com_VLAN_" & VLAN & ".txt"
'Annahme: Die Server haben 172.16.0.0/24 er Adressen
Anzahl_der_VLANs = 25
'Annahme: ich möchte 25 VLANs
AdminNetz = 19
'Annahme: Die Admins sitzen in 172.16.19.0/24 er Netz
n=0
for i = 1 to Anzahl_der_VLANs
if i = VLAN then i=i+1
if i = AdminNetz then i=i+1
Zeile = zeile & "rule " & n & " deny ip source any destination 172.16." & i & ".0
0.0.0.255" & vbcrlf
n=n+1
Next
'bei Bedarf in folgender Zeile das Hochkomma entfernen:
'Zeile = zeile & "rule permit ip source any destination any" & vbcrlf& vbcrlf
Set fs = CreateObject("Scripting.FileSystemObject")
set dateineu = fs.createtextfile(datei, true)
dateineu.write Zeile
dateineu.close
wscript.echo "Datei erstellt für das VLAN " & VLAN
Script 2:
Alle_ACLs_als_txt_generieren.vbs
Anmerkung: es werden n- txt-Dateien mit den jeweiligen Rules erstellt...
in die CLI kopieren muss man sie noch selber ;-(
Anzahl_der_VLANs=InputBox ("ACL für wie viele VLANs?","Input","VLAN")*1
'Annahme: Die Server haben 172.16.0.0/24 er Adressen
AdminNetz = 19
'Annahme: Die Admins sitzen in 172.16.19.0/24 er Netz
Set fs = CreateObject("Scripting.FileSystemObject")
for k = 1 to Anzahl_der_VLANs
datei= "H:\ADMINISTRATOR\3com\ACLs\3com_VLAN_" & k & "_ACL.txt"
n=0
for i = 1 to Anzahl_der_VLANs
if i = k then i=i+1
if i = AdminNetz then i=i+1
if i <= Anzahl_der_VLANs Then
Zeile = zeile & "rule " & n & " deny ip source any destination 172.16." & i &
".0 0.0.0.255" & vbcrlf
end if
'bei Bedarf in folgender Zeile das Hochkomma entfernen:
'Zeile = zeile & "rule permit ip source any destination any" & vbcrlf& vbcrlf
n=n+1
next
set dateineu = fs.createtextfile(datei, true)
dateineu.write Zeile
dateineu.close
Zeile = ""
Next
wscript.echo "Dateien erstellt für " & Anzahl_der_VLANs & " VLANs erstellt"
Script 3:
Die Königsklasse - wenn man sich dem Real Men dont click-Karma verschrieben hat
ACLs_per_telnet_auf_3COM_4500G_erstellen.vbs
Anmerkungen:
Dieses Tool
- verbindet Euch mit dem Switch per Telnet auf die CLI
- zeigt Euch die bestehenden ACLs an
- fragt nach einer kurzen Pause, für wieviel VLANs eine ACL erstellt werden soll
- legt anschließend mit ACL Number 300n beginnend die jeweiligen ACLs an (es bleibt die
deny-Regel für das jeweilige Netz ausgespart)
- zeigt Euch abschließend alle vorhandenen ACLs an
Achtung: bestehende ACLs mit der selben Nummer werden überschrieben - daher die Anzeige aller bestehenden ACLs zu Beginn
daher: genau prüfen, bevor ihr die Anzahl der anzulegenden ACLs angebt
Die Auswahl der Schaltfläche "abbruch" legt KEINE ACLs an, dh, der Switch bleibt unverändert...
set oShell = CreateObject("WScript.Shell")
oShell.run "cmd.exe"
WScript.Sleep 1000
'
'
'
oShell.SendKeys"telnet 172.16.19.254"
oShell.SendKeys("{Enter}")
WScript.Sleep 1000
oShell.SendKeys"admin"
oShell.SendKeys("{Enter}")
WScript.Sleep 1000
'
'
'
oShell.SendKeys"password" 'HIER MUESST IHR EUER ADMIN-PASSWORT EINTRAGEN
oShell.SendKeys("{Enter}")
WScript.Sleep 500
oShell.SendKeys"system-view"
oShell.SendKeys("{Enter}")
WScript.Sleep 500
'
'
'
oShell.SendKeys"display acl all"
oShell.SendKeys("{Enter}")
WScript.Sleep 5000
Anzahl_der_VLANs=InputBox ("ACL für wie viele VLANs?","Input","VLAN")*1
'Annahme: Die Server haben 172.16.0.0/24 er Adressen
AdminNetz = 19
'Annahme: Die Admins sitzen in 172.16.19.0/24 er Netz
Set fs = CreateObject("Scripting.FileSystemObject")
for k = 1 to Anzahl_der_VLANs
oShell.SendKeys"acl number " & 3000+k
oShell.SendKeys("{Enter}")
WScript.Sleep 500
n=0
for i = 1 to Anzahl_der_VLANs
if i = k then i=i+1
if i = AdminNetz then i=i+1
if i <= Anzahl_der_VLANs Then
oShell.SendKeys"rule " & n & " deny ip source any destination 172.16." & i
& ".0 0.0.0.255"
oShell.SendKeys("{Enter}")
WScript.Sleep 500
end if
n=n+1
next
oShell.SendKeys"quit"
oShell.SendKeys("{Enter}")
WScript.Sleep 5000
Next
oShell.SendKeys"display acl all"
oShell.SendKeys("{Enter}")
WScript.Sleep 500
Falls etwas nicht so ist, wie ihr es wollt, könnt ihr in der CLI mit
undo acl number [nummer der ACL]
have fun
lg
Edi Pfisterer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 152520
Url: https://administrator.de/contentid/152520
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
1 Kommentar