openwrt 之 DNS配置文件修改

本文介绍了一个OpenWRT系统中DNS设置被重置的问题,并提供了通过修改配置文件来永久设置DNS服务器的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:http://www.openwrt.org.cn/bbs/thread-1639-1-1.html


我在openwrt的web界面修改的wan口dns服务器为8.8.8.8。但是通过ssh查看/etc/resolv.conf文件发现总是被重置为了:

  1. root@Wrv54g:~# cat /etc/resolv.conf 
  2. search lan
  3. nameserver 127.0.0.1
复制代码
据我观察在web刚改完之后有几秒保持了我修改的dns,但之后马上会被重置,请问是什么原因?
  1. root@Wrv54g:~# cat /etc/resolv.conf 
  2. nameserver 127.0.0.1
  3. nameserver 8.8.8.8
  4. nameserver 8.8.4.4
  5. root@Wrv54g:~# cat /etc/resolv.conf 
  6. nameserver 127.0.0.1
  7. nameserver 8.8.8.8
  8. nameserver 8.8.4.4
  9. root@Wrv54g:~# cat /etc/resolv.conf 
  10. search lan
  11. nameserver 127.0.0.1
  12. root@Wrv54g:~# cat /etc/resolv.conf 
  13. search lan
  14. nameserver 127.0.0.1
  15. root@Wrv54g:~# cat /etc/resolv.conf 
  16. search lan
  17. nameserver 127.0.0.1
  18. root@Wrv54g:~#
复制代码

dnsmasq重置了!实际使用的是/tmp/resolv.conf.auto

修改/etc/config/network 文件
config 'interface' 'lan'            
        option 'type' 'bridge'      
        option 'ifname' 'eth0.0'    
        option 'proto' 'static'     
        option 'netmask' '255.255.255.0'
        option 'dns' '208.67.222.222'   
        option 'gateway' '192.168.3.1'  
        option 'ipaddr' '192.168.3.250'

root@Raspberry:/#  /etc/init.d/dnsmasq restart

### OpenWrtDNS的设置方法 在OpenWrt系统中,可以通过多种方式来配置DNS。以下是几种常见的DNS设置位置及其具体操作: #### 1. **通过Web界面设置** 用户可以在图形化界面上完成DNS的配置。进入`Network -> Interfaces -> LAN`页面,在`DHCP Server`部分找到`Advanced Settings`下的`DHCP-Options`字段。在此处输入类似如下内容即可实现自定义DNS服务器的广播[^3]。 例如: ``` 6,8.8.8.8,8.8.4.4 ``` 这里的数字`6`代表的是标准RFC指定的DNS选项编号,后面跟随具体的IPv4地址列表,各IP之间用逗号分隔开。 对于支持IPv6环境的情况,则可以同时加入IPv6形式的DNS记录: ```plaintext option dns '2001:4860:4860::8888 2001:4860:4860::8844' ``` #### 2. **手动编辑配置文件** 如果倾向于命令行或者更精确控制的话,可以直接修改位于`/etc/config/dhcp`路径下的配置文件。下面是一个典型的LAN接口配置片段示例[^2]: ```bash config dhcp 'lan' option interface 'lan' option dhcpv6 'server' option ra 'server' option ra_management '1' list dns '8.8.8.8' list dns '8.8.4.4' list dns '2001:4860:4860::8888' list dns '2001:4860:4860::8844' ``` 每条`list dns`指令对应添加一个可用的DNS解析器地址。保存更改之后记得重启相关服务使改动生效: ```bash /etc/init.d/dnsmasq restart ``` #### 3. **利用dnsmasq扩展功能** 除了上述两种途径外,还可以借助内置软件包`dnsmasq`进一步增强灵活性。打开其配置文档(`/etc/config/dnsmasq`)并增加相应参数项[^4]: ```bash config dnsmasq ... list server '/example.com/8.8.8.8' list server '/#/119.29.29.29' ``` 此法允许针对特定域名分配专属上游DNS处理器,从而达到优化访问速度的目的。 --- ### 总结 综上所述,无论是采用直观易懂的GUI交互还是深入底层调整文本档位数,均能达成有效管理OpenWrt设备上的DNS设定目标。选择何种方案取决于个人习惯和技术偏好程度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值