Zum Hauptinhalt springen

Mikrotik if and-Skript: Beispiele und Anwendung

Das RouterOS-Mikro bietet umfangreiche Möglichkeiten zur Automatisierung von Einstellungen und zur Verwaltung von Netzwerkgeräten. Ein wichtiges Werkzeug in diesem System ist das if and-Skript, mit dem Sie Bedingungen für bestimmte Aktionen erstellen können.

Mit den if- und and-Anweisungen können Sie mehrere Bedingungen gleichzeitig überprüfen und einen bestimmten Code ausführen, wenn alle Bedingungen wahr sind. Dadurch können Sie mit dem if and-Skript leistungsstarke und flexible automatisierte Regeln erstellen.

Beispiel für die Verwendung des if and-Skripts:

/interface ethernet set [find name="ether1"] name=ether2

In diesem Beispiel prüft das Skript, ob der Schnittstellenname ether1 ist, und ändert seinen Namen, wenn diese Bedingung erfüllt ist, in ether2. Auf diese Weise können Sie mit dem if and-Skript die Geräteeinstellungen und -einstellungen ganz einfach an bestimmte Bedingungen anpassen.

Dieser Artikel enthält Beispiele für die Verwendung des if and-Skripts in verschiedenen Situationen. Sie erfahren, wie Sie mehrere Bedingungen überprüfen, sie mit and-, or- und Not-Anweisungen kombinieren und das Skript zusammen mit anderen RouterOS-Befehlen verwenden können.

Beispiele für die Verwendung des if and-Skripts in MikroTik

Das if and-Skript ist ein Bedingungsoperator, der eine bestimmte Aktion ausführt, wenn alle angegebenen Bedingungen erfüllt sind.

Im Folgenden finden Sie Beispiele für die Verwendung des if and-Skripts in MikroTik:

Beispiel 1:

Angenommen, wir haben zwei Schnittstellen - ether1 und ether2. Wir möchten eine Firewall-Regel konfigurieren, die den Zugriff nur für eine bestimmte IP-Adresse zulässt und nur dann, wenn beide Schnittstellen verbunden sind. Sie können das if and-Skript verwenden, um den Status von Schnittstellen zu überprüfen und eine Aktion nur auszuführen, wenn beide Bedingungen erfüllt sind:

/ip firewall filter add chain=input in-interface=ether1 src-address=192.168.1.100 action=accept add chain=input in-interface=ether2 src-address=192.168.1.100 action=accept add chain=input in-interface=ether1 action=drop add chain=input in-interface=ether2 action=drop

Beispiel 2:

Angenommen, wir haben einen DHCP-Server, der IP-Adressen an Clients ausgibt, und wir möchten, dass Clients nur eine IP-Adresse aus einem bestimmten Bereich erhalten und gleichzeitig über eine bestimmte Schnittstelle verbunden sind. In diesem Fall können Sie das if and-Skript verwenden, um die Schnittstelle und den IP-Adressbereich zu überprüfen:

/ip dhcp-server network add address=192.168.1.0/24 interface=ether1 add address=192.168.2.0/24 interface=ether2 /ip dhcp-server lease add address=192.168.1.50 mac-address=AA:BB:CC:DD:EE:FF interface=ether1 add address=192.168.2.50 mac-address=AA:BB:CC:DD:EE:FF interface=ether2 /ip dhcp-server add interface=ether1 dhcp-option=0.0.0.0 lease-time=1d disabled=no add interface=ether2 dhcp-option=0.0.0.0 lease-time=1d deaktiviert=nein / IP-Firewall-Filter Kette hinzufügen=Eingang in-Schnittstelle= ether1 src-Adresse=192.168.1.0/24 Aktion=akzeptieren Kette hinzufügen=Eingang in-Schnittstelle=ether2 src-Adresse=192.168.2.0/24 Aktion=akzeptieren Kette hinzufügen=Eingang In-Schnittstelle=ether1 Aktion=Löschen Kette hinzufügen= Eingang in-Schnittstelle= ether2 Aktion=löschen

Это лишь некоторые примеры использования скрипта wenn und в MikroTik. Es kann in vielen anderen Situationen verwendet werden, um Aktionen nur zu überprüfen und auszuführen, wenn mehrere Bedingungen gleichzeitig erfüllt sind.

Bedingte if and-Anweisung in MikroTik - Syntax und Beschreibung

Die Syntax der if and-Anweisung lautet wie folgt:

if (Bedingung1) and (bedingung2) do (Aktion)

Bedingung1 und Bedingung2 sind logische Operatoren oder Vergleiche, die gleichzeitig ausgeführt werden müssen, um eine Aktion auszuführen.

Angenommen, wir haben ein Skript, das den Status der Schnittstelle ether1 und der Schnittstelle ether2 überprüft. Wenn beide Schnittstellen aktiviert sind, führt das Skript bestimmte Aktionen aus:

if ([/interface get ether1 disabled] = no) and ([/interface get ether2 disabled] = no) do

In diesem Beispiel verwendet das Skript den get-Befehl, um den Status der Schnittstellen ether1 und ether2 abzurufen. Wenn beide Schnittstellen nicht deaktiviert sind (disabled = no), führt das Skript bestimmte Aktionen innerhalb der geschweiften Klammern aus.

Mit der if and-Anweisung können Sie mehrere Bedingungen kombinieren, um bestimmte Aktionen auszuführen. Dies ist besonders nützlich in Situationen, in denen mehrere Parameter gleichzeitig überprüft werden müssen, bevor bestimmte Aktionen ausgeführt werden.

Wenn Sie die bedingte if and-Anweisung verwenden, müssen Sie darauf achten, dass die Bedingungen korrekt geschrieben und die Syntax richtig verwendet wird. Fehler in den Bedingungen können dazu führen, dass das Skript nicht korrekt ausgeführt wird.

Verwenden des if and-Skripts zum Konfigurieren der Firewall in MikroTik

Mit der Firewall in MikroTik können Sie den Datenverkehr filtern und Sicherheitsregeln für Ihr Netzwerk festlegen. Mit if and-Skripten können Sie Regeln erstellen, die nur dann ausgeführt werden, wenn bestimmte Bedingungen erfüllt sind.

Sie können beispielsweise Firewall-Regeln so konfigurieren, dass nur von bestimmten IP-Adressen aus auf bestimmte Ports zugegriffen werden kann. Um dies zu tun, können Sie if and-Anweisungen verwenden, um die Bedingungen zu überprüfen.

Beispiel für die Verwendung des if and-Skripts
/ip firewall filter add chain=input src-address=192.168.1.0/24 dst-port=80 protocol=tcp action=accept /ip firewall filter add chain=input src-address=192.168.1.0/24 dst-port=443 protocol=tcp action=accept /ip firewall filter add chain=input src-address=192.168.1.0/24 dst-port=22 protocol=tcp action=accept

In diesem Beispielskript if and werden Firewall-Regeln hinzugefügt, um nur IP-Adressen im Bereich 192.168.1.0/24 Zugriff auf die Ports 80, 443 und 22 zu ermöglichen. Wenn die IP-Adresse des Clients nicht mit diesem Bereich übereinstimmt, wird der Zugriff auf die Ports verweigert.

Mit dem if and-Skript können Sie daher flexible und genaue Firewall-Regeln in MikroTik erstellen, mit denen Sie den Zugriff auf Ihr Netzwerk von verschiedenen IP-Adressen aus steuern und einschränken können.