Chuyển đến nội dung chính

第15課:容器、自動化和生產環境最佳實踐

在VyOS上使用容器、Ansible自動化、API、備份、升級、安全性和實際部署,Ansible playbook實驗室練習。

容器、自動化和生產環境最佳實踐

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設定

  1. 準備ansible.cfg和hosts檔案,含VyOS IP。
  2. 編寫playbook,使用vyos_config模組推送設定。
  3. 執行playbook並檢查VyOS上的狀態。
ansible-playbook -i hosts playbook.yaml

總結

本課程幫助您應用容器、Ansible自動化、API使用、備份、升級、安全性,以及在實際生產環境中部署VyOS。