nmcli配置网络、dns的用法

浪子不回头ぞ 提交于 2019-12-07 04:17:55

一、NetworkManager服务:NetworkManager - Linux Networking made Easy

NetworkManager简介:NetworkManager由一个管理系统网络连接、并且将其状态通过D-BUS(是一个提供简单的应用程序 互相通讯的途径的自由软件项目,它是做为freedesktoporg项目的一部分来开发的。)进行报告的后台服务,以及一个允许用户管理网络连接的客户 端程序。

NetworkManager的优点:简化网络连接的工作,让桌面本身和其他应用程序能感知网络。

nmcli 命令中的 nm 是 NetworkManager 的缩写

所以,从字面上理解, nmcli 是 NetworkManager 的客户端命令,所以使用nmcli指令,请确保NetworkManager服务开启

nmcli 是 NetworkManager 的命令行控制器,下面来看看nmcli如何使用

nmcli dev dis dev名                  ##关闭该接口,并暂时的停止自动连接
nmcli net off                        ##关闭所有的可管理接口
nmcli con mod id                     ##修改一个连接 
nmcli dev status                     ##列出所有的设备

 

nmcli con show                       ##列出所有的连接

1.添加一个静态ip

nmcli con add                        ##增加一个连接nmcli con add 
nmcli connection add con-name lei type ethernet ifname eth0 ip4 172.25.254.156/24  ##添加一个静态网络
con-name             ##网络名称
type                 ##网络类型
ifname               ##网络接口名称
autoconnection       ##是否自动连接
ipv4                 ##ip配置

nmcli con show                       ##显示出了刚添加的网络,所以成功

2.添加一个动态ip

nmcli connection add con-name lei type ethernet ifname  eth0  autoconnect yes  ##添加一个动态网络,由dhcp自动分配网络

3.更改网络

nmcli con up id名                    ##激活一个连接
nmcli con down id名                  ##取消该连接,如果是自动连接的网络会重新连接

注:用上面指令可以重启指定的网卡

4.将静态网络改为动态网络

nmcli connection modify lei ipv4.method auto    ##将网络改为动态的

5.将动态网络改为静态网络

nmcli connection modify lei ipv4.addresses 172.25.254.156   ##将网络改为静态的

6.删除网络

nmcli con del lei     ##删除lei这个网络

二、dns

DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。


1.之前的单跳路由实验中,不可以ping网址,现在在虚拟机编辑/etc/hosts文件中添加ip 域名,然后在ping的时候就可以直接输入域名了,前提是你已经设置好了单跳路由,把真机当作路由器

vim /etc/hosts

 

然后在ping百度,就可以了

2. 在DNS指向文件/etc/resolv.conf文件中添加知道域名解析的nameserver

eg:在DNS指向文件那种添加nameserver  114.114.114.114

vim /etc/resolv.conf
然后添加如下字段
nameserver 114.114.114.114

 

就可以ping通网上的网站了

注意:在动态网络下,添加是临时的;在静态网络下不是临时的

3./etc/nsswitch.com 文件确定DNS解析的优先级顺序

我现在在hosts文件中添加csdn的域名47.95.164.112,而在dns中设置的dnsserver是114的,那么默认情况下是通过那个服务来ping通csdn网站呢,默认是走的hosts的文件,因为默认是本地的优先级高,那么如何使用dnsserver这个服务呢

vim /etc/nsswitch.com

如图,第39行的file改成dns即可

在使用ping命令的时候走的就是dnsserver服务了

三、实验

1.动态分配网络时候的dns设定

当网络设置为dhcp(如何设置请看我linux中的网络配置那篇文章)的时候,ip,子网掩码以及网关等都是自动分配的,在这种情况下,会自动的分配一个dns

如果我不想用这个dns,然后我自己在配置文件中添加一个dns服务器的ip,在系统重启后,这个dns服务器会消失不见

那么如何才能使用我自己设定的dns服务器呢

vim /etc/sysconfig/network-scripts/ifcfg-eth0

将第13行的PEERDNS改为no

dns就不会自动分配,然后就可以在dns的配置文件中添加我们想要使用的dns,在ping的时候就使用自己设定的dns了

2.静态设置dns

静态网络下,在/etc/resolv.conf文件中添加的nameserver 重启网络不会消失

若在网络设置中添加DNS,则这个DNS会覆盖掉/etc/resolv.conf文件中的手动设置的一个nameserver

注意:只是覆盖掉,不是丢失

若用PEERDNS=no,则会不显示网络中设定的DNS,手动添加的nameserver重新显示出来。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!