You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server 22.04.2搭建Active Directory域控制器时DNS查询失败求助

Ubuntu Server 22.04.2搭建Active Directory域控制器时DNS查询失败求助

兄弟,我太懂你这种卡到DNS环节的崩溃感了——Samba AD的DNS配置本来就容易踩坑,再加个VirtualBox VM环境,简直是双重考验。咱们一步步拆解问题,先从最核心的点排查:

1. 先确认Samba内置DNS服务真的在跑

你用的是SAMBA_INTERNAL作为DNS后端,那首先得确保Samba的AD DC服务真的监听了53端口(DNS默认端口):

  • 先查服务状态:sudo systemctl status samba-ad-dc,看日志里有没有类似Listening on UDP port 53的条目;
  • 再用端口检查命令:sudo ss -tulpn | grep :53,正常应该能看到samba进程占用了UDP和TCP的53端口。如果看不到,说明DNS服务根本没启动,大概率是provision的时候出了问题,或者服务启动失败(可以看journalctl -xe | grep samba找报错)。

2. 防火墙大概率挡了DNS端口

Ubuntu默认的ufw防火墙会默认屏蔽很多端口,包括DNS的53端口。赶紧把这两个端口放开:

sudo ufw allow 53/udp
sudo ufw allow 53/tcp
sudo ufw reload

放完之后再去检查端口监听,看看有没有变化。

3. VirtualBox NAT网络的两个致命问题

你现在用的是NAT网络,而且DC的IP是VirtualBox自动分配的DHCP地址——这两个点都是AD DC的大忌:

  • AD DC必须用静态IP:DHCP分配的IP随时可能变,Samba DNS绑定的IP一变,整个服务就废了。赶紧把DC的IP改成静态的,比如编辑Netplan配置文件(一般是/etc/netplan/00-installer-config.yaml):
network:
  ethernets:
    enp0s3: # 换成你的网卡名,用`ip addr`查看
      addresses: [10.0.2.15/24]
      gateway4: 10.0.2.2
      nameservers:
        addresses: [127.0.0.1, 8.8.8.8]
  version: 2

然后执行sudo netplan apply生效。

  • NAT网络可能干扰DNS转发:VirtualBox的NAT模式本身会做DNS转发,很可能和Samba的DNS服务冲突。建议暂时换成桥接模式,让DC和Win10 VM直接在同一个物理网段,减少网络层面的干扰。

4. Hosts文件和Resolv.conf的冲突

你的hosts文件里有127.0.1.1 ash-dc,这会导致Samba优先绑定到回环地址,而不是实际的网卡IP。修改/etc/hosts,把这行注释掉,只保留:

127.0.0.1 localhost
10.0.2.15 ash-dc.cserv.lan ash-dc

另外,Ubuntu默认的systemd-resolved会自动覆盖resolv.conf,这也会和Samba DNS冲突。建议直接禁用它:

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo rm /etc/resolv.conf

然后手动新建/etc/resolv.conf:

nameserver 127.0.0.1
nameserver 8.8.8.8
search cserv.lan

改完之后重启Samba服务:sudo systemctl restart samba-ad-dc。

5. 换个方式测试DNS

别只盯着host命令,用dig直接指定查询本地DNS,结果更清晰:

dig @10.0.2.15 cserv.lan A
dig @127.0.0.1 ash-dc.cserv.lan A

如果本地能查到正确的IP,那问题可能出在Win10客户端的DNS设置;如果本地都查不到,那还是DC的DNS服务没跑起来,回到第一步排查。

最后给你个靠谱的流程复盘

如果前面的步骤都试过还是不行,建议彻底重来一次,严格按这个顺序:

  1. 给DC设置静态IP,禁用systemd-resolved;
  2. 配置hosts文件,确保FQDN和IP正确映射;
  3. 执行Samba provision命令,指定--dns-backend=SAMBA_INTERNAL;
  4. 放开防火墙的53、135、139、445等AD必需端口;
  5. 启动samba-ad-dc服务,检查端口监听;
  6. 用dig测试本地DNS正常后,再去配置Win10客户端。

备注:内容来源于stack exchange,提问作者Joseph Ellis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:49:32