配置主机网桥
我的主机有2个自带网口, 我加了一个USB网口, 总共3个网口, 将USB网口作为WAN口, 两个自带网口作为LAN口
在网桥中WAN口是PVE系统默认的vmbr0
, 需要再新建一个LAN口网桥vmbrlan
, 桥接网卡为enp1s0 enp2s0
修改完后检查/etc/network/interfaces
文件, 确保修改已生效
auto lo
iface lo inet loopback
iface enp1s0 inet manual
iface enp2s0 inet manual
iface wlp3s0 inet manual
iface enxc8xxxxxxxx inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.111/24
gateway 192.168.1.1
bridge-ports enxc8xxxxxxxx
bridge-stp off
bridge-fd 0
auto vmbrlan
iface vmbrlan inet manual
bridge-ports enp1s0 enp2s0
bridge-stp off
bridge-fd 0
#两个LAN网口
配置虚拟机
创建虚拟机
https://pycvala.de/blog/proxmox/create-your-own-debian-12-cloud-init-template/
根据上面的博客配置虚拟机, 将IP地址设置为静态192.168.1.100
在硬件
选项中添加vmbrlan
网桥
运行虚拟机
以下皆为虚拟机内操作
查看虚拟机的网络接口
ip link
根据输出mac地址判断对应网桥, 我这里输出eth0
和enp6s19
eth0
是 vmbr0 网桥 为 WAN 接口。enp6s19
是 vmbrlan 网桥 为 LAN 接口。
启用 IP 转发
编辑
/etc/sysctl.conf
文件,确保以下行没有被注释:net.ipv4.ip_forward=1
运行以下命令使更改生效:
sysctl -p
配置 NAT(网络地址转换)
使用
iptables
配置 NAT,以便 LAN 接口的流量可以通过 WAN 接口访问外部网络。运行以下命令:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
为了在重启后保持这些规则,可以安装
iptables-persistent
:apt-get install iptables-persistent
配置 DHCP 服务器
安装
isc-dhcp-server
:apt-get install isc-dhcp-server
编辑
/etc/dhcp/dhcpd.conf
文件,添加以下内容:subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.200; option routers 192.168.2.1; option domain-name-servers 8.8.8.8, 8.8.4.4; }
subnet
子网定义:定义了一个子网192.168.2.0/24
。range
IP 地址范围:指定了 DHCP 服务器可以分配的 IP 地址范围为192.168.2.100
到192.16 2.200
。routers
默认网关:指定了默认网关的 IP 地址为192.168.2.1
。domain-name-servers
DNS 服务器:指定了两个 DNS 服务器的 IP 地址,分别是8.8.8.8
和8.8.4.4
。
编辑
/etc/default/isc-dhcp-server
文件,设置INTERFACESv4
为enp6s19
:INTERFACESv4="enp6s19"
配置虚拟机的网络接口文件
在
/etc/systemd/network
目录下创建两个文件,分别为eth0
和enp6s19
配置网络。10-eth0.network
文件内容:[Match] Name=eth0 [Network] Address=192.168.1.100/24
20-enp6s19.network
文件内容:[Match] Name=enp6s19 [Network] Address=192.168.2.1/24
重启服务
重启
systemd-networkd
和isc-dhcp-server
服务:systemctl restart systemd-networkd systemctl restart isc-dhcp-server
完成以上步骤后,虚拟机即成为一个软路由系统, 确保其他设备连接到主机的 LAN 网口,并且配置为通过 DHCP 获取 IP 地址。
为特定主机分配固定地址(可选)
编辑DHCP服务器配置文件/etc/dhcp/dhcpd.conf
, 添加一个 host 条目,为特定主机分配固定 IP 地址。例如:
host specific-hostname {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.2.101;
}
将 00:11:22:33:44:55 替换为目标主机的实际 MAC 地址,将 192.168.2.101 替换为你希望分配的固定 IP 地址。
重启DHCP服务器
systemctl restart isc-dhcp-server
查看DHCP分配记录(可选)
cat /var/lib/dhcp/dhcpd.leases
安装DNS服务器(可选)
https://github.com/AdguardTeam/AdGuardHome
安装其他网络工具
避免对虚拟机的系统配置和防火墙误操作导致无法访问网络, 保险起见, 请将各种网络工具安装至其他虚拟机.