====== PVE Host 兩張網卡設定 NAT 作法 ====== * 環境 : PVE Host 有兩張網卡 * vmbr0(可與 Internt 連接) * vmbr1(不直接暴露到 Internet) IP: 10.90.90.0/24 * 目標 : 不對外提供服務的 VM (使用 vmbr1) 要能夠連出去 Internet ===== 選擇一台 PVE Host 當 Gateway ===== * Exp. pve-76 (vmbr0:61.67.100.123, vmbr1:10.90.90.76) 當 Gateway ==== 設定 NAT 方式 ==== - 啟用 IP 轉發 vi /etc/sysctl.conf : net.ipv4.ip_forward=1 : - 立即生效sysctl -p - 安裝 iptables-persistent apt update apt install iptables-persistent - 持久化配置vi /etc/systemd/system/pve-nat.service [Unit] Description=PVE NAT Configuration After=network.target [Service] Type=oneshot ExecStart=/bin/bash -c 'iptables -A FORWARD -i vmbr1 -o vmbr0 -j ACCEPT; iptables -A FORWARD -i vmbr0 -o vmbr1 -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -t nat -A POSTROUTING -s 10.90.90.0/24 -o vmbr0 -j MASQUERADE' RemainAfterExit=yes [Install] WantedBy=multi-user.target - 啟用服務: systemctl enable pve-nat.service systemctl start pve-nat.service ===== 設定使用 vmbr1 的 VM Gateway ===== ==== Ubuntu VM ==== * netplan - 編輯 netplan 設定檔 Exp. sudo vi /etc/netplan/50-cloud-init.yaml network: version: 2 ethernets: ens18: addresses: - "10.90.90.29/24" nameservers: addresses: - 1.1.1.1 - 8.8.8.8 search: [ichiayi.com] routes: - to: "default" via: "10.90.90.76" - 讓設定檔生效 sudo netplan apply - 查看網路配置 sudo ip route show default via 10.90.90.76 dev ens18 proto static 10.90.90.0/24 dev ens18 proto kernel scope link 10.90.90.29 : : ===== 參考網址 ===== * claude.ai (Sonnet 4) {{tag>pve proxmox networking}}