/etc/resolv.conf怎么添加多个nameserver
时间: 2023-04-05 17:02:30 浏览: 1042
可以通过编辑 /etc/resolv.conf 文件,在其中添加多个 nameserver 地址,每个地址占一行,格式为 "nameserver IP地址"。例如:
nameserver 8.8.8.8
nameserver 8.8.4.4
保存文件后,重启网络服务或者使用命令 "sudo systemctl restart network" 使其生效。
相关问题
/etc/resolv.conf添加多个nameserver
可以通过在每行添加一个nameserver IP地址的方式来添加多个nameserver。每行的格式应该是“nameserver IP地址”。例如:
nameserver 8.8.8.8
nameserver 8.8.4.4
这将添加两个nameserver,分别是Google的公共DNS服务器。这样做可以提高系统的DNS解析速度和可靠性。
sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf bash: /etc/resolv.conf: Permission denied
你在执行以下命令时遇到了权限问题:
```bash
sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf
bash: /etc/resolv.conf: Permission denied
```
这是因为虽然你使用了 `sudo` 来运行 `echo`,但 **重定向操作 `>` 是在 shell 中执行的,而 shell 并没有获得 `sudo` 的权限**,因此写入文件失败。
---
### ✅ 正确的解决方法
#### ✅ 方法一:使用 `tee` 命令(推荐)
```bash
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
```
- `tee` 会从标准输入读取内容并写入文件。
- 使用 `sudo tee` 可以获得写入 `/etc/resolv.conf` 的权限。
- `> /dev/null` 是为了不输出到终端。
#### ✅ 方法二:使用 `sudo sh -c`
```bash
sudo sh -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
```
这样整个命令(包括重定向)都会以 `root` 权限运行。
#### ✅ 方法三:手动编辑文件(更安全)
```bash
sudo nano /etc/resolv.conf
```
然后添加:
```
nameserver 8.8.8.8
nameserver 8.8.4.4
```
保存并退出(在 nano 中按 `Ctrl+O` 写入,`Ctrl+X` 退出)。
---
### ⚠️ 注意事项
1. 某些系统(如使用 `systemd-resolved` 或 `NetworkManager` 的系统)会自动管理 `/etc/resolv.conf` 文件,**手动修改可能被覆盖**。
- 可以将其改为只读或通过配置网络管理器来设置 DNS。
2. 如果是云服务器,也可以通过控制台修改 VPC 的 DNS 设置。
---
### 🧪 验证是否成功
运行以下命令查看是否已正确配置 DNS:
```bash
cat /etc/resolv.conf
```
你应该能看到类似如下内容:
```
nameserver 8.8.8.8
nameserver 8.8.4.4
```
---
阅读全文
相关推荐















