Przejdź do głównej zawartości

Generowanie konfiguracji dla klienta Wireguard - skrypt Powershell

Automatyczne generowanie konfiguracji WireGuard dla klienta na Windows

WireGuard to nowoczesny, lekki i bezpieczny protokół VPN, który zyskuje coraz większą popularność. W tym wpisie pokażę, jak automatycznie generować konfiguracje dla klientów WireGuard na systemie Windows, korzystając z PowerShell.

Problem: Polityka wykonawcza PowerShell

Podczas próby uruchomienia skryptu PowerShell możesz napotkać błąd:

... cannot be loaded because running scripts is disabled on this system.

Ten błąd wynika z domyślnych ustawień polityki wykonawczej (Execution Policy) w PowerShell. Aby go rozwiązać, należy zmienić tę politykę na bardziej elastyczną, np. RemoteSigned:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Po tej zmianie skrypty PowerShell będą mogły być uruchamiane bez problemów. Wiecej na temat polityki wykonawczej w PowerShellu w artykule "Polityka wykonawcza skryptów w PowerShell"

Skrypt do generowania konfiguracji WireGuard

Poniżej znajduje się skrypt PowerShell, który generuje plik konfiguracyjny WireGuard dla klienta. Skrypt przyjmuje dwa parametry:

  • clientIP – adres IP klienta w sieci WireGuard (np. 10.0.0.2/32).
  • AllowedIPs – zakres adresów IP, które klient może routować przez tunel (domyślnie 0.0.0.0/0).

param (
    [string]$clientIP,          # Parametr 1: Adres IP klienta w sieci WireGuard
    [string]$AllowedIPs = "0.0.0.0/0"  # Parametr 2: Dozwolone adresy IP
)

if (-not $clientIP) {
    Write-Host "Błąd: Musisz podać parametr clientIP." -ForegroundColor Red
    exit 1
}

$serverPublicKey = "SERVER_PUBLIC_KEY"  # Klucz publiczny serwera
$serverEndpoint = "SERVER_IP:51820"     # Adres IP i port serwera

$clientPrivateKey = (wg genkey)  # Generowanie klucza prywatnego
$clientPublicKey = ($clientPrivateKey | wg pubkey)  # Generowanie klucza publicznego

$configContent = @"
[Interface]
PrivateKey = $clientPrivateKey
Address = $clientIP
DNS = 8.8.8.8

[Peer]
PublicKey = $serverPublicKey
Endpoint = $serverEndpoint
AllowedIPs = $AllowedIPs
PersistentKeepalive = 25
"@

$configFilePath = "C:\path\to\client_$clientIP.conf"
$configContent | Out-File -FilePath $configFilePath -Encoding ASCII

Write-Host "Konfiguracja została zapisana w $configFilePath" -ForegroundColor Green
    

Jak używać skryptu?

Skrypt można uruchomić z poziomu PowerShell, podając odpowiednie parametry:

.\generate-wireguard-config.ps1 -clientIP "10.0.0.2/32" -AllowedIPs "10.0.0.0/24"

Jeśli nie podasz parametru AllowedIPs, skrypt użyje domyślnej wartości 0.0.0.0/0.

Podsumowanie

Dzięki temu skryptowi możesz szybko i łatwo generować konfiguracje WireGuard dla klientów na systemie Windows. Skrypt jest elastyczny i pozwala na dostosowanie parametrów, takich jak adres IP klienta czy zakres dozwolonych adresów IP. Jeśli masz dodatkowe pytania lub potrzebujesz pomocy, daj znać w komentarzach!

Komentarze

Popularne posty z tego bloga

API SHOPER

Jak korzystać z API Shoper - Kompletny przewodnik 1. Wprowadzenie API Shoper umożliwia zautomatyzowanie wielu operacji w Twoim sklepie internetowym, takich jak zarządzanie produktami, zdjęciami, zamówieniami i wieloma innymi elementami. W tym artykule pokażę Ci krok po kroku, jak połączyć się z API Shoper oraz wykonać podstawowe operacje, takie jak dodawanie produktów, zarządzanie zdjęciami i przypisywanie produktów powiązanych. 2. Autoryzacja - Uzyskanie Access Token Aby korzystać z API Shoper, najpierw musisz uzyskać access token : POST https://twojsklep.shoper.pl/webapi/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=TWOJE_CLIENT_ID&client_secret=TWOJE_CLIENT_SECRET Przykład w PHP: <?php $client_id = 'TWOJE_CLIENT_ID'; $client_secret = 'TWOJE_CLIENT_SECRET'; $ch = curl_init('https://twojsklep.shoper.pl/webapi/oauth/token'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch...

Polityka wykonawcza skryptów w PowerShellu

Polityka wykonawcza (Execution Policy) w PowerShell – co to jest i jak ją zmienić? PowerShell to potężne narzędzie do automatyzacji i zarządzania systemem Windows. Jednak domyślne ustawienia bezpieczeństwa mogą uniemożliwić uruchamianie skryptów. W tym wpisie wyjaśniam, czym jest polityka wykonawcza (Execution Policy), jak ją sprawdzić i zmienić, aby móc swobodnie korzystać z PowerShell. Czym jest polityka wykonawcza (Execution Policy)? Polityka wykonawcza to mechanizm bezpieczeństwa w PowerShell, który kontroluje, jakie skrypty mogą być uruchamiane na systemie. Ma ona na celu zapobieganie przypadkowemu lub złośliwemu uruchomieniu niebezpiecznych skryptów. Dostępne polityki wykonawcze PowerShell oferuje kilka poziomów polityki wykonawczej: Restricted – domyślna polityka. Blokuje wszystkie skrypty PowerShell. Można uruchamiać tylko polecenia wprowadzane bezpośrednio w konsoli. AllSigned – pozwala na uruchamianie tylko skryptów pod...

Automatyczna instalacja Office przez GPO

Automatyczna instalacja Office przez GPO Wprowadzenie W środowisku firmowym, gdzie wiele komputerów pracuje w domenie, często pojawia się potrzeba automatycznej instalacji pakietu Office na stacjach roboczych. Jednym z najwygodniejszych sposobów realizacji tego zadania jest wykorzystanie polityk grupowych (GPO) oraz skryptów instalacyjnych. W tym artykule przeprowadzimy Cię krok po kroku przez cały proces. Problem z GPO - niepotrzebne ponowne uruchamianie instalacji Podczas konfiguracji polityki GPO do instalacji Office, może wystąpić problem, w którym skrypt uruchamia się za każdym razem podczas logowania . Dzieje się tak dlatego, że skrypt umieszczony w lokalizacji: Konfiguracja komputera -> Zasady -> Ustawienia systemu Windows -> Skrypty (Uruchamianie/Zamykanie) -> Uruchamianie ...będzie wykonywany przy każdym starcie systemu, co powoduje ponowną instalację Office. Jak rozwiązać problem? Trzy skuteczne metody 1. Warunkowe sprawdzenie instalacji Dodaj sprawd...