====== 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}}