添加dns到/etc/resolv.conf
时间: 2024-08-23 15:02:39 浏览: 137
添加DNS服务器到`/etc/resolv.conf`文件通常是在Linux系统中配置网络环境的时候进行的,这个文件是系统用来查找域名解析的DNS信息的地方。以下是向`resolv.conf`添加DNS服务器的基本步骤:
1. 打开终端并以超级用户权限(例如通过 `sudo` 或者 `su`)登录。
2. 使用文本编辑器打开`/etc/resolv.conf`文件,比如`nano`, `vim` 或者 `gedit`。命令可能是:
```
nano /etc/resolv.conf
vim /etc/resolv.conf
gedit /etc/resolv.conf
```
3. 在文件底部添加至少一行或多行,每行包含一个DNS服务器的IP地址。例如,如果你有两个DNS服务器,可以输入:
```text
nameserver 8.8.8.8 # Google Public DNS
nameserver 8.8.4.4 # Another public DNS (Cloudflare)
```
4. 保存并关闭文件。
5. 验证DNS设置是否生效,你可以运行命令 `nslookup` 或 `dig` 来测试DNS解析。
相关问题
8【单选题】以下哪个文件用于设置本地DNS域名服务器? A /etc/nsswitch.conf B /etc/dhcpd.conf c /etc/network/interfaces D /etc/sysctl.conf E /etc/resolv.conf
答案是E:/etc/resolv.conf。
/etc/resolv.conf文件用于设置本地DNS域名服务器。在该文件中,可以指定一个或多个DNS服务器的IP地址,以便系统能够解析域名。
范例:在/etc/resolv.conf文件中设置本地DNS域名服务器的示例:
```shell
nameserver 8.8.8.8
nameserver 8.8.4.4
```
if [ -f /etc/resolv.conf ];then sudo chattr -i /etc/resolv.conf sudo sed -i '/domain huawei.com/d' /etc/resolv.conf sudo sed -i '/search huawei.com/d' /etc/resolv.conf sudo sed -i '/10.129.0.84/d' /etc/resolv.conf sudo sed -i '/10.129.0.148/d' /etc/resolv.conf sudo sed -i '/10.144.90.20/d' /etc/resolv.conf sudo sed -i '/10.98.48.39/d' /etc/resolv.conf else sudo touch /etc/resolv.conf sudo chattr -i /etc/resolv.conf fi
这是一个用于管理 Linux 系统 `/etc/resolv.conf` 文件的脚本片段,主要用于检查、修改或创建该文件。以下是详细解析:
---
### 脚本功能分析
1. **判断文件是否存在**
```bash
if [ -f /etc/resolv.conf ]; then
```
这行代码会检测系统中是否已经存在 `/etc/resolv.conf` 文件。如果存在,则进入 `then` 分支;若不存在,则跳转至 `else` 分支。
2. **移除文件的只读属性**
```bash
sudo chattr -i /etc/resolv.conf
```
如果文件存在,首先需要解除其不可变属性 (`immutable`),以便对其进行编辑操作。`chattr -i` 表示关闭文件的不可变标志位。
3. **删除指定内容**
下面几行使用了 `sed` 工具逐条匹配并删除特定配置项:
```bash
sudo sed -i '/domain huawei.com/d' /etc/resolv.conf
sudo sed -i '/search huawei.com/d' /etc/resolv.conf
sudo sed -i '/10.129.0.84/d' /etc/resolv.conf
sudo sed -i '/10.129.0.148/d' /etc/resolv.conf
sudo sed -i '/10.144.90.20/d' /etc/resolv.conf
sudo sed -i '/10.98.48.39/d' /etc/resolv.conf
```
具体作用是通过正则表达式找到包含某些关键字(如 `domain huawei.com`, `search huawei.com` 或者特定 DNS 地址)的行,并将其从文件中删除。
4. **当文件不存在时的操作**
若未发现 `/etc/resolv.conf` 文件,则执行以下动作:
```bash
sudo touch /etc/resolv.conf
sudo chattr -i /etc/resolv.conf
```
首先用 `touch` 创建一个新文件,然后再次设置文件为不可变状态。
---
### 总结
此脚本的核心任务是对 `/etc/resolv.conf` 文件进行维护,包括清理旧有的 DNS 设置以及确保文件的存在性和安全性(防止未经授权的更改)。通常这种场景出现在需要标准化网络配置的企业环境内。
---
阅读全文
相关推荐
















