Bądź na bieżąco - RSS

ZeroTier na PiKVM – zdalny dostęp do konsoli bez publicznego adresu IP

25 kwietnia, 2026 | Brak Komentarzy | Kategoria: Linux, Porady

ZeroTier na PiKVMZeroTier na PiKVM – zdalny dostęp do konsoli bez publicznego adresu IP

PiKVM jest jednym z tych narzędzi, które najbardziej docenia się dopiero w sytuacji awaryjnej: serwer nie startuje, trzeba wejść do BIOS/UEFI, zmienić kolejność bootowania albo sprawdzić komunikat na ekranie, kiedy zwykły pulpit zdalny już nie działa. Problem zaczyna się wtedy, gdy urządzenie znajduje się za NAT-em, w sieci klienta albo w miejscu, gdzie nie chcemy wystawiać żadnych portów do Internetu.

Jednym z praktycznych rozwiązań jest podłączenie PiKVM do prywatnej sieci ZeroTier. W efekcie administrator łączy się z panelem PiKVM po adresie z wirtualnej sieci, bez przekierowania portów na routerze i bez udostępniania interfejsu WWW publicznie.

Kiedy takie rozwiązanie ma sens?

  • gdy PiKVM pracuje w lokalizacji bez stałego publicznego adresu IP,
  • gdy nie chcemy konfigurować przekierowania portów na routerze,
  • gdy urządzenie ma służyć jako awaryjny dostęp do serwera lub komputera,
  • gdy potrzebujemy prostego dostępu administracyjnego do kilku lokalizacji.

W praktyce jest to podobne do małego, prywatnego VPN-a dla urządzeń administracyjnych. ZeroTier tworzy osobną sieć, a dostęp do PiKVM otrzymują tylko zatwierdzone urządzenia.

Założenia

  • PiKVM z systemem w wersji 2022.06.20 lub nowszej,
  • dostęp do konta w ZeroTier Central,
  • utworzona sieć ZeroTier i znany jej Network ID,
  • dostęp root do PiKVM przez SSH lub web terminal,
  • świadomość, że modyfikujemy usługi systemowe i plik /etc/fstab.

Uwaga: PiKVM zwykle pracuje w trybie tylko do odczytu. To celowe zabezpieczenie przed uszkodzeniem systemu plików przy nagłej utracie zasilania. Dlatego zmiany zaczynamy od komendy rw, a po zakończeniu wracamy do trybu ro.

1. Instalacja pakietu ZeroTier

Logujemy się na PiKVM jako root i przełączamy system plików w tryb zapisu:

rw
pacman -S zerotier-one
systemctl enable --now zerotier-one.service
systemctl stop zerotier-one.service

Usługę uruchamiamy tylko po to, aby wygenerowała swoją tożsamość. Następnie ją zatrzymujemy, ponieważ pliki tożsamości przeniesiemy do trwałej przestrzeni PiKVM.

2. Odczytanie identyfikatora urządzenia

Adres węzła ZeroTier odczytujemy z pliku identity.public:

cat /var/lib/zerotier-one/identity.public | cut -d: -f 1

Otrzymany identyfikator dodajemy w panelu ZeroTier Central do swojej sieci. W nowym panelu można to zrobić przez listę urządzeń sieci, a w starszym panelu przez ręczne dodanie członka lub zatwierdzenie nowego urządzenia.

3. Przeniesienie konfiguracji do trwałej pamięci PiKVM

PiKVM ma specjalną przestrzeń persistent storage, przeznaczoną właśnie na pliki, które mają przetrwać restart. Wykorzystamy ją do przechowania tożsamości ZeroTier.

pst=/var/lib/kvmd/pst/data/zerotier-one

kvmd-pstrun -- mkdir -p "$pst"
kvmd-pstrun -- cp -a /var/lib/zerotier-one/{*.public,*.secret} "$pst"

Następnie tworzymy katalog z konfiguracją sieci i pusty plik <network_id>.conf. Taki plik powoduje dołączenie usługi ZeroTier do wybranej sieci przy starcie.

read -r -p "Podaj Network ID ZeroTier: " NETWORK_ID

kvmd-pstrun -- mkdir -p "$pst/networks.d"
kvmd-pstrun -- touch "$pst/networks.d/$NETWORK_ID.conf"

Opcjonalnie, jeśli chcemy dopuścić konfigurację DNS z ZeroTier, można dodać plik lokalnej konfiguracji dla tej sieci:

kvmd-pstrun -- /bin/sh -c "echo allowDNS=1 > $pst/networks.d/ \
$NETWORK_ID.local.conf"

W środowiskach firmowych warto tę decyzję przemyśleć. DNS z sieci overlay może być przydatny, ale nie zawsze powinien nadpisywać lokalną konfigurację rozwiązywania nazw.

4. Przygotowanie katalogu roboczego ZeroTier jako tmpfs

Usługa ZeroTier standardowo korzysta z katalogu /var/lib/zerotier-one. Chcemy, aby po starcie był to katalog roboczy w pamięci, a właściwe pliki były kopiowane z persistent storage.

rm -rf /var/lib/zerotier-one
mkdir -p /var/lib/zerotier-one

grep -q '^tmpfs /var/lib/zerotier-one ' /etc/fstab || \
echo "tmpfs /var/lib/zerotier-one tmpfs mode=0755 0 0" >> /etc/fstab

mount -a

Komenda mount -a jest ważna, ponieważ od razu montuje nowy wpis z /etc/fstab. Bez tego usługa może wystartować na nieprzygotowanym katalogu.

5. Nadpisanie konfiguracji usługi systemd

Teraz tworzymy drop-in dla usługi ZeroTier:

systemctl edit zerotier-one.service

W edytorze wklejamy:

[Unit]
Requires=var-lib-zerotier\x2done.mount
After=var-lib-zerotier\x2done.mount
ConditionPathIsReadWrite=/var/lib/zerotier-one

[Service]
ExecStartPre=-/usr/bin/find /var/lib/zerotier-one -mindepth 1 -delete
ExecStartPre=/usr/bin/cp -a /var/lib/kvmd/pst/data/zerotier-one/. \
/var/lib/zerotier-one/

Najczęstsza literówka w tym miejscu to wpisanie zerotier-one.zervice zamiast zerotier-one.service. Warto też zwrócić uwagę na kropkę na końcu ścieżki źródłowej w poleceniu cp. Dzięki niej kopiujemy zawartość katalogu, a nie sam katalog jako podkatalog.

Po zapisaniu pliku przeładowujemy systemd:

systemctl daemon-reload

6. Powrót do trybu tylko do odczytu i uruchomienie usługi

ro
systemctl start zerotier-one.service

Stan usługi sprawdzamy poleceniem:

systemctl status zerotier-one.service

Po poprawnym starcie powinniśmy zobaczyć, że przed uruchomieniem usługi wykonują się kroki ExecStartPre, czyli czyszczenie katalogu roboczego i kopiowanie konfiguracji z persistent storage.

7. Sprawdzenie połączenia

Listę sieci ZeroTier sprawdzamy poleceniem:

zerotier-cli listnetworks

Adres IP z interfejsu ZeroTier można odszukać na przykład tak:

ip a | grep zt

Po zatwierdzeniu urządzenia w ZeroTier Central i przydzieleniu adresu IP, panel PiKVM powinien być dostępny z komputera administratora pod adresem z sieci ZeroTier, np.:

https://ADRES_ZEROTIER_PIKVM/

Typowe problemy

  • PiKVM nie pojawia się w ZeroTier Central – sprawdź, czy usługa działa i czy urządzenie ma dostęp do Internetu.
  • Brak adresu IP w ZeroTier – upewnij się, że urządzenie zostało autoryzowane w panelu ZeroTier.
  • Usługa nie startuje po zmianie fstab – sprawdź, czy istnieje katalog /var/lib/zerotier-one i wykonaj mount -a.
  • Po restarcie znika konfiguracja – sprawdź, czy pliki *.public, *.secret i networks.d znajdują się w /var/lib/kvmd/pst/data/zerotier-one.
  • Nie działa DNS z ZeroTier – sprawdź zawartość pliku <network_id>.local.conf i ustawienie allowDNS.

Efekt końcowy

Po wykonaniu konfiguracji PiKVM dołącza do prywatnej sieci ZeroTier automatycznie po starcie. Administrator łączy się z urządzeniem po adresie z sieci overlay, bez publikowania panelu PiKVM w Internecie i bez konfigurowania przekierowań portów.

To dobre rozwiązanie dla serwisowego dostępu awaryjnego, małych serwerowni, komputerów przemysłowych oraz lokalizacji, w których klasyczny VPN jest zbyt ciężki albo nie obejmuje wszystkich urządzeń.

Podsumowanie

ZeroTier na PiKVM nie zastępuje zdrowych zasad bezpieczeństwa, ale może znacząco uprościć dostęp administracyjny. Najważniejsze jest to, aby nie traktować PiKVM jako publicznej strony WWW. Dostęp powinien być ograniczony, konta zabezpieczone mocnym hasłem, a lista członków sieci ZeroTier regularnie kontrolowana.

Warto również zapisać sobie procedurę cofnięcia zmian i testować konfigurację wtedy, gdy mamy jeszcze fizyczny dostęp do urządzenia. PiKVM najczęściej przydaje się wtedy, gdy wszystko inne zawodzi, więc jego konfiguracja powinna być możliwie prosta i powtarzalna.

Źródła

G

Tagi: , ,

Zdalne zarządzanie komputerami? Postaw na PiKVM!

31 maja, 2025 | Brak Komentarzy | Kategoria: Oferta
PiKVM - zdalne zarządzanie komputerem

Dlaczego warto korzystać z PiKVM?

W dzisiejszym świecie zdalna administracja sprzętem IT to standard. Jednak gdy zawodzą klasyczne rozwiązania typu RDP, SSH czy VNC, z pomocą przychodzi PiKVM – niedrogie, otwarte rozwiązanie KVM-over-IP, które umożliwia pełną kontrolę nad komputerem, nawet na poziomie BIOS-u.

Co to jest?

PiKVM to projekt open-source, który zamienia Raspberry Pi w zdalny interfejs KVM (Keyboard, Video, Mouse). Pozwala to na:

  • zdalne włączanie i wyłączanie komputera,
  • dostęp do BIOS-u i instalatora systemu operacyjnego,
  • przesyłanie obrazu w czasie rzeczywistym (HDMI to USB),
  • emulację klawiatury, myszy oraz nośników USB.

Zalety w praktyce

  • Niezależność od systemu operacyjnego – nawet jeśli system się nie uruchamia, nadal masz dostęp.
  • Bezpieczeństwo – szyfrowane połączenia HTTPS i wsparcie dla 2FA.
  • Niskie koszty – oparty na Raspberry Pi, tańszy niż komercyjne rozwiązania KVM.
  • Wsparcie społeczności – ciągły rozwój i dokumentacja dostępna na oficjalnej stronie projektu.

Kto skorzysta?

To idealne narzędzie dla:

  • administratorów IT,
  • firm zarządzających serwerowniami,
  • entuzjastów DIY,
  • każdego, kto potrzebuje niezawodnego dostępu do zdalnych komputerów.

Jak zacząć?

Aby zbudować własny PiKVM, potrzebujesz:

Podsumowanie

PiKVM to nowoczesna odpowiedź na potrzeby zdalnego zarządzania sprzętem. Dzięki swojej funkcjonalności, niskim kosztom i aktywnej społeczności staje się jednym z najlepszych rozwiązań w swojej klasie.

Jeśli chcesz uniezależnić się od zawodnych połączeń sieciowych i mieć realny wpływ na zarządzanie serwerami lub komputerami – wypróbuj PiKVM już dziś!

Linki polecane:

GR

Tagi: , ,

Migracja maszyn wirtualnych z VMware ESXi do Proxmox VE

25 maja, 2024 | Brak Komentarzy | Kategoria: Linux, Porady, Windows
Migracja VMware Proxmox

Wstęp

Migracja maszyn wirtualnych z jednego hypervisora do innego to ważny proces w zarządzaniu IT, umożliwiający lepsze wykorzystanie zasobów i optymalizację kosztów. Proxmox VE, będąc potężnym narzędziem do wirtualizacji, oferuje efektywne środowisko do przenoszenia istniejących instalacji VMware ESXi. Proces ten został przetestowany na takich systemach operacyjnych jak Debian 10, Windows 10 Pro oraz Windows Server 2016 Standard.

Eksportowanie maszyny wirtualnej

Przy użyciu GUI VMware ESXi:

Przejdź do wirtualnej maszyny w drzewie lewym interfejsu VMware ESXi. Wybierz opcje „Actions > Export”. To spowoduje pobranie obrazów dysków i informacji o maszynie wirtualnej w formacie OVF bezpośrednio przez przeglądarkę. Przenieś pobrane pliki do lokalizacji dostępnej dla hosta Proxmox VE.

Przy użyciu CLI na hoście Proxmox VE:

Zainstaluj narzędzie ovftool na hoście Proxmox VE. Ovftool w wersji 4.4 współpracuje z ESXi w wersji 6.5 i 6.7, podczas gdy inne wersje mogą powodować błędy. Użyj polecenia:

ovftool vi://root@<ip-esxi>/<nazwa-maszyny-wirtualnej>

Pamiętaj o konieczności wypakowania archiwów .ova przed kontynuacją.

Importowanie maszyny wirtualnej

Przejdź do linii komend Proxmox VE i użyj polecenia:

qm importovf <VM-ID> <ścieżka/do/pliku.ovf> <storage> 

Na przykład:

qm importovf 200 /tmp/exported-vm.ovf local-lvm

Polecenie utworzy nową maszynę wirtualną używając rdzeni, pamięci oraz VMID z pliku OVF.

Dodatkowe kroki dla gości systemu Windows

Jeśli importujesz maszynę z systemem Windows, musisz dodatkowo wykonać poniższe polecenia, zakładając że ID wirtualnej maszyny to 130:

qm set 130 --bios ovmf

Systemy Windows wymagają sterowników SCSI, więc czasowo użyj interfejsu SATA. W poniższym przykładzie 'scsi0′ powinno być zastąpione napędem, z którego uruchamiany jest Windows:

sed -i 's/scsi0/sata0:/' /etc/pve/qemu-server/130.conf

Podsumowanie

Artykuł ten omawia kroki potrzebne do migracji maszyny wirtualnej z VMware ESXi do Proxmox VE, w tym eksportowanie z VMware oraz importowanie do Proxmox. Dla użytkowników systemu Windows wymagane są dodatkowe kroki konfiguracyjne w celu zapewnienia prawidłowego działania maszyny po migracji.

Pproces może znacznie poprawić efektywność zarządzania zasobami IT, umożliwiając korzystanie z zaawansowanych funkcji Proxmox VE takich jak klastry, wysoka dostępność i zarządzanie zasobami.

GR

Tagi: , , ,

Wirtualizacja KVM – przekierowanie ruchu

6 marca, 2023 | Brak Komentarzy | Kategoria: Bez kategorii, Linux, Porady
Przkierowanie ruchu

Wielokrotnie pisałem o mojej ulubionej wirtualizacji czyli środowisku VMware. Pomimo doświadczeń z innymi rodzajami hostów nadal uważam, że jest to naprawdę bardzo dobrze zrównoważone rozwiązanie. Drugą istotną cechą jest wsparcie techniczne, które pod postacią dokumentacji elektronicznej oraz komentarzy użytkowników jest uporządkowane i pieczołowicie utrzymywane przez samego producenta. Wszystko to sprawia, że nawet jeżeli spotka nas jakiś ezoteryczny problem to od razu wiadomo gdzie szukać rozwiązania.

Jednak jak zwykle życie wymusza często zmiany w rozwiązaniach i ostatnio zmierzyłem się z maszynami wirtualnymi KVM. Posiadając działający i w pełni skonfigurowany serwer zbudowany na bazie np. Debiana, nie ma raczej innego wyjścia chociaż można spróbować tzw. poor man virtualization czyli Virtualbox w trybie headless. Przyznam, że do tej pory mam pod opieką jeden taki wynalazek. Wracając do KVM to warto zaznaczyć, że nawet jeżeli nie lubisz konfiguracji z użyciem komend to możesz zaistalować chociażby pakiet Cockpit i uzyskać tym samym zarządzanie przez webinterface.

Niezależnie w jaki sposób będziemy korzystać z KVM warto zadbać o bezpieczeństwo konfigurując swoje węzły wirtualne w dedykowanej wirtulanej sieci za NATem. W ten sposób odetniemy możliwość bezpośredniego atakowania usług sieciowych. Z kolei na potrzeby chociażby testowania mamy wygodne rozwiązanie na kształt prywatnej sieci lokalnej z dostępem do Internetu.

Załóżmy następnie, że będziemy chcieli wystawić wybraną usługę, może to być np. serwer www na zewnątrz sieci LAN. Powinniśmy użyć mechanizmu forwardowania pakietów pod wskazany wewnętrzny adres IP, na wskazany port. Jest to powszechnie wykorzystywana metoda w wielu domowych (i nie tylko) routerach z firewallem. W tym miejscu dochodzimy do głównego wyzwania bo przecież interfejs sieciowy KVM oraz interfejs fizyczny nie są ze sobą wprost związane. Żeby przekazywać komunikację między jednym a drugim trzeba skorzystać z dodatkowej konfiguracji za pomocą iptables.

Biorąc za przykład przekazywanie ruchu do serwera www (via HTTPS) będą potrzebne dwie reguły:

iptables -t nat -I PREROUTING -p tcp -d 1.2.3.4 --dport 443 / 
-j DNAT --to-destination 10.0.0.1:443
iptables -I FORWARD -m state -d 10.0.0.1/24 /
--state NEW,RELATED,ESTABLISHED -j ACCEPT

Domyślny konfiguracja KVM NAT zapewnia regułę podobną do drugiej linijki, ale pomija stan NEW, który jest niezbędny do akceptacji połączeń przychodzących. W przykładzie 1.2.3.4 jest adresem publicznym (zewnętrznym) zaś 10.0.0.1 adresem prywatnym. Należy je zmienić według potrzeb i konfiguracji własnej sieci.

Dopiero wpisanie z linii poleceń powyższych dwóch komend pozwoli nam skomunikować się z maszyną wirtualną KVM. Jako zadanie domowe polecam sprawdzenie jak można dodoac reguły do konfiguracji tak aby nie trzeb było ich za każdym razem ręcznie podawać po starcie systemu.

MG

Tagi: , , ,