在Linux系统中,“域”可能涉及多个层面的配置,常见的包括DNS搜索域(影响域名解析)、Active Directory域(域成员身份)、主机名中的域名部分(如host.example.com
)以及特定服务(如Samba)的域配置,不同场景下的修改方法差异较大,本文将分场景详细介绍Linux系统中修改域的具体步骤、注意事项及实用技巧。
修改DNS搜索域(影响域名解析优先级)
DNS搜索域用于在本地域名解析时自动添加后缀,例如设置搜索域为example.com
后,访问web
会自动尝试解析web.example.com
,修改DNS搜索域需根据Linux发行版和网络管理工具选择不同方法。
临时修改(重启失效)
直接编辑/etc/resolv.conf
文件,添加search
指令指定搜索域:
sudo nano /etc/resolv.conf
在文件中添加或修改以下内容(nameserver
为DNS服务器地址,search
为搜索域):
nameserver 192.168.1.1 search example.com localdomain
保存后立即生效,但重启网络或系统后会恢复为默认配置(因/etc/resolv.conf
可能被NetworkManager或systemd-resolved覆盖)。
永久修改(NetworkManager管理网络,适用于Ubuntu/Debian)
使用nmcli
命令行工具配置:
# 添加DNS搜索域(需指定网络连接名称,如"ens33") sudo nmcli connection modify "ens33" ipv4.dns-search "example.com" # 重启网络连接使配置生效 sudo nmcli connection down "ens33" && sudo nmcli connection up "ens33"
验证配置:
cat /etc/resolv.conf # 查看是否包含"search example.com"
永久修改(systemd-resolved管理网络,适用于CentOS/RHEL 8+)
CentOS 8、RHEL 8及后续版本默认使用systemd-resolved
管理DNS,需修改网络配置文件:
# 编辑网络配置文件(如ifcfg-ens33) sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
添加以下参数:
DOMAIN="example.com" DNS1=192.168.1.1
重启网络服务:
sudo systemctl restart network
验证:
resolvectl status # 查看搜索域是否正确配置
不同方法的对比
方法 | 适用系统 | 持久性 | 优点 | 缺点 |
---|---|---|---|---|
直接编辑resolv.conf |
所有Linux | 临时 | 简单快速 | 重启后失效 |
nmcli 命令 |
NetworkManager系统 | 永久 | 图形化/命令行双支持,管理灵活 | 需了解NetworkManager结构 |
systemd-resolved |
CentOS/RHEL 8+等 | 永久 | 系统集成度高,支持DNSStub | 配置稍复杂 |
Linux主机加入Active Directory域(域成员身份)
若需将Linux主机(如CentOS/RHEL、Ubuntu)加入Windows Active Directory域,成为域成员,需使用realmd
工具(基于Samba和SSSD),步骤如下:
前置条件
- 网络连通:Linux主机能访问AD域控制器(DC)的IP和DNS。
- DNS配置:Linux主机的DNS服务器必须指向AD域控(例如
168.1.10
),确保能解析域名称(如example.com
)。 - 时间同步:Linux主机与域控时间差需在5分钟内(使用
chrony
或ntpd
同步)。 - 权限:需有域管理员账户(如
admin@example.com
)。
安装必要软件包
# CentOS/RHEL sudo yum install realmd sssd oddjob oddjob-mkhomedir samba-common-tools adcli # Ubuntu/Debian sudo apt update && sudo apt install realmd sssd samba-common adcli
发现域
验证Linux主机是否能找到AD域:
sudo realm discover example.com
若输出包含域信息(如example.com
类型为active-directory
),则说明发现成功。
加入域
使用域管理员账户加入域(-U
指定用户,--one-time-password
可临时设置域控账户密码,若为域管理员可直接省略):
sudo realm join example.com -U admin
根据提示输入域管理员密码,加入成功后会显示Successfully joined domain
。
配置自动创建家目录(可选)
启用oddjob
服务,使域用户首次登录时自动创建家目录:
sudo systemctl enable oddjobd && sudo systemctl start oddjobd sudo authselect enable-feature with-mkhomedir
验证域成员身份
sudo realm list # 显示域信息,如"example.com (active-directory)" id admin@example.com # 查看域用户信息(需先退出当前终端重新登录)
关键命令及作用
命令 | 作用 |
---|---|
realm discover example.com |
发现网络中的AD域 |
realm join example.com -U admin |
以管理员身份加入域 |
realm list |
查看已加入的域信息 |
authselect enable-feature with-mkhomedir |
启用自动创建家目录功能 |
修改主机名中的域名部分
Linux主机名格式通常为hostname.domain
(如webserver.example.com
),修改域名部分需同时更新/etc/hostname
和/etc/hosts
文件。
使用hostnamectl
修改主机名(推荐)
# 设置完整主机名(包含域名) sudo hostnamectl set-hostname "webserver.example.com" # 验证 hostnamectl status
编辑/etc/hosts
文件
确保/etc/hosts
中包含主机名与IP的映射,避免解析异常:
sudo nano /etc/hosts
添加或修改以下内容(0.0.1
对应本地主机名):
0.0.1 localhost localhost.localdomain 127.0.0.1 webserver.example.com webserver
服务中的域配置(以Samba为例)
若Samba服务需加入域或配置域共享,需修改smb.conf
文件中的workgroup
或realm
参数:
sudo nano /etc/samba/smb.conf
在[global]
部分设置:
workgroup = EXAMPLE # Windows域的工作组名(小写) realm = EXAMPLE.COM # AD域全称(大写) security = ads # 使用AD域认证模式
保存后重启Samba服务:
sudo systemctl restart smb nmb
注意事项
- 网络与DNS:所有域操作前务必确保网络连通、DNS正确解析域控,否则会失败。
- 防火墙:关闭或开放必要端口(AD域常用端口:53(DNS)、88(Kerberos)、389(LDAP)、445(SMB))。
- 权限:加入域需域管理员权限,普通用户无法完成操作。
- 时间同步:域认证依赖时间同步,使用
chrony
同步时间:sudo systemctl enable chrony && sudo systemctl start chrony
。
相关问答FAQs
Q1:修改DNS搜索域后,仍无法解析域名,如何排查?
A:首先检查/etc/resolv.conf
是否包含正确的search
指令和nameserver
;若使用NetworkManager,执行sudo nmcli connection reload
重新加载配置;若使用systemd-resolved
,运行sudo systemctl restart systemd-resolved
重启服务;最后确认网络连通性(ping 8.8.8.8
)和DNS服务器可达性(ping your-dns-server-ip
)。
Q2:加入AD域时提示“无法找到域控制器”,如何解决?
A:主要排查以下三点:
- DNS配置:确保Linux主机的DNS服务器指向AD域控(如
168.1.10
),执行nslookup example.com
验证域解析是否成功。 - 网络连通:检查防火墙是否阻止了与域控的通信(如
ping 192.168.1.10
测试网络连通性)。 - 域名拼写:
realm discover
和realm join
中的域名需与AD域全称一致(如example.com
而非example
)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/19161.html