静看光阴荏苒
不管不顾不问不说也不念

Proxmox Simple SDN配置

得益于ProxmoxVE的SDN功能,现在ProxmoxVE可以更方便的开通和管理NAT小鸡了,不再需要手动配置NAT相关的规则,直接在ProxmoxVE的WEB界面就能实现SNAT。除此之外还支持DHCP,并且ProxmoxVE还将DHCP与IP地址管理(IPAM)功能进行了整合。

从ProxmoxVE 8.1开始默认安装核心软件定义网络(SDN)软件包,如果你是从旧版本升级上来的,则需要在每个节点上安装libpve-network-perl软件包:

apt update
apt -y install libpve-network-perl

从ProxmoxVE 7.0及更高版本起默认安装ifupdown2软件包,如果你是从旧版本升级上来的,则还需要安装ifupdown2软件包:

apt -y install ifupdown2

此外还需要确保/etc/network/interfaces配置文件内有如下内容:

source /etc/network/interfaces.d/*

如需要使用DHCP功能,则还需要安装dnsmasq:

apt -y install dnsmasq

之后关闭dnsmasq默认的服务,proxmox会接管dnsmasq:

systemctl disable --now dnsmasq

转到“数据中心”->“SDN”->“区域”,创建一个新的简单(Simple)区域,要激活DHCP功能,你还需要在高级设置中勾选“自动DHCP”选项:

转到“VNets”,创建新的VNet(vnet1在本文的示例中)创建VNet时,“区”选择我们在上一步中创建的区域:

在同一界面中,现在需要在先前创建的VNet中创建子网。这可以通过选择VNet并单击右侧子网界面中的“创建”来完成。

输入你选择的本地子网(在本文的示例中10.0.0.0/24)。

你还需要指定一个IP当作网关,否则DHCP将无法工作(10.0.0.1在本文的示例中)。勾选“SNAT”选项以便为此VNet启用SNAT:

要使用DHCP,我们还需要为此子网创建DHCP范围,这可以通过切换到子网创建对话框中的“DHCP范围”选项卡来完成。我选择10.0.0.10和10.0.0.200作为DHCP范围的起始和结束地址:

现我们需要保存刚才的配置,转到“SDN”界面单击“应用”来完成保存:

确保网络重新加载任务成功完成。如果它完成且没有任何错误或警告,则说明一切正常:

[可选]防火墙配置。如果你启用了PVE的防火墙,则需要添加以下几条规则。

允许DHCP转发流量:

允许DNS查询流量:

[重要]为了避免把自己墙在外面,务必设置一个允许SSH流量的规则:

另外8006端口(PVEWEB面板)的流量也别忘记设置允许:

需要注意的是PVE的防火墙分为3个部分:数据中心级别、节点级别、VM级别。上面的规则建议直接在数据中心级别的防火墙设置:

接下来是创建VM时候的网络配置。我这里使用了系统模板,且模板使用了cloud-init来初始化。

首先你可以按照这篇文章来创建一个系统模板:https://lala.im/8911.html

在系统模板内添加一个网络设备,桥接vnet1(这是之前创建Vnets时指定的ID):

qm set 20000 --net1 virtio,bridge=vnet1

配置系统模板内的cloud-init使用dhcp来获取ipv4:

qm set 20000 --ipconfig1 ip=dhcp

克隆一台VM,检查VM内的网络和DNS:

如果不使用系统模板而是直接创建新VM,则在网络配置这里指定桥接vnet1即可:

如果选择创建CT(LXC容器),则在网络配置这里指定桥接vnet1,并且选中IPv4 DHCP:

检查CT内的网络和DNS:

现在你可以轻松在PVE的IPAM界面管理VM和CT的IP地址:

赞(2)
未经允许不得转载:荒岛 » Proxmox Simple SDN配置
分享到: 更多 (0)

评论 7

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    请问大佬可以通过SDN的配置来实现wireguard异地组集群吗?

    lynaste11个月前 (02-13) Google Chrome 121.0.0.0 Google Chrome 121.0.0.0 Mac OS X  10.15.7 Mac OS X 10.15.7回复
    • 没研究过。。。我也不会。。。

      LALA10个月前 (02-19) Google Chrome 121.0.0.0 Google Chrome 121.0.0.0 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    大佬,请问可以在vnet1上同时创建IPv4\IPv6吗

    hunter8个月前 (05-13) Google Chrome 123.0.0.0 Google Chrome 123.0.0.0 Android 10 Android 10回复
    • 可以的但我没有试过,目前看样子simple sdn这个ipv6应该也只能配置成私网ipv6,然后启用snat。
      如果你想直接通过这个simple sdn给vm分配公网ipv6的话应该还不行。

      LALA8个月前 (05-15) Google Chrome 124.0.0.0 Google Chrome 124.0.0.0 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿