Administrarea routerului: panoul VyManager sau API-ul
Vă puteți administra routerul în două moduri – prin panoul grafic VyManager (cu mouse-ul) sau prin API (programatic). Alegeți ce vi se potrivește: panoul este excelent pentru configurarea vizuală, API-ul este ideal pentru automatizare și pentru sarcinile pe care panoul nu le acoperă încă.
VyManager – panoul grafic
Cel mai simplu mod de a administra routerul este panoul grafic VyManager . Deschideți-l cu butonul Open VyManager de pe pagina routerului – sunteți autentificat automat, fără parolă separată.
Totul se configurează cu mouse-ul:
- Firewall – reguli, grupuri și politici de filtrare a traficului.
- VPN (WireGuard) – pornirea unui tunel și conectarea dispozitivelor.
- NAT și redirecționarea porturilor – publicarea serviciilor în exterior.
- DHCP – intervalele de adrese distribuite în rețelele dumneavoastră.
- Rutare – rute statice, plus BGP și OSPF pentru topologii complexe.
- Interfețele de rețea ale routerului.
Panoul acoperă sarcinile zilnice fără linie de comandă. Pentru orice altceva și pentru automatizare există API-ul – oferă acces la orice setare VyOS, fără limite.
Administrarea prin API
Routerul se configurează printr-un API HTTPS – util pentru automatizare și sarcini punctuale. Mai jos sunt exemple gata de folosit (curl) pentru scenarii comune.
Ce vă trebuie
- Adresa routerului – IP-ul său public (pagina routerului, câmpul Public IP).
- Cheia API – pagina routerului, blocul Router Information, câmpul API Key (butonul Copy).
În exemplele de mai jos: <ROUTER-IP> este IP-ul dumneavoastră public, <API-KEY> este cheia dumneavoastră.
Cum funcționează o cerere
Orice modificare are doi pași:
- Apply – un POST către
/configurecu un set de comenzi (aplicate atomic). - Save – un POST către
/config-file, altfel modificările se pierd la repornirea routerului (vedeți „Salvarea modificărilor” mai jos).
Puteți citi configurația oricând – un POST către /retrieve. Opțiunea -k din curl acceptă certificatul autosemnat al routerului.
1. Citirea configurației
curl -k -X POST "https://<ROUTER-IP>/retrieve" \
--form 'data={"op":"showConfig","path":[]}' \
--form 'key=<API-KEY>'
Pentru a vedea doar o parte, specificați o cale, de exemplu NAT: "path":["nat"], interfețe: "path":["interfaces"].
2. Redirecționarea unui port către un server intern (DNAT)
Trimiteți un port al IP-ului public al routerului către un server din rețeaua privată. Exemplu: portul extern 8080 → serverul 10.0.0.50:80, doar de la IP-ul dumneavoastră 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"}
]'
Apoi salvați (vedeți „Salvarea modificărilor” mai jos). Folosiți numere de reguli de la 1000 în sus ca să nu intre în conflict cu cele automate. Câmpul source.address restricționează accesul la IP-ul dumneavoastră; eliminați-l dacă portul trebuie să fie deschis tuturor.
3. Regulă de firewall
Exemplu: blocarea portului TCP 23 către servere, lăsând restul traficului deschis.
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"}
]'
Linia default-action: accept este importantă – menține funcționarea întregului trafic rămas și blochează doar regula setată. Firewall-ul poate fi configurat și cu mouse-ul în panoul VyManager.
4. VPN WireGuard
Cel mai simplu este panoul VyManager – are configurare WireGuard integrată și generează cheile pentru dumneavoastră. Prin API, configurarea are mai mulți pași: generați cheile pe router, apoi definiți interfața și peer-ul. Structura comenzilor:
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'
Generarea cheilor routerului și ghidul complet se găsesc în documentația VyOS (secțiunea WireGuard).
5. Interval DHCP într-o rețea
Numele rețelei este vizibil în configurație (vedeți „Citirea configurației” mai sus), în forma LAN-eth1, LAN-eth2. Exemplu – distribuirea adreselor din intervalul 10.0.0.100-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. Salvarea modificărilor
După orice /configure:
curl -k -X POST "https://<ROUTER-IP>/config-file" \
--form 'data={"op":"save"}' \
--form 'key=<API-KEY>'
7. Anularea unei reguli
Ștergeți-o complet (de exemplu, redirecționarea portului din secțiunea 2), apoi salvați din nou:
curl -k -X POST "https://<ROUTER-IP>/configure" \
--form 'data={"op":"delete","path":["nat","destination","rule","1000"]}' \
--form 'key=<API-KEY>'
Referință completă
Toate comenzile VyOS, cu exemple pentru fiecare funcție, se găsesc în documentația oficială: docs.vyos.io.