Hálózati mappák automatikus csatlakoztatása VPN-kapcsolat esetén

    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. $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, vagy tun0 a VPN esetében.
    2. $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

    1. 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.

    2. 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.

    3. 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.