首先,需要确定DNS是通过哪种方法确定的,简单的可以通过cat /etc/resolve.conf来确定,以下方法都是永久改,临时直接改/etc/resolve.conf即可,可以分为几种情况:
1. 直接配置/etc/resolve.conf

- 直接改
/etc/resolve.conf
这种比较简单,直接改了就行,重启也不会被覆盖或重置。
其他情况通过直接修改此文件,仅仅当时有用,重启服务或者系统都会消失。
2. 使用systemd-resolve服务来管理

- 修改
/etc/systemd/resolve.conf文件 - 把网卡配置文件中每个网卡单独的dns配置改了,或者删了
由于确定/etc/systemd/resolved.conf是优先于网卡配置文件的,所以或者
- 直接改/etc/systemd/resolved.conf文件,全局就会生成
- systemd-resolve --set-dns --interface来设置单网卡(不清楚全局和单网卡哪个优先还是同时)
可以通过systemctl启动该服务
配置地点为/etc/systemd/resolve.conf中,为全局配置
systemd-resolve命令可以对其设置,常用的有--status查看状态
默认情况下每个网卡配置的dns会成为systemd-resolve的网卡配置,由于我也不确定全局和各个网卡dns哪个优先,或者是同时请求,所以最好还是连/etc/network中的网卡配置一起改了,另外我也不确定systemd-resolve对单网卡的配置会不会覆盖网卡配置文件中dns,总之都改了就对了。
确定这种方式是以/etc/systemd/resolved.conf该文件优先
3. 配置文件自动生成

- 修改网卡配置文件,更改或者删了
- 修改
/etc/resolvconf/resolv.conf.d/base这个文件,加入nameserver 1.1.1.1
如果只修改base文件,dns的顺位可能还是网卡优先,除了head还有几个文件,可以改了试试,我没试,修改各个网卡配置文件位置,根据系统和版本不尽相同,见文末。
4. 通过dnsmasq管理


- 还是改网卡配置比较好
在openwrt系统中,位置在dnsmsaq的配置中,比如/tmp/resolv.conf.d/resolv.conf.auto
* 各个网卡配置文件位置
/etc/network/interfaces/etc/network/interfaces.d/*/etc/netplan/*.yaml
肯定没有全,光是ubuntu14到22就一直在改,反正/etc/network算是核心
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://blog.melulu.top/?p=176
共有 0 条评论