====== Škola ======
Na Planině 1393, Praha 4
**Dokuwiki:** http://192.168.0.23/dokuwiki/\\
===== Síť =====
==== Lan škola ====
**Net:** 192.168.0.0/24\\
**Router:** 192.168.0.254:28291\\
Server
**Host:** 192.168.0.3\\
**AD:** 192.168.0.4\\
==== Lan technologie ====
Kamery, WIFI
**Net:** 192.168.77.0/24\\
**CapsMan2:** 192.168.77.10\\
===== WIFI - ověření přes NPS =====
Kontrola obnovy certifikátu: **provedena 02.06.2025** - cerfikát s platností do **18.7.2025**\\
Lze zkontrolovat v uložišti certifikátů pro počítač
{{:private:zakaznici:kop:zakaznici:skola_planina:pasted:20250602-122454.png}}
* NPS a IIS server nainstalovaný na AD serveru\\
* Certifikát bajt.planina.cz přes LE pomocí programu win-acme\\
* V defaultním nastavení se generuje certifikát pro IIS server, v rámci počítače je tento certifikát uložen ve správci certifikátů pro lokální počítač ve složce ''Web Hosting -> Certificates''\\
* Certifikát je potřeba ze složky ''Web Hosting -> Certificates'' překopírovat do složky ''Personal -> Certificates'', to zajišťuje skript ''C:\Data\Scripts\copyCert.cmd'', který se spouští každý den v 21:50. Skript ve složce ''Personal -> Certificates'' smaže všechny certifikáty a nakopíruje tam aktuální certifikát ze složky ''Personal -> Certificates''
* Kontrola obnovy certifikátu je nastavena v Task Scheduler na 9.00 každý den.\\
* V souboru ''"C:\Program Files\win-acme\settings.json"'' je nastavena lhůta pro obovu(''"RenewalDays": 40'') na 40dnů
* Ve složce ''C:\ProgramData\win-acme\acme-v02.api.letsencrypt.org'' se ukládají logy a vydané certifikáty
* Aby fungovala obnova certifikátů, musí být dostupná site http://bajt.planina.cz z internetu - na firewallu(Mikrotik) je NAT pravidlo, toto pravidlo je defaultně vypnuté, ale zapíná se pomocí Scheduleru každý den v 8:59 a vypíná se v 9:02
{{:private:zakaznici:kop:zakaznici:skola_planina:pasted:20250602-164946.png}}
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe C:\Data\Scripts\copyCert.ps1
# Název certifikátu pro kopírování
$certificateSubject = "CN=bajt.planina.cz" # Nahraďte konkrétním názvem nebo substringem předmětu certifikátu
# Načtení certifikátů z úložiště "Web Hosting"
$webHostingStore = New-Object System.Security.Cryptography.X509Certificates.X509Store "WebHosting", "LocalMachine"
$webHostingStore.Open("ReadOnly")
# Vyhledání všech certifikátů odpovídajících zadanému CN a výběr nejnovějšího podle data expirace
$certificates = $webHostingStore.Certificates | Where-Object { $_.Subject -like "*$certificateSubject*" }
$latestCertificate = $certificates | Sort-Object NotAfter -Descending | Select-Object -First 1
if ($latestCertificate -eq $null) {
Write-Host "Certifikát nebyl nalezen v úložišti 'Web Hosting'" -ForegroundColor Red
$webHostingStore.Close()
return
}
Write-Host "Nejnovější certifikát nalezen: $($latestCertificate.Subject) s datem expirace $($latestCertificate.NotAfter)" -ForegroundColor Green
# Otevření cílového úložiště "Personal"
$personalStore = New-Object System.Security.Cryptography.X509Certificates.X509Store "My", "LocalMachine"
$personalStore.Open("ReadWrite")
# Odstranění starších certifikátů s kratší dobou expirace (tj. všech, které nejsou totožné s nejnovějším)
$existingCertificates = $personalStore.Certificates | Where-Object { $_.Subject -like "*$certificateSubject*" }
foreach ($cert in $existingCertificates) {
if ($cert.Thumbprint -ne $latestCertificate.Thumbprint) {
try {
$personalStore.Remove($cert)
Write-Host "Odstraněn starší certifikát: $($cert.Subject) s datem expirace $($cert.NotAfter)" -ForegroundColor Yellow
} catch {
Write-Host "Chyba při odstraňování certifikátu: $($cert.Subject). $_" -ForegroundColor Red
}
}
}
# Přidání nejnovějšího certifikátu do úložiště "Personal", pokud tam ještě není
$exists = $personalStore.Certificates | Where-Object { $_.Thumbprint -eq $latestCertificate.Thumbprint }
if (-not $exists) {
try {
$personalStore.Add($latestCertificate)
Write-Host "Certifikát byl úspěšně zkopírován do úložiště 'Personal'" -ForegroundColor Green
} catch {
Write-Host "Došlo k chybě při kopírování certifikátu: $_" -ForegroundColor Red
}
} else {
Write-Host "Certifikát již existuje v úložišti 'Personal'" -ForegroundColor Cyan
}
# Zavření úložišť
$personalStore.Close()
$webHostingStore.Close()
Na firewallu povolen přístup z sítě 77 na 192.168.0.4(AD kontroler).
**Omezit jen na přístup mezi Capsman2 a AD**
Při testování v Kralupech se mi občas stalo, že se nechtěl připojit NB s W10 na WiFi, pomohl restart NB. Možná by stačilo vypnout a zapnout WIFI modul na NB.\\