ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux NetworkManager 管理下DNS配置

2021-01-01 17:32:27  阅读:451  来源: 互联网

标签:root etc host DNS Linux test NetworkManager yes my


系统重启后/etc/resolv.conf 被重置

1 [root@my-test-host ~]# cat /etc/resolv.conf 
2 # Generated by NetworkManager

 

当前网卡配置文件

 1 [root@my-test-host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
 2 
 3 # Created by cloud-init on instance boot automatically, do not edit.
 4 #
 5 DEVICE=eth0
 6 HWADDR=FA:16:3E:C1:B6:67
 7 MTU=1450
 8 ONBOOT=yes
 9 TYPE=Ethernet
10 USERCTL=no
11 IPADDR=10.200.5.164
12 PREFIX=24
13 GATEWAY=10.200.5.1
14 IPV6INIT=yes
15 IPV6ADDR=2409:8c60:2500:28::405:5a4/112
16 IPV6_DEFAULTGW=2409:8c60:2500:28::405:1
17 PROXY_METHOD=none
18 BROWSER_ONLY=no
19 DEFROUTE=yes
20 IPV4_FAILURE_FATAL=no
21 IPV6_AUTOCONF=yes
22 IPV6_DEFROUTE=yes
23 IPV6_FAILURE_FATAL=no
24 NAME="System eth0"
25 UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
26 BOOTPROTO=none

 

使用nmcli添加DNS服务器

[root@my-test-host ~]# nmcli c modify "System eth0" ipv4.dns "10.200.5.4 10.200.6.4"

 

nmcli添加DNS后/etc/resolv.conf 中并没有相应的配置生成。此时也不能完成域名解析,也就是说虽然通过nmcli已经添加DNS server但系统最终还是会去/etc/resolv.conf查询dns server配置。

 1 [root@my-test-host ~]# cat /etc/resolv.conf 
 2 # Generated by NetworkManager
 3 [root@my-test-host ~]# nmcli c s "System eth0" |grep dns
 4 connection.mdns: -1 (default)
 5 ipv4.dns: 10.200.5.4,10.200.6.4
 6 ipv4.dns-search: --
 7 ipv4.dns-options: --
 8 ipv4.dns-priority: 0
 9 ipv4.ignore-auto-dns: no
10 ipv6.dns: --
11 ipv6.dns-search: --
12 ipv6.dns-options: --
13 ipv6.dns-priority: 0
14 ipv6.ignore-auto-dns: no
15 [root@my-test-host ~]# ping www.baidu.com
16 ping: www.baidu.com: Name or service not known

 

查看网卡配置,多出的两条DNS配置是通过nmcli添加DNS时自动更新的。

 1 [root@my-test-host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
 2 # Created by cloud-init on instance boot automatically, do not edit.
 3 #
 4 DEVICE=eth0
 5 HWADDR=FA:16:3E:C1:B6:67
 6 MTU=1450
 7 ONBOOT=yes
 8 TYPE=Ethernet
 9 USERCTL=no
10 IPADDR=10.200.5.164
11 PREFIX=24
12 GATEWAY=10.200.5.1
13 IPV6INIT=yes
14 IPV6ADDR=2409:8c60:2500:28::405:5a4/112
15 IPV6_DEFAULTGW=2409:8c60:2500:28::405:1
16 PROXY_METHOD=none
17 BROWSER_ONLY=no
18 DEFROUTE=yes
19 IPV4_FAILURE_FATAL=no
20 IPV6_AUTOCONF=yes
21 IPV6_DEFROUTE=yes
22 IPV6_FAILURE_FATAL=no
23 NAME="System eth0"
24 UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
25 BOOTPROTO=none
26 DNS1=10.200.5.4
27 DNS2=10.200.6.4

 

尝试reload/load网卡配置,还是无法进行域名解析

[root@my-test-host ~]# nmcli c reload /etc/sysconfig/network-scripts/ifcfg-eth0
[root@my-test-host ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
[root@my-test-host ~]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
[root@my-test-host ~]# nmcli c load /etc/sysconfig/network-scripts/ifcfg-eth0
[root@my-test-host ~]# ping www.baidu.com
ping: www.baidu.com: Name or service not known

 

重启NetworkManager 后/etc/resolv.conf 自动更新了DNS server

1 [root@my-test-host ~]# systemctl restart NetworkManager
2 [root@my-test-host ~]# cat /etc/resolv.conf 
3 # Generated by NetworkManager
4 nameserver 10.200.5.4
5 nameserver 10.200.6.4

 

通过命令nmcli清除DNS并重启NetworkManager,发现/etc/resolv.conf 中之前添加的nameserver并没有被清理,但ifcfg-eth0中的配置被清理了。也就是说重启NetworkManager会增加/etc/resolv.conf中的配置,但似乎不会删除已有配置。当然reboot后/etc/resolv.conf还是会被重置的。

 1 [root@my-test-host ~]# nmcli c modify "System eth0" ipv4.dns ""
 2 [root@my-test-host ~]# systemctl restart NetworkManager
 3 [root@my-test-host ~]# cat /etc/resolv.conf 
 4 # Generated by NetworkManager
 5 nameserver 10.200.5.4
 6 nameserver 10.200.6.4
 7 [root@my-test-host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
 8 # Created by cloud-init on instance boot automatically, do not edit.
 9 #
10 DEVICE=eth0
11 HWADDR=FA:16:3E:C1:B6:67
12 MTU=1450
13 ONBOOT=yes
14 TYPE=Ethernet
15 USERCTL=no
16 IPADDR=10.200.5.164
17 PREFIX=24
18 GATEWAY=10.200.5.1
19 IPV6INIT=yes
20 IPV6ADDR=2409:8c60:2500:28::405:5a4/112
21 IPV6_DEFAULTGW=2409:8c60:2500:28::405:1
22 PROXY_METHOD=none
23 BROWSER_ONLY=no
24 DEFROUTE=yes
25 IPV4_FAILURE_FATAL=no
26 IPV6_AUTOCONF=yes
27 IPV6_DEFROUTE=yes
28 IPV6_FAILURE_FATAL=no
29 NAME="System eth0"
30 UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
31 BOOTPROTO=none
32 [root@my-test-host ~]#

 

再测试下发现,当通过nmcli清空DNS时,重启NetworkManager服务/etc/resolv.conf 不会被重置,但通过nmcli改变了原来DNS配置(也就是ifcfg-eth0中的配置),重启NetworkManage是会更新/etc/resolv.conf的。

 1 [root@my-test-host ~]# nmcli c modify "System eth0" ipv4.dns "8.8.8.8"
 2 [root@my-test-host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
 3 # Created by cloud-init on instance boot automatically, do not edit.
 4 #
 5 DEVICE=eth0
 6 HWADDR=FA:16:3E:C1:B6:67
 7 MTU=1450
 8 ONBOOT=yes
 9 TYPE=Ethernet
10 USERCTL=no
11 IPADDR=10.198.5.164
12 PREFIX=24
13 GATEWAY=10.198.5.1
14 IPV6INIT=yes
15 IPV6ADDR=2409:8c60:2500:28::405:5a4/112
16 IPV6_DEFAULTGW=2409:8c60:2500:28::405:1
17 PROXY_METHOD=none
18 BROWSER_ONLY=no
19 DEFROUTE=yes
20 IPV4_FAILURE_FATAL=no
21 IPV6_AUTOCONF=yes
22 IPV6_DEFROUTE=yes
23 IPV6_FAILURE_FATAL=no
24 NAME="System eth0"
25 UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
26 BOOTPROTO=none
27 DNS1=8.8.8.8
28 [root@my-test-host ~]# cat /etc/resolv.conf 
29 # Generated by NetworkManager
30 nameserver 10.198.5.4
31 nameserver 10.198.6.4
32 [root@my-test-host ~]# systemctl restart NetworkManager
33 [root@my-test-host ~]# cat /etc/resolv.conf 
34 # Generated by NetworkManager
35 nameserver 8.8.8.8
36 [root@my-test-host ~]# sed -i '/DNS1/d' /etc/sysconfig/network-scripts/ifcfg-eth0
37 [root@my-test-host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
38 # Created by cloud-init on instance boot automatically, do not edit.
39 #
40 DEVICE=eth0
41 HWADDR=FA:16:3E:C1:B6:67
42 MTU=1450
43 ONBOOT=yes
44 TYPE=Ethernet
45 USERCTL=no
46 IPADDR=10.198.5.164
47 PREFIX=24
48 GATEWAY=10.198.5.1
49 IPV6INIT=yes
50 IPV6ADDR=2409:8c60:2500:28::405:5a4/112
51 IPV6_DEFAULTGW=2409:8c60:2500:28::405:1
52 PROXY_METHOD=none
53 BROWSER_ONLY=no
54 DEFROUTE=yes
55 IPV4_FAILURE_FATAL=no
56 IPV6_AUTOCONF=yes
57 IPV6_DEFROUTE=yes
58 IPV6_FAILURE_FATAL=no
59 NAME="System eth0"
60 UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
61 BOOTPROTO=none
62 [root@my-test-host ~]# systemctl restart NetworkManager
63 [root@my-test-host ~]# cat /etc/resolv.conf 
64 # Generated by NetworkManager
65 nameserver 8.8.8.8
66 [root@my-test-host ~]#

 

标签:root,etc,host,DNS,Linux,test,NetworkManager,yes,my
来源: https://www.cnblogs.com/myss/p/14220416.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有