- Megjelent: 2024. április 25
A NetworkManager
rendszerszolgáltatás Ubuntu rendszeren lehetővé teszi az eseményekhez kötött szkriptek futtatását a hálózati állapot változásai kapcsán. Ezek a szkriptek, amikor helyesen vannak telepítve és konfigurálva, automatikusan lefutnak bizonyos hálózati események, mint például a VPN kapcsolódás vagy szétkapcsolódás esetén.
Működési Elv
A /etc/NetworkManager/dispatcher.d/
könyvtárban elhelyezett szkripteket a NetworkManager
automatikusan meghívja, amikor a hálózati interfészek állapota változik. Minden szkriptnek két paramétert ad át a NetworkManager
:
-
$1 – Interfész neve: Ez az azonosítója annak a hálózati interfésznek, amely az eseményt kiváltotta, például
eth0
,wlan0
, vagytun0
a VPN esetében. -
$2 – Az interfész állapota: Ez lehet
up
,down
,pre-up
,post-down
, stb. Ezek az állapotok jelzik, hogy mi történik az interfésszel (például csatlakozik, szétkapcsolódik, stb.).
Lépések
-
Fstab beállítások: Ellenőrizze, hogy a
/etc/fstab
fájlban helyesen vannak-e konfigurálva a hálózati meghajtók. Itt meg kell adnia a megfelelő hálózati útvonalakat és opciókat. -
VPN kapcsolat kezelése: A VPN kapcsolatok kezelésére a
NetworkManager
használható, amely támogatja az eseményekhez kötött szkriptek futtatását. -
Szkript készítése: Készítsen egy bash szkriptet, amely a VPN csatlakozás után automatikusan csatolja a hálózati meghajtókat. Ezt a szkriptet helyezze el a
/etc/NetworkManager/dispatcher.d/
könyvtárban.
Példa szkript
Íme egy egyszerű bash szkript, amely a VPN csatlakozáskor ellenőrzi, hogy a hálózati meghajtó csatlakoztatva van-e, és ha nem, akkor csatlakoztatja azt.
#!/bin/bash
INTERFACE=$1 # Az interfész neve, pl. tun0 a VPN-hez
STATUS=$2 # Az interfész állapota, pl. "up"
if [[ "$INTERFACE" == "tun0" && "$STATUS" == "up" ]]; then # Ellenőrizzük, hogy a meghajtó már csatlakoztatva van-e
if ! mount | grep -q '/mnt/my_network_drive'; then # Csatlakoztassa a hálózati meghajtó
mount -a
fi
fi
-
Mentse ezt a szkriptet, például
mount_vpn.sh
néven a/etc/NetworkManager/dispatcher.d/
könyvtárba. -
Állítsa be a szkript futtatási jogosultságait:
sudo chmod +x /etc/NetworkManager/dispatcher.d/mount_vpn.sh
- Tesztelje a szkriptet, hogy helyesen működik-e a VPN csatlakoztatása után.
Szkript Futtatásának Logikája
Amikor például a VPN interfész (tun0
) állapota up
-ra változik (ami azt jelenti, hogy a VPN kapcsolat aktív lett), a NetworkManager
meghívja az összes szkriptet a /etc/NetworkManager/dispatcher.d/
könyvtárban az alábbi paraméterekkel: tun0 up
.
A vpn_mount_drives.sh
szkriptünk így ellenőrizni fogja az átadott interfész nevét és állapotát, és ha azok megfelelnek a feltételeknek (azaz a tun0
interfész up
állapotban van), akkor lefut a csatlakoztatási parancsok sorozata.
Fontos Megjegyzések
-
A szkriptek futtatási jogosultságokkal kell rendelkezniük (
chmod +x
). - A szkriptek futtatásához rendszergazda jogosultságok szükségesek, mivel a hálózati interfészek állapotának kezelése és a fájlrendszerek csatlakoztatása adminisztratív műveletek.
- Az ilyen típusú automatizálásoknál figyelni kell arra, hogy a szkriptek milyen eseményekre reagálnak, és hogy a logika pontosan megfelel-e a kívánt működésnek.
Ez a rendszer nagyon rugalmas, lehetővé téve, hogy a felhasználók testre szabhassák hálózati események kezelését saját igényeiknek megfelelően.