收集云服务器优惠信息
记录云服务器使用心得

在Linux系统中使用nmcli命令配置网络IP连接的常用实例详解

作为Linux管理员,可以使用各种工具来配置网络连接,例如nmtui、带有GNOME图形用户界面的NetworkManager,当然还有nmcli(网络管理器命令行工具)。

据了解,许多管理员使用nmtui是因为它的简单性。然而,使用nmcli却可以节省时间,增强你的信心,它允许集成到脚本中,并且是排除Linux服务器网络故障、快速恢复其功能的主要工具。

在本文中,小编主要介绍下nmcli命令的简单用法。当然,你应该始终仔细阅读nmcli手册页(它们是你的第一可信资源)。本文主旨是节省你的时间并为你您提供一些有用的提示,仅当做参考。

nmcli命令语法

nmcli的语法是:

nmcli [OPTIONS] OBJECT {COMMAND | help}

其中OBJECT是常规、网络、无线、连接、设备选项之一。

检查Linux中的网络设备状态

一个好的开始是检查设备的运行情况:

nmcli dev status

DEVICE      TYPE      STATE         CONNECTION 
docker0     bridge    connected     docker0    
virbr0      bridge    connected     virbr0     
enp0s3      ethernet  connected     enp0s3     
virbr0-nic  ethernet  disconnected  --         
lo          loopback  unmanaged     --

正如我们在第一列中看到的,有一个网络设备列表。这里有一张名为enp0s3的网卡。在你的计算机上,可能会看到不同的名称。

其命名取决于网卡的类型(是否是板载网卡、PCI卡等)。在最后一列中,看到配置文件,我们的设备使用这些文件连接到网络

很容易理解,我们的设备本身不能做任何事情。他们需要我们创建一个配置文件来指导他们如何实现网络连接。这些文件也称为“连接配置文件”,我们可以在/etc/sysconfig/network-scripts目录中找到它们。

cd /etc/sysconfig/network-scripts/
ls
样本输出如下
ifcfg-enp0s3  ifdown-isdn      ifup          ifup-plip      ifup-tunnel
ifcfg-lo      ifdown-post      ifup-aliases  ifup-plusb     ifup-wireless
ifdown        ifdown-ppp       ifup-bnep     ifup-post      init.ipv6-global
ifdown-bnep   ifdown-routes    ifup-eth      ifup-ppp       network-functions
ifdown-eth    ifdown-sit       ifup-ib       ifup-routes    network-functions-ipv6
ifdown-ib     ifdown-Team      ifup-ippp     ifup-sit
ifdown-ippp   ifdown-TeamPort  ifup-ipv6     ifup-Team
ifdown-ipv6   ifdown-tunnel    ifup-isdn     ifup-TeamPort

正如在上面看到的,名称以'ifcfg-'(接口配置)开头的文件是连接配置文件。当我们使用nmcli或nmtui创建新连接或修改现有连接时,结果将作为连接配置文件保存在此处。

这里将向你展示我的系统上的其中两个,一个具有dhcp配置,另一个具有静态IP配置。

cat ifcfg-static1
cat ifcfg-Myoffice1

检查网络配置

可以看到,某些属性具有不同的值,而另一些属性如果没有必要则是不存在的。下面快速浏览一下最重要的几项参数:

  • TYPE– 这里有以太网类型,此外还可以是wifi,team,bond或其它等。
  • DEVICE– 与此配置文件关联的网络设备的名称。
  • BOOTPROTO– 如果它的值为“dhcp”,那么连接配置文件将从DHCP服务器获取动态 IP。如果它的值为“none”,那么它不使用动态IP,我们可能会分配一个静态IP。
  • IPADDR– 是分配给我们的配置文件的静态IP。
  • PREFIX– 子网掩码。值24表示255.255.255.0。通过写下子网掩码的二进制格式,可以更好地理解子网掩码。例如,值16、24和26表示前16、24或26位分别设置为1 ,其余为0 。这定义了网络地址和可以分配的IP地址范围。
  • GATEWAY– 网关IP。
  • DNS1DNS2– 我们要使用的两个DNS服务器。
  • ONBOOT– 如果它的值为“yes”,则意味着在启动时我们的计算机将读取此配置文件并尝试将其分配给其设备。

检查Linux中的网络连接

现在,让我们继续检查连接:

nmcli con show

显示活动网络连接

最后一列设备可以帮助我们了解哪个连接处于“ UP ”状态并且正在运行,哪个连接没有。在上图中,可以看到两个活动连接:Myoffice1和enp0s8。

提示:如果只想查看活动连接,请键入:

nmcli con show -a

另外,使用nmcli时,可以使用完整命令形式,但最好使用命令的最小格式,这样省时。因此,以下命令是相同的效果:

nmcli connection show
nmcli con show
nmcli c s

在Linux中检查IP地址

如果我检查设备的IP地址,命令如下:

ip a

检查服务器IP地址

我看到我的设备enp0s3从dhcp服务器获取了192.168.1.6 IP,因为启动的Myoffice1连接配置文件具有dhcp配置。

如果带上带有“up”名称的连接配置文件,那么设备将采用static1连接配置文件中定义的静态IP地址,即192.168.1.40 。

nmcli con down Myoffice1 ; nmcli con up static1
nmcli con show

现在再次查看IP地址:

ip a

检查网络静态IP地址

实际上,我们可以制作第一个连接配置文件。必须定义的最少属性是type、ifname和con-name,其中:

  • type– 用于连接类型。
  • ifname– 分配给我们连接的设备名称。
  • con-name– 用于连接名称。

在Linux中创建新的以太网连接

现在建立一个新的以太网连接,名称为Myhome1,分配给设备enp0s3

nmcli con add type ethernet con-name Myhome1 ifname enp0s3

检查其配置:

cat ifcfg-Myhome1

创建新的网络连接

正如你所看到的,它有BOOTPROTO=dhcp,因为我们没有提供任何静态IP地址。

提示:我们可以使用“nmcli con mod“命令修改任何连接。但是,如果你修改dhcp连接并将其更改为静态,请不要忘记将“ipv4.method”“auto”更改为“manual”。否则,最终将得到两个 IP 地址:一个来自dhcp服务器,另一个是静态IP地址。

现在创建一个名为static2的新以太网连接配置文件,该配置文件将分配给设备enp0s3,静态IP为192.168.1.50,子网掩码255.255.255.0=24 ,网关为192.168.1.1。

nmcli con add type ethernet con-name static2 ifname enp0s3 ip4 192.168.1.50/24 gw4 192.168.1.1

检查其配置:

cat ifcfg-static2

创建新的以太网连接

修改Linux中的DNS服务器

接下来修改最后一个连接配置文件并添加两个dns服务器。

nmcli con mod static2 ipv4.dns“8.8.8.8 8.8.4.4”

提示:这里有一点您必须注意:添加和修改连接时,IP地址和网关的属性具有不同的名称。当添加连接时,使用“ip4”“gw4”,而当修改它们时,使用“ipv4”“gwv4”

在Linux系统中建立以太网连接

现在打开这个连接配置文件:

nmcli con down static1 ; nmcli con up static2

毋庸置疑,设备enp0s3现在的IP地址为192.168.1.50。

ip a

验证新网络连接的IP地址

提示:其实有很多属性可以修改。如果没有记住它们,可以通过键入“nmcli con show”+连接名称进行查看,例如:

nmcli con show static2

在这里,你可以修改所有以小写形式编写的属性。

例如:当关闭一个连接配置文件时,NetworkManager会搜索另一个连接配置文件并自动将其打开。如果不希望连接配置文件自动连接,输入以下命令:

nmcli con mod static2 connection.autoconnect no

在Linux中为用户设置以太网连接权限

我们只允许用户stella使用此配置文件:

nmcli con mod static2 connection.permissions stella

提示:如果想向多个用户授予权限,则输入的内容user:user1,user2之间不得有空格:

nmcli con mod static2 connection.permissions user:stella,john

允许用户进行网络连接

如果你以其它用户身份登录,则无法“启动”此连接配置文件:

nmcli con show
nmcli con up static2
ls /etc/sysconfig/network-scripts

启用网络连接

错误消息表明连接“static2”不存在,这是因为当前用户无权建立此连接,所以不能进行更改。

总结

总的来说,nmcli是NetworkManager的命令行工具,用于管理网络连接。NetworkManager是一个在许多Linux发行版中广泛使用的网络连接管理器,它负责处理以太网、Wi-Fi、蓝牙等网络连接。nmcli提供了一个方便的方式来通过命令行界面管理这些连接。

所以,不要犹豫,赶快使用nmcli来管理Linux网络配置吧,因为它真的简单而且很有帮助。最后在提醒下,有任何不清楚的地方参考nmcli帮助手册,本文内容仅供参考。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《在Linux系统中使用nmcli命令配置网络IP连接的常用实例详解》
文章链接:https://www.ecscoupon.com/2724.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!