Maršrutizatoriaus valdymas: VyManager skydelis arba API
Maršrutizatorių galite valdyti dviem būdais – per grafinį skydelį VyManager (pele) arba per API (programiškai). Rinkitės, kas jums patogiau: skydelis puikiai tinka vizualiai konfigūracijai, API – automatizavimui ir užduotims, kurių skydelis dar neapima.
VyManager – grafinis skydelis
Paprasčiausias būdas valdyti maršrutizatorių yra grafinis skydelis VyManager . Atidarykite jį mygtuku Open VyManager maršrutizatoriaus puslapyje – prisijungsite automatiškai, atskiro slaptažodžio nereikia.
Viskas konfigūruojama pele:
- Firewall – taisyklės, grupės ir srauto filtravimo politikos.
- VPN (WireGuard) – tunelio sukūrimas ir jūsų įrenginių prijungimas.
- NAT ir prievadų peradresavimas – paslaugų paskelbimas išorėje.
- DHCP – adresų intervalai, išduodami jūsų tinkluose.
- Maršrutizavimas – statiniai maršrutai, taip pat BGP ir OSPF sudėtingoms topologijoms.
- Maršrutizatoriaus tinklo sąsajos.
Skydelis apima kasdienes užduotis be komandinės eilutės. Viskam kitam ir automatizavimui yra API – jis suteikia prieigą prie bet kurio VyOS nustatymo be apribojimų.
Valdymas per API
Maršrutizatorius konfigūruojamas per HTTPS API – patogu automatizavimui ir vienkartinėms užduotims. Toliau pateikti paruošti pavyzdžiai (curl) dažniems scenarijams.
Ko jums reikės
- Maršrutizatoriaus adreso – jo viešojo IP (maršrutizatoriaus puslapis, laukas Public IP).
- Jūsų API rakto – maršrutizatoriaus puslapis, blokas Router Information, laukas API Key (mygtukas Copy).
Toliau pateiktuose pavyzdžiuose: <ROUTER-IP> yra jūsų viešasis IP, <API-KEY> yra jūsų raktas.
Kaip veikia užklausa
Bet koks pakeitimas atliekamas dviem žingsniais:
- Apply – POST į
/configuresu komandų rinkiniu (taikoma atomiškai). - Save – POST į
/config-file, kitaip pakeitimai bus prarasti persikrovus maršrutizatoriui (žr. „Pakeitimų išsaugojimas“ toliau).
Konfigūraciją galite perskaityti bet kada – POST į /retrieve. Parinktis -k curl priima maršrutizatoriaus savarankiškai pasirašytą sertifikatą.
1. Konfigūracijos skaitymas
curl -k -X POST "https://<ROUTER-IP>/retrieve" \
--form 'data={"op":"showConfig","path":[]}' \
--form 'key=<API-KEY>'
Norėdami peržiūrėti tik dalį, nurodykite kelią, pavyzdžiui, NAT: "path":["nat"], sąsajas: "path":["interfaces"].
2. Prievado peradresavimas į vidinį serverį (DNAT)
Nukreipkite maršrutizatoriaus viešojo IP prievadą į serverį privačiame tinkle. Pavyzdys: išorinis prievadas 8080 → serveris 10.0.0.50:80, tik iš jūsų 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"}
]'
Tada išsaugokite (žr. „Pakeitimų išsaugojimas“ toliau). Naudokite taisyklių numerius nuo 1000 ir daugiau , kad jie nesikirstų su automatinėmis. Laukas source.address riboja prieigą jūsų IP; pašalinkite jį, jei prievadas turi būti atviras visiems.
3. Ugniasienės taisyklė
Pavyzdys: blokuoti TCP prievadą 23 į jūsų serverius, paliekant likusį srautą atvirą.
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"}
]'
Eilutė default-action: accept yra svarbi – ji užtikrina, kad visas kitas srautas veiktų, o blokuojama tik jūsų nustatyta taisyklė. Ugniasienę taip pat galima sukonfigūruoti pele VyManager skydelyje.
4. WireGuard VPN
Paprasčiausia naudoti skydelį VyManager – jame integruotas WireGuard nustatymas ir raktai sugeneruojami už jus. Per API nustatymas kelių žingsnių: sugeneruokite raktus maršrutizatoriuje, tada apibrėžkite sąsają ir partnerį (peer). Komandų struktūra:
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'
Maršrutizatoriaus raktų generavimas ir visas vadovas pateikti VyOS dokumentacijoje (skyrius WireGuard).
5. DHCP intervalas tinkle
Jūsų tinklo pavadinimas matomas konfigūracijoje (žr. „Konfigūracijos skaitymas“ aukščiau) tokiu pavidalu: LAN-eth1, LAN-eth2. Pavyzdys – išduoti adresus iš intervalo 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. Pakeitimų išsaugojimas
Po kiekvieno /configure:
curl -k -X POST "https://<ROUTER-IP>/config-file" \
--form 'data={"op":"save"}' \
--form 'key=<API-KEY>'
7. Taisyklės atšaukimas
Ištrinkite ją visą (pavyzdžiui, prievado peradresavimą iš 2 skyriaus) ir vėl išsaugokite:
curl -k -X POST "https://<ROUTER-IP>/configure" \
--form 'data={"op":"delete","path":["nat","destination","rule","1000"]}' \
--form 'key=<API-KEY>'
Pilnas žinynas
Visos VyOS komandos su kiekvienos funkcijos pavyzdžiais pateiktos oficialioje dokumentacijoje: docs.vyos.io.