配置系统DNS
PanGu开发板默认使用connman作为网络设备的管理组件,所以DNS也被接管了,因此可以看到/etc/resolv.conf文件无法直接修改
root@pangu:~# ls -l /etc/resolv*
lrwxrwxrwx 1 root root 26 Mar 9 2018 /etc/resolv-conf.connman -> ../run/connman/resolv.conf
lrwxrwxrwx 1 root root 34 Mar 9 2018 /etc/resolv-conf.systemd -> ../run/systemd/resolve/resolv.conf
lrwxrwxrwx 1 root root 28 Nov 9 10:15 /etc/resolv.conf -> /var/run/connman/resolv.conf
修改DNS,需要通过connman配置即可。
Connman配置DNS
插上网线后,eth0获取到IP地址,可以从connman查看到已经有的服务
root@pangu:~# connmanctl services
*AO Wired ethernet_6e38fb045f7c_cable
然后配置DNS
connmanctl config ethernet_6e38fb045f7c_cable --nameservers 114.114.114.114
此时配置将被存储在/var/lib/connman目录下,对应的service文件内。
但由于STM32MP1的网络MAC地址不是固定的,导致每次启动后,connman认为不是同一个网络接口,重新生成新的配置文件,所以无法实现保持的效果。
传统方式配置DNS
需要先禁用Connman的DNS代理服务,打开文件"/etc/systemd/system/multi-user.target.wants/connman.service"
[Service]
Type=dbus
BusName=net.connman
Restart=on-failure
ExecStart=/usr/sbin/connmand -n
将原来的ExecStart修改为如下
ExecStart=/usr/sbin/connmand -n --nodnsproxy
然后修改/etc/tmpfiles.d/connman_resolvconf.conf文件,前面加"#"符号。
#d /var/run/connman - - - -
#L+ /etc/resolv.conf - - - - /var/run/connman/resolv.conf
然后删除原来的链接文件,重新写入DNS信息
rm /etc/resolv.conf
echo "114.114.114.114" > /etc/resolv.conf
作者:SteveChen 创建时间:2024-09-18 11:58
最后编辑:SteveChen 更新时间:2024-09-18 11:58
最后编辑:SteveChen 更新时间:2024-09-18 11:58