VyOS上的容器、自動化和生產環境最佳實踐
VyOS 1.4/1.5支援容器(Podman),允許執行輔助服務、exporter、監控。此外,VyOS提供API、支援Ansible、備份、升級以及生產環境的最佳實踐。
VyOS上的容器
set container name prometheus-exporter image prom/node-exporter
set container name prometheus-exporter network bridge address 192.168.50.10/24
set container name prometheus-exporter health-check interval 30
支援bridge、macvlan、health-check,使用Podman CLI管理。
使用Ansible自動化
# ansible.cfg
[defaults]
inventory = ./hosts
host_key_checking = False
playbook.yaml
hosts: vyos gather_facts: no tasks:name: Push config vyos.vyos.vyos_config: lines: - set interfaces ethernet eth0 address 192.168.1.1/24
VyOS HTTP API和REST API
set service https api listen-address 0.0.0.0
set service https api port 8443
通過REST API發送配置命令:
curl -k -u vyos:password -X POST https://vyos:8443/configure -d '{"op": "set", "path": ["interfaces", "ethernet", "eth0", "address"], "value": "192.168.1.2/24"}'
指令碼和自訂命令
set system login user vyos authentication plaintext-password 'password'
run show version
備份、升級和回滾
# 備份設定
cp /config/config.boot /config/backup-$(date +%F).boot
# 升級映像
add system image https://downloads.vyos.io/rolling/current/amd64/vyos-1.5-rolling.iso
# 回滾
set system image default-boot vyos-1.4-rolling
安全加固檢查清單
- 變更SSH連接埠,停用root登錄,僅允許金鑰。
- 停用未使用的服務:
delete service telnet、delete service ftp。 - 建立防火牆以保護VyOS本身。
生產環境部署場景
- 家庭路由器:NAT、VPN、防火牆、監控。
- 小型企業:雙WAN、HA、容器exporter。
- ISP邊界:BGP、IPsec、自動化、備份。
實踐實驗室:Ansible Playbook部署VyOS設定
- 準備
ansible.cfg和hosts檔案,含VyOS IP。 - 編寫playbook,使用
vyos_config模組推送設定。 - 執行playbook並檢查VyOS上的狀態。
ansible-playbook -i hosts playbook.yaml
總結
本課程幫助您應用容器、Ansible自動化、API使用、備份、升級、安全性,以及在實際生產環境中部署VyOS。