cobbler 管理的 dnsmasq 未监听正确的接口

cobbler 管理的 dnsmasq 未监听正确的接口

我有一个 cobbler 服务器,正在尝试安装。不幸的是,dnsmasq 没有监听正确的接口。

它应该监听分配给 br1 的 192.168.10.2 网络

[root@cob log]# ip address show | awk '/\<inet\>/ { print $NF, '\t', $2 }'
lo  127.0.0.1/8
br0  172.16.10.2/24
br1  192.168.10.2/24
virbr0  192.168.122.1/24

然而它并没有这么做。

[root@cob log]# netstat -planu | egrep -v "::|Local|\(serv" | awk -F' ' '{ print $4"\t","|------|", $7 }'
0.0.0.0:53       |------| 6526/dnsmasq
127.0.0.1:960    |------| 3752/rpc.statd
0.0.0.0:67       |------| 6526/dnsmasq
0.0.0.0:37444    |------| 3752/rpc.statd
0.0.0.0:69       |------| 3922/xinetd
0.0.0.0:111      |------| 3445/rpcbind
0.0.0.0:631      |------| 3781/cupsd
0.0.0.0:652      |------| 3445/rpcbind

服务器未在正确的网络上提供 DHCP 服务。

[root@cob log]# nmap -sU -v 192.168.10.2
...
PORT      STATE         SERVICE
53/udp    open|filtered domain
67/udp    open|filtered dhcps
69/udp    open|filtered tftp
111/udp   open          rpcbind
631/udp   open|filtered ipp
37444/udp open|filtered unknown

nmap 显示它正在通过 UD 在正确的接口上提供服务,但它被过滤了。不过,我在 iptables 中为它们制定了规则来防止这种情况发生。

[root@cob log]# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5910 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 68 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 69 -j ACCEPT
-A INPUT -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -p udp -m udp --dport 123 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p udp -m udp --dport 69 -j ACCEPT
-A INPUT -p udp -m udp --dport 25150 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25151 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25150 -j ACCEPT
-A INPUT -p udp -m udp --dport 25151 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25152 -j ACCEPT
-A INPUT -p udp -m udp --dport 25152 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

我的 dnsmasq 配置文件...

# Cobbler generated configuration file for dnsmasq
# Fri Mar  6 13:22:03 2015

# resolve.conf .. ?
#no-poll
#enable-dbus
read-ethers
addn-hosts = /var/lib/cobbler/cobbler_hosts
interface=br1
dhcp-range=br1,192.168.10.220,192.168.10.240
dhcp-option=3,192.168.10.2
dhcp-lease-max=1000
dhcp-authoritative
dhcp-boot=pxelinux.0
dhcp-boot=net:normalarch,pxelinux.0
dhcp-boot=net:ia64,/var/lib/cobbler/elilo-3.6-ia64.efi

我尝试了各种解决方案,但还是无法让 dnsmasq 在正确的端口号上工作。如果可能的话,我将不胜感激。

答案1

DNSMasq 正在监听所有接口。我不知道它为什么忽略了您的 cobbler 配置。请检查您的日志以获取信息。我知道例如 eth0:N 接口无效,也许 brN 接口是相同的。

  • 检查 dnsmasq conf 文件是否反映了 cobbler 配置。
  • 尝试使用 listen-address 而不是 interface。注意手册页中关于 loopback 的内容。

相关内容