Fortigate CLI Bulk Import + Bulk import commando’s
De Fortinet Fortigate is een firewall/router welke sterk in opkomst is wegens zijn veelzijdigheid en goede prijs/kwaliteit verhouding. Vandaag was ik aan het “spelen” met een Fortigate 100D en ik kwam hier een hele handige functie tegen welke me veel tijd heeft bespaard. De “Upload Bulk CLI Command File” onder “Config” – “Advanced” – “Scripts”.
Een van de taken was het aanmaken van 50 nieuwe adressen en deze toevoegen aan een adresgroep. Het handmatig aanmaken van deze adressen is eentonig en kost veel tijd. Via de CLI (Command Line Interface) kan het ook maar qua tijd maakt dit niet heel veel uit. Knippen en plakken werkt wel binnen de CLI maar over het algemeen is dit nogal buggy…en zo ook vanmiddag. Na het tweede plak commando stopte de CLI ermee.
Door wat te Googelen kwam ik erachter dat veel mensen deze problemen ervaren en dat het veel beter zou moeten werken via de “Upload Bulk CLI Command File” optie. En inderdaad. Deze optie werkt superstabiel en heerlijk snel. Het enige wat je moet doen is een plat tekstbestand maken (in Notepad) waarin je exact de commando’s plaatst zoals je deze normaliter in de CLI zou intypen. Upload dit bestand en klaar!
Het maken van een Fortigate CLI Import bestand
Een Fortigate CLI Import bestand maken is aardig wat werk omdat je voor 1 item meerdere commando’s nodig hebt welke op separate regels moet komen. Maar het kan wel snel! Gebruik hiervoor de tovertools van Microsoft Word… het “zoeken en vervangen met jokertekens (reguliere expressie tekens)”.
Stel voor dat je de volgende adressen aan moet maken:
192.168.1.1
192.168.1.2
192.168.1.3
Deze adressen moeten aangemaakt worden met een x32 subnetmask en moeten gekoppeld worden aan interface “port10”. Het volledige commando voor het toevoegen van 1 IP adres ziet er zo uit:
config firewall address edit 192.168.1.1 set subnet 192.168.1.1 255.255.255.255 set associated-interface port10 next |
Wat je kunt doen om deze commando’s per IP adres te laten aanmaken is om in Microsoft Word elke IP adres op een eigen regel te vermelden. Vervolgens open je het “zoeken en vervangen” venster en schakel je “Jokertekens gebruiken” in.
Geef op dat je wilt zoeken naar:
(<*>).(<*>).(<*>).(<*>)
En dat wil je vervangen door:
edit \1.\2.\3.\4^lset subnet \1.\2.\3.\4 255.255.255.255^lset associated-interface port10^lnext
De uitkomst is dan voor alle 3 de IP adressen:
edit 192.168.1.1 set subnet 192.168.1.1 255.255.255.255 set associated-interface port10 next edit 192.168.1.2 set subnet 192.168.1.2 255.255.255.255 set associated-interface port10 next edit 192.168.1.3 set subnet 192.168.1.3 255.255.255.255 set associated-interface port10 next |
See… it’s a bit of magic!
Met (<*>) zoekt u namelijk naar iedere willekeurige combinatie tussen de punten van het IP adres. Deze combinatie wordt opgeslagen in een variabele. De eerste (<*>) is variabele 1 en de (<*>) is variabele 2 etc.
In de “replace” regel roepen we deze waardes / variabelen weer aan door \1 (variabele 1) te gebruiken.
De ^l expressie betekend een nieuwe regel.
Door deze truck toe te passen kunnen we snel een configuratiebestand met commando’s opbouwen van slechts 1 IP lijst.
Voorbeelden van een paar Fortigate commando’s
Het toevoegen van een adres:
config firewall address edit 192.168.1.1 set subnet 192.168.1.1 255.255.255.255 set associated-interface port10 next end |
Het toevoegen van een adres aan de “Interne_adressen” adresgroep
config firewall addrgrp edit "Interne_adressen" set member "192.168.1.1” next end |
Het reserveren van een IP adres in DHCP
config system dhcp reserved-address edit "computer200" set ip 192.168.1.1 set mac 00:08:f3:aa:a2:11 next end |
Toevoegen firewall custom service
config firewall service custom edit "RDP_3391" set category "Remote_Access" set tcp-portrange 3391 next end |
Aanmaken van een VIP regel
config firewall vip edit "VIP_Regel_Poort_1200" set extip 83.240.100.10 set extintf "wan1" set portforward enable set mappedip "192.168.1.1" set extport 1200 set mappedport 1200 next end |
Later meer CLI commando’s! Als jullie een speciaal aspect via CLI willen configureren let me know!