ZBLOG

Dnsmasq 如何监听 br0桥的

要让 dnsmasq 监听 br0 桥接接口,并自动为连接到该桥的 TAP 设备分配 DHCP IP,需明确配置 dnsmasq 绑定到 br0。以下是具体步骤:


1. 配置 Dnsmasq 绑定到 br0

修改 /etc/dnsmasq.conf,指定监听的接口和子网:

  1. # 明确监听 br0(关键!)
  2. interface=br0
  3. # 禁止监听其他接口(避免冲突)
  4. no-dhcp-interface=eth0,lo,wlan0
  5. # 定义 br0 对应的子网 DHCP 范围
  6. dhcp-range=192.168.10.100,192.168.10.200,255.255.255.0,12h
  7. # (可选)静态 IP 绑定
  8. dhcp-host=AA:BB:CC:DD:EE:FF,192.168.10.50

2. 确保 br0 已正确配置

桥接设备 br0 需要存在且已分配子网 IP:

  1. # 创建 br0(若尚未创建)
  2. sudo ip link add name br0 type bridge
  3. sudo ip addr add 192.168.10./24 dev br0
  4. sudo ip link set br0 up
  5. # (可选)将物理接口加入桥(如需外部通信)
  6. sudo ip link set eth master br

3. TAP设备动态接入

将 TAP设备加入 br后,Dnsmasq会自动处理其 DHCP请求:

  1. # Step1:创建 tap1
  2. sudo ip tuntap add mode tap user root name tap1
  3. # Step2:将 tap1挂载到 br
  4. sudo ip link set tap master br
  5. sudo ip link set tap up
  6. # Step3:客户端通过tap连接后自动获取IP!

4.(重要)验证 Dnsmasq是否正常工作

检查日志

  1. tail -f /var/log/syslog | grep dnsmasq

正常输出应类似:

  1. dnsmasq-dhcp[]: DHCPDISCOVER(br) aa:bb:cc::dd
  2. dnsmasq-dhcp[]: DHCPOFFER(br) 192..100 aa:bb:cc::dd

测试客户端获取IP

  1. # Linux客户端示例(需安装 dhclient)
  2. dhclient -v -i

⚠️常见问题解决

问题 可能原因 解决方案
Dnsmsaq未响应DHCP请求 未正确绑定到br 确认 interface=br无误
IP分配失败 地址池耗尽或冲突 扩大 dhcp-range范围
TAP无法通信 防火墙阻拦 检查iptables/nftables规则

✅最终效果

  • Dnssmq仅监听 br,无需随TAP增减而修改配置。
  • TAP设备接入桥后秒级获取IP,服务无需重启。


    内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=8176

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?