微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在 ubuntu 18.04 上运行多个 dnsmasq dhcp 服务器

如何解决无法在 ubuntu 18.04 上运行多个 dnsmasq dhcp 服务器

我为 USB 以太网和无线接口创建了一个新的网络命名空间。

我在一个接口上运行一个 DNSMASQ dhcp 服务器
sudo dnsmasq --port 5353 --interface wlp2s0 -F 123.12.1.101,123.12.1.200,24h
这就像一个魅力。

然后我想在另一个接口上设置另一个 DNSMASQ dhcp 服务器:
sudo dnsmasq --port 5454 --interface enx65ad574sa -F 123.12.1.101,24h
但这只是报告 dnsmasq: Failed to bind DHCP server socket: Address already in use

如果我在命名空间外运行 dnsmasq,我可以设置多个 dnsmasq dhcp 服务器,但在命名空间内,我只能让它运行一次。

如果我创建一个配置文件

interface=wlp2s0
dhcp-range=wlp2s0,123.12.1.101,255.255.255.0,24h
interface=enx65ad574saaw
dhcp-range=enx65ad574saaw,192.168.0.101,192.168.0.200,24h
listen-address=::1,127.0.0.1,192.168.0.1,123.12.1.1

它也可以在命名空间内的两个接口上正常工作...那么有什么区别呢?我需要从命令行动态运行它,所以我不能使用配置文件

解决方法

我最终创建了 2 个单独的 dnsmasq 配置文件,它们都在同一接口上设置了 dhcp 服务,然后在每个自己的网络命名空间中同时运行配置 - 这意味着当无线接口添加到网络命名空间时,dnsmasq已经在接口上作为 dhcp 服务器。

显然,设置和启动 2 个 dnsmasq,它们有自己的配置,但两者具有相同的接口,不会相互干扰或破坏,并且工作非常无缝(至少当它们在单独的网络命名空间中启动时)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。