Table of Contents

Zarządzanie routerem: panel VyManager lub API

Routerem możesz zarządzać na dwa sposoby – za pomocą graficznego panelu VyManager (metodą „wskaż i kliknij”) lub poprzez API (programowo). Wybierz rozwiązanie, które najlepiej odpowiada Twoim potrzebom: panel doskonale sprawdza się do wygodnej konfiguracji, natomiast API jest idealne do automatyzacji oraz wykonywania operacji, które nie są jeszcze dostępne w panelu.


VyManager – panel graficzny

Najprostszym sposobem zarządzania routerem jest graficzny panel VyManager. Otworzysz go za pomocą przycisku Otwórz VyManager znajdującego się na stronie routera. Logowanie odbywa się automatycznie, więc nie musisz podawać dodatkowego hasła.

Wszystkie ustawienia możesz skonfigurować za pomocą myszy:

  • Zapora sieciowa (Firewall) – reguły, grupy oraz polityki filtrowania ruchu.
  • VPN (WireGuard) – tworzenie tuneli i podłączanie urządzeń.
  • NAT i przekierowanie portów – udostępnianie usług do Internetu.
  • DHCP – konfiguracja zakresów adresów IP przydzielanych w sieciach.
  • Routing – trasy statyczne oraz protokoły BGP i OSPF dla bardziej złożonych topologii sieci.
  • Interfejsy sieciowe routera.

Panel umożliwia wykonywanie codziennych zadań bez korzystania z wiersza poleceń. W przypadku bardziej zaawansowanych operacji oraz automatyzacji możesz skorzystać z API, które zapewnia nieograniczony dostęp do wszystkich ustawień VyOS.


Co będzie potrzebne

  • Adres routera – jego publiczny adres IP (na stronie routera, pole Public IP).
  • Klucz API – znajduje się na stronie routera, w sekcji Router Information, w polu API Key (przycisk Copy).

W poniższych przykładach: <ROUTER-IP> oznacza publiczny adres IP routera, a <API-KEY> oznacza Twój klucz API.

Jak działa żądanie API

Każda zmiana składa się z dwóch etapów:

  1. Zastosowanie zmian – wykonaj żądanie POST do /configure z zestawem poleceń (wszystkie zostaną wykonane atomowo).
  2. Zapis konfiguracji – wykonaj żądanie POST do /config-file. W przeciwnym razie po ponownym uruchomieniu routera wszystkie zmiany zostaną utracone (patrz sekcja „Zapisywanie zmian” poniżej).

Konfigurację możesz odczytać w dowolnym momencie za pomocą żądania POST do /retrieve. Flaga -k w poleceniu curl pozwala zaakceptować samopodpisany certyfikat routera.


1. Odczyt konfiguracji

curl -k -X POST „https://<ROUTER-IP>/retrieve” \ –form 'data={„op”:”showConfig”,”path”:[]}’ \ –form 'key=<API-KEY>’

Aby wyświetlić tylko wybraną część konfiguracji, podaj odpowiednią ścieżkę, np. NAT: „path”:[„nat”], interfejsy: „path”:[„interfaces”].


2. Przekierowanie portu na serwer wewnętrzny (DNAT)

Przekieruj port z publicznego adresu IP routera na serwer w sieci prywatnej. Przykład: port zewnętrzny 8080 → serwer 10.0.0.50:80, dostępny wyłącznie z adresu IP 203.0.113.5.

curl -k -X POST „https://<ROUTER-IP>/configure” –form 'key=<API-KEY>’ –form 'data=[ {„op”:”set”,”path”:[„nat”,”destination”,”rule”,”1000″,”description”],”value”:”web-to-10.0.0.50″}, {„op”:”set”,”path”:[„nat”,”destination”,”rule”,”1000″,”inbound-interface”,”name”],”value”:”eth0″}, {„op”:”set”,”path”:[„nat”,”destination”,”rule”,”1000″,”protocol”],”value”:”tcp”}, {„op”:”set”,”path”:[„nat”,”destination”,”rule”,”1000″,”destination”,”port”],”value”:”8080″}, {„op”:”set”,”path”:[„nat”,”destination”,”rule”,”1000″,”source”,”address”],”value”:”203.0.113.5″}, {„op”:”set”,”path”:[„nat”,”destination”,”rule”,”1000″,”translation”,”address”],”value”:”10.0.0.50″}, {„op”:”set”,”path”:[„nat”,”destination”,”rule”,”1000″,”translation”,”port”],”value”:”80″} ]’

Następnie zapisz konfigurację (patrz sekcja „Zapisywanie zmian” poniżej). Zaleca się używanie numerów reguł 1000 i wyższych, aby uniknąć konfliktów z regułami tworzonymi automatycznie. Pole source.address ogranicza dostęp do wskazanego adresu IP. Usuń je, jeśli port ma być dostępny dla wszystkich.


3. Reguła zapory sieciowej (Firewall)

Przykład: zablokowanie ruchu TCP na porcie 23 do serwerów przy jednoczesnym pozostawieniu całego pozostałego ruchu bez zmian.

curl -k -X POST „https://<ROUTER-IP>/configure” –form 'key=<API-KEY>’ –form 'data=[ {„op”:”set”,”path”:[„firewall”,”ipv4″,”forward”,”filter”,”default-action”],”value”:”accept”}, {„op”:”set”,”path”:[„firewall”,”ipv4″,”forward”,”filter”,”rule”,”100″,”action”],”value”:”drop”}, {„op”:”set”,”path”:[„firewall”,”ipv4″,”forward”,”filter”,”rule”,”100″,”protocol”],”value”:”tcp”}, {„op”:”set”,”path”:[„firewall”,”ipv4″,”forward”,”filter”,”rule”,”100″,”destination”,”port”],”value”:”23″} ]’

Parametr default-action: accept jest istotny, ponieważ pozwala na dalsze działanie całego pozostałego ruchu i blokuje wyłącznie ruch określony przez utworzoną regułę. Zaporę sieciową możesz również skonfigurować za pomocą panelu VyManager.


4. VPN WireGuard

Najprostszym sposobem konfiguracji jest użycie panelu VyManager, który posiada wbudowaną obsługę WireGuard i automatycznie generuje niezbędne klucze. W przypadku API konfiguracja przebiega wieloetapowo: najpierw należy wygenerować klucze na routerze, a następnie skonfigurować interfejs oraz peera. Przykładowa struktura poleceń:

set interfaces wireguard wg0 address '10.10.0.1/24′ set interfaces wireguard wg0 port '51820′ set interfaces wireguard wg0 peer my-laptop public-key '<your device’s public key>’ set interfaces wireguard wg0 peer my-laptop allowed-ips '10.10.0.2/32′

Instrukcję generowania kluczy na routerze oraz pełny opis konfiguracji znajdziesz w dokumentacji VyOS, w sekcji poświęconej WireGuard.


5. Konfiguracja zakresu DHCP

Nazwę sieci możesz odczytać z konfiguracji (patrz sekcja „Odczyt konfiguracji”), np. LAN-eth1 lub LAN-eth2. Poniższy przykład ustawia zakres adresów przydzielanych przez DHCP od 10.0.0.100 do 10.0.0.200:

curl -k -X POST „https://<ROUTER-IP>/configure” –form 'key=<API-KEY>’ –form 'data=[ {„op”:”set”,”path”:[„service”,”dhcp-server”,”shared-network-name”,”LAN-eth1″,”subnet”,”10.0.0.0/24″,”range”,”0″,”start”],”value”:”10.0.0.100″}, {„op”:”set”,”path”:[„service”,”dhcp-server”,”shared-network-name”,”LAN-eth1″,”subnet”,”10.0.0.0/24″,”range”,”0″,”stop”],”value”:”10.0.0.200″} ]’

6. Zapisywanie zmian

Po wykonaniu każdej operacji /configure zapisz konfigurację:

curl -k -X POST „https://<ROUTER-IP>/config-file” \ –form 'data={„op”:”save”}’ \ –form 'key=<API-KEY>’

7. Usuwanie reguły

Aby całkowicie usunąć regułę (np. przekierowanie portu z punktu 2), usuń ją, a następnie ponownie zapisz konfigurację:

curl -k -X POST „https://<ROUTER-IP>/configure” \ –form 'data={„op”:”delete”,”path”:[„nat”,”destination”,”rule”,”1000″]}’ \ –form 'key=<API-KEY>’

Full reference

Wszystkie polecenia VyOS, wraz z przykładami dla każdej funkcji, znajdują się w oficjalnej dokumentacji: docs.vyos.io.