在 Linux 系统中修改域名指向,本质上是修改系统的域名解析配置,即更改特定域名与其对应IP地址的映射关系。这主要通过修改本地hosts文件或配置DNS解析器(如 systemd-resolved、dnsmasq)来实现。以下是专业、准确的操作方法。

一、修改本地 hosts 文件(立即生效,适用于单机)
本地/etc/hosts文件具有最高优先级(取决于 /etc/nsswitch.conf 中的 `hosts:` 配置),系统会优先查询此文件进行域名解析。
1. 使用文本编辑器编辑文件:需拥有 root 权限。
`sudo vi /etc/hosts` 或 `sudo nano /etc/hosts`
2. 修改或添加记录:文件格式为 `IP地址 域名 [别名...]`。
例如,将 `www.example.com` 指向 IP `192.168.1.100`:
`192.168.1.100 www.example.com`
3. 保存并生效:保存后修改立即生效。可使用 `ping www.example.com` 或 `host www.example.com` 验证解析结果。
二、配置 DNS 解析器(适用于网络或系统级配置)
如果希望修改对整个网络或特定网络接口生效,需配置系统的 DNS 解析服务。
方法A:使用 systemd-resolved(现代许多发行版默认)
1. 编辑 resolved 配置文件:
`sudo nano /etc/systemd/resolved.conf`
2. 设置 DNS 服务器:在 `[Resolve]` 部分添加或修改。
`DNS=8.8.8.8 1.1.1.1`
`Domains=example.com`
3. 重启服务并应用:
`sudo systemctl restart systemd-resolved`
`sudo systemctl enable systemd-resolved`
4. 修改本地 DNS 覆盖(可选):对于特定域名覆盖,可在 `/etc/systemd/resolved.conf.d/` 下创建 `.conf` 文件,或使用 `resolvectl` 命令:
`sudo resolvectl domain eth0 example.com`
`sudo resolvectl dns eth0 8.8.8.8`
方法B:修改 /etc/resolv.conf(注意:可能被网络管理服务覆盖)
1. 直接编辑(临时):
`sudo nano /etc/resolv.conf`
2. 添加 nameserver 和 search 域:
`nameserver 8.8.8.8`
`search example.com`
3. 防止被覆盖:若系统使用 `NetworkManager` 或 `systemd-resolved`,应在其配置中修改,而非直接编辑此文件。可将其设为不可变:`sudo chattr +i /etc/resolv.conf`(谨慎使用)。
方法C:使用 NetworkManager(图形化或命令行配置)
1. 命令行工具 nmcli:
`sudo nmcli con mod "连接名" ipv4.dns "8.8.8.8 1.1.1.1"`
`sudo nmcli con mod "连接名" ipv4.dns-search "example.com"`
`sudo nmcli con down "连接名" && sudo nmcli con up "连接名"`
2. 图形界面:在系统网络设置中,找到对应连接,手动配置 DNS 服务器和搜索域。
三、验证与诊断
修改后,务必使用以下命令验证:
1. dig:`dig www.example.com` 直接查询 DNS,忽略本地 hosts(使用 `@指定DNS服务器`)。
2. nslookup:`nslookup www.example.com`。
3. host:`host www.example.com`。
4. systemd-resolve 或 resolvectl:`resolvectl query www.example.com`。
5. 查看当前 DNS 配置:`cat /etc/resolv.conf` 和 `resolvectl status`。
核心要点总结
1. 修改/etc/hosts是最快、优先级最高的单机本地化方法,但仅影响本机。
2. 系统级域名指向修改应通过管理服务(如systemd-resolved、NetworkManager)进行,以确保配置持久且不被覆盖。
3. 修改 DNS 服务器(如改为 `8.8.8.8`)会影响所有未在 hosts 文件中指定的域名的解析。
4. 始终在修改后进行验证,并使用正确的诊断工具区分本地覆盖与网络 DNS 查询结果。

查看详情

查看详情