v3.8.313
686 字
3 分钟
PVE部署DHCP服务
开始之前,需要声明
- 该方案使用dnsmasq工具部署,其原理通用于物理
- 部署过程仅含网关路由转发与实现dhcp功能,不含防火墙规则设置DMZ规则及出入站流量控制请自行配置
- 需要子网掩码及地址规划相关基础知识前置
现在回归正题
首先我们需要在宿主机建立一个内网环境,外网出口计划在LXC容器上
你需要在 节点 -> 系统 -> 网络 中添加:
建立OVS Bridge配置名称为eth1
建立OVS IntPort配置地址为10.0.0.2/27,名称为device2,桥接eth1
修改eth1配置桥接device2
此时该局域网eth1还没正式建立,宿主机的地址仅为逻辑地址,是无法作用于局域网的
eth1网段规划(可根据需求情况调整)
该局域网的网络地址为10.0.0.0,直接广播地址为10.0.0.31
该局域网的子网掩码为255.255.255.224,可用地址数为30个(含网关地址)
此时应该在宿主机上有个Linux Bridge的eth0是作为该局域网网关的WAN口,如果只做内网也可不用
容器服务部署
你可以根据模板搭建LXC容器,debian10/11环境均可
开启路由转发功能
sudo apt install net-tools -y && netstat -nltp # 检查53端口是否被占用# 如果被占用,你需要使用systemctl工具关闭占用端口的相应服务sudo nano /etc/sysctl.conf # 编辑文件找到以下内容并取消注释
net.ipv4.ip_forward=1保存后你需要更新服务以生效
sudo sysctl -p安装dnsmasq工具并部署服务
sudo apt install dnsmasq -y && sudo systemctl enable dnsmasq && sudo systemctl start dnsmasqsudo nano /etc/dnsmasq.conf # 编辑dnsmasq配置文件根据网段规划加入以下内容
interface=eth1dhcp-range=10.0.0.2,10.0.0.30,255.255.255.224,24hdhcp-option=3,10.0.0.1dhcp-option=6,10.0.0.1
server=223.5.5.5server=8.8.4.4domain-neededbogus-privexpand-hosts意思是LXC容器本地的地址为10.0.0.1,同时也是局域网的网关,分配的dhcp范围10.0.0.2~10.0.0.30
完成配置后可以回到宿主机编辑LXC容器配置文件
cd /etc/pve/lxc && nano 100.conf # 假设该编号存储容器的配置信息确保网络含以下内容
n0: name=eth0,bridge=eth0,gw=192.168.1.1,hwaddr=F2:70:C8:8D:93:EF,ip=192.168.1.15/24,type=vethn1: name=eth1,bridge=eth1,gw=192.168.1.15,hwaddr=56:DB:76:52:9F:56,ip=10.0.0.1/27,type=veth你需要充分理解内容的含义,这部分就不解释了,完成后你需要重启LXC容器以应用配置
到这基本上已完成配置部署,此时容器为网关及dhcp服务器,宿主机及后面新建的所有容器虚拟机仅需以桥接模式使用eth1 网络设置会自动分配内网地址,外部出入口流量会全部由该容器处理,所以对容器的负载均衡需要提前考虑
感谢阅读
PVE部署DHCP服务
https://cyber-mobile.net/posts/pve部署dhcp服务/