# PVE Node 使用 LAN 轉發外網給 LXC


# 方法一 Linux Bridge + Host

使用 isc-dhcp-server

這個方法得優點是這些 Bridge 和 DHCP Server 都跑在 pve 的 host 上,如果要把內網得 Port Forward 到外網,需要手動在 conf 中加 iptable 的 rule 比較麻煩。

實作之前 記得把 PVE Host 防火牆關掉


# 網卡設置


# 先進行當前的網卡設定備份

1
cp /etc/network/interfaces /etc/network/interfaces.bak

# 加入新的 Linux Bridge 開啟 NAT 模式

1
nano /etc/network/interfaces

加入新的 Linux Bridge

1
2
3
4
5
6
7
8
9
10
auto vmbr1
iface vmbr1 inet static
address 192.168.100.1/24
bridge_ports none# 設定 vmbr1 介面不作為任何橋接埠。
bridge_stp off #關閉 STP
bridge_fd 0 # 設定 0 延遲
post-up echo 1 > /proc/sys/net/ipv4/ip_forward # 啟用 IP 轉發
post-up echo 1 > /proc/sys/net/ipv4/conf/vmbr1/proxy_arp # 當網卡啟動 啟動 ARP
post-up iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j MASQUERADE # 開啟目標子網路流量轉發
post-down iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -j MASQUERADE # 關閉時刪除子網路流量轉發

# 重新啟動網路服務套用設定

1
systemctl restart networking 

就建立好一個 192.168.100.xxx/24
閘道為 192.168.100.1 的網段。

PS:/ 如果沒套用完全設定 可以到 UI 改一下參數再調整回來,確保 PVE 有吃到 vmbr1 的設定


# 節點安裝 DHCP Server

1
apt install isc-dhcp-server

# 更改 isc-dhcp-server 設定

修改 /etc/default/isc-dhcp-server 的 INTERFACESv4 改成 vmbr1 也就是我們要發 IP 的那個 Bridge。
IPv6 的部分可以留空

1
nano /etc/default/isc-dhcp-server
1
2
INTERFACESv4="vmbr1"
INTERFACESv6=""

# 新建可用網段

更改 dhcpd

1
nano /etc/dhcp/dhcpd.conf

subnet 中的範圍是指哪些範圍內的 IP 可以被 DHCP Server 發出去

1
2
3
4
5
6
7
8
9
10
11
12
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.200 192.168.100.240; #可用網段
option subnet-mask 255.255.255.0; #子網路遮罩
option routers 192.168.100.1; #路由器位置
option netbios-name-servers 192.168.100.1; #NetBIOS 名稱伺服器
option netbios-node-type 8; #NetBIOS 節點類型
get-lease-hostnames true; # DHCP 伺服器從客戶端獲取主機名稱
use-host-decl-names true; # DHCP 伺服器使用由客戶端提供的 DHCP 聲明中的主機名稱
default-lease-time 600; # DHCP 租約的預設持續時間
max-lease-time 7200; # DHCP 租約的最大持續時間
interface vmbr0; #掛階網卡
}

# 重啟 DHCP Server

1
systemctl restart isc-dhcp-server

# 方法二 Linux Bridge + VM

在 VM 上面開一個 pfsense

pfsense 防火牆,有網頁介面可以簡單快速處理
但 VM 本身也需要被配置一台實體 IP


# 參考資料

  • Proxmox VE 利用 Linux Bridge + isc -dhcp-server 快速設定虛擬機內網
更新於