0
点赞
收藏
分享

微信扫一扫

企业Linux服务器上的网络接口和设置

yeamy 2022-03-23 阅读 69
linuxcentos

描述网络概念

TCP/IP网络模型

TCP/IP网络模型是一种简化的四层抽象集合,用于描述不同的协议如何进行互操作,以便计算机通过互联网将流量从一台计算机发送到另一台计算机。它由RFC 1122护粮网主机要求–通讯层规定。
这四层是:

  • 应用:
    每一应用程序具有用于通信的规范,以便客户端和服务器可以跨平台通信。常用的协议有
    SSH (远程登录)、HTTPS(安全Web)、NFS或 CIFS(文件共享),以及SMTP (电子邮件递送)等。

  • 传输:
    传输协议有TCP和UDP。TCP是可靠连接导向型通信,而UDP属于无连接数据报协议。应用协议使用TCP或UDP端口。/etc/services文件中可以找到常用和已注册的端口列表。
    当数据包在网络上发送时,服务端口和IP地址组合形成套接字。每个数据包具有一个源套接字和目标套接字。此信息可以在监控和过滤时使用。

  • 互联网:
    互联网或网络层将数据从源主机传送到目标主机。IPv4和IPv6协议是互联网层协议。每一主机具有IP地址和前缀,用于确定网络地址。路由器用于连接网络。

  • 链路:链路或介质存取层提供与物理介质的连接。最常见的网络类型是有线以太网(802.3)和无线局域网(802.11)。每一物理设备具有一个硬件地址(MAC),用于标识局域网络段中数据包的目的地。

描述网络接口名称

系统上的每个网络端口都有一个名称,您可以使用该名称来配置和识别它。

旧版Linux将eth0、eth1和eth2等名称用于各个网络接口。名称eth0是操作系统检测到的第一个网络端口,eth1则是第二个,以此类推。但是,随着设备的添加和移除,检测设备并给它们命名的机制可能会改变哪个接口获得哪个名称。此外,PCle标准无法保证在启动时检测PCle设备的顺序;鉴于设备或系统启动期间的变化,这可能会意外改变设备命名。

较新版本的企业Linux采用另一种命名体系。系统将基于固件信息、PCI总线拓扑及网络设备的类型来分配网络接口名称,而非基于检测顺序。

网络接口名称以接口类型开头:

  • 以太网接口以en开头
  • WLAN接口以wl开头. wWAN接口以ww开头

在类型之后,接口名称的其余部分将基于服务器固件所提供的信息,或由PCI拓扑中设备的位置确定。

  • oN表示这是一个板载设备,且服务器的固件提供设备的索引编号N。因此,eno1代表板载以太网设备l。许多服务器不提供此信息。

  • sN表示该设备位于PCI热插拔插槽N中。因此, ens3代表PCI热插拔插槽3中的以太网卡。

  • pMSN表示这是一个位于插槽N中总线M上的PCI设备。因此,wlp4s0代表位于插槽О中PCI总线4上的WLAN 卡。如果该卡是一个多功能设备(可能是有多个端口的以太网卡,或是具有以太网外加其他一些功能的设备),设备名称中就可能会添加fN。因此, enp0s1f0代表插槽1中总线0上的以太网卡的功能0。可能还有一个名为enp0s1f1的接口,它代表了同一设备的功能lo

持久性命名意味着一旦您知道系统上网络接口的名称,也就知道它以后不会再发生改变。您要权衡的是不能认为有一个接口的系统就会将该接口命名为eth0。

IPV4网络

IPv4是当今互联网上使用的主要网络协议。您应该至少对IPv4网络有基本的了解,以便管理服务器的网络通信。

IPV4地址

IPv4地址是一个32位数字,通常使用点号分隔的四个十进制八位字节(取值范围从0到255)表示。此类地址分为两个部分:网络部分和主机部分。位于同一子网中的所有主机可以在彼此之间直接通信,无需路由器,这些主机具有相同的网络部分。网络部分用于标识子网。同一子网中的任何两台主机都不能具有相同的主机部分。主机部分用于标识子网中的特定主机。

在现代互联网中,IPv4子网的大小是可变的。要分清IPv4地址中的网络部分和主机部分,管理员必须知道分配给子网的子网掩码。子网掩码指明有多少位的IPv4地址属于子网。可供主机部分使用的位数越多,子网中就能有越多的主机。

有时,将子网中可能达到的最低地址-(主机部分的二进制值全为零)称为网络地址。在IPv4中,子网中可能达到的最高地址(主机部分的二进制值全为一)用于广播消息,该地址称为广播地址。子网掩码可用两种格式表示。较早的子网掩码语法中将24位用于网络部分,即255.255.255.0。较新的语法称为CIDR表示法,它指定了一个网络前缀/24。两种格式都传达同样的信息,即IP地址中有多少前导位组成其网络地址。

以下示例说明IP地址、前缀((子网掩码)、网络部分和主机部分之间的关系。
在这里插入图片描述

IPV4路由表

不管使用IPv4还是IPv6,网络流量都需要以主机到主机和网络到网络的形式进行传输。每一主机具有一个路由表,该表告诉主机如何路由特定网络的通信。路由表条目将列出目标网络、用于向其发送流量的接口,以及任何中间路由器的IP地址((用于将消息中继到最终目的地)。与网络流量目的地相符的路由表条目用于路由该流量。如果两个条目匹配,则使用前缀最长的那一个。

如果网络流量不匹配更为具体的路由,路由表通常具有一个代表整个IPv4互联网的默认路由条目:0.0.0.0/0。此默认路由指向可通达的子网上的路由器(也就是说,在主机路由中具有更具体路由的子网上)。

如果路由器收到的流量并非将其作为寻址目标,则路由器不会像普通主机那样忽略该流量,而是根据自己的路由表转发该流量。这种处理方式可能会将流量直接发送到目标主机(如果路由器恰巧与目标位于同一子网中),也可能转发到其他路由器。这种转发过程会一直进行,直到流量到达最终目标。
在这里插入图片描述

路由表示例

目的地接口
192.0.2.0wlo1
192.168.5.0/24enp3s0
0.0.0.0/0(默认)enp3s0

在本例中,从此主机发往IP地址192.0.2.102的流量将通过wlo1无线接口直接传输到该目的地,因为它与192.0.2.0/24路由的匹配度最高。发往IP地址192.168.5.3的流量将通过enp3s0以太网接口直接传输到该目的地,因为它与192.168.5.0/24路由的匹配度最高。

发往IP地址10.2.24.1的流量将从enp3s0以太网接口发送到192.168.5.254的路由器,该路由器将该通信转发到其最终目的地。该流量与0.0.0.0/0路由的匹配度最高,因为此主机的路由表中没有更加具体的路由。该路由器将使用自身的路由表来判断流量需要转发到的下一个位置。

IPV4地址和路由配置

服务器可以在引导时从DHCP服务器自动配置其IPv4网络设置。本地客户端守护进程查询链路以获取服务器和网络设置,并获得租约以便在特定时间内使用这些设置。如果客户端未定期请求续订租约,则可能会丢失其网络配置设置。

作为替代方案,您可以将服务器配置为使用静态网络配置。在这种情况下,网络设置读取自本地配置文件。您必须从网络管理员处获取正确的设置,并根据需要手动更新它们,以避免与其他服务器冲突。

IPV6网络

IPv6旨在最终取代IPv4网络协议。您将需要了解它的工作原理,因为越来越多的生产系统使用IPv6寻址。例如,许多ISP已经将IPv6用于内部通信和设备管理网络,以便将稀缺的IPv4地址保留给客户使用。

IPv6也可以在双栈模型中与IPv4并行使用。在这种配置中,网络接口可以同时具有IPv6地址和lPv4地址。

IPV6地址

IPv6地址是一个128位数字,通常表示为八组以分号分隔的四个十六进制半字节。每个半字节均表示4位的IPv6地址,因此每个组表示16位的IPv6地址。

为了便于编写IPv6地址,不需要编写分号分隔的组中的前导零。但是,每个冒号分隔的组中必须至少写入一个十六进制数字。

注意,根据这些规则,2001:db8::0010:0:0:0:1将成为编写示例地址的另一种不太方便的方法。但它也是相同地址的有效表示法,而这可能让不熟悉IPv6的管理员感到困惑。有关编写始终可读的地址的一些提示如下:

  • 抑制组中的前导零。

  • 使用::来尽可能地缩短。

  • 如果地址包含两个连续的零组,且长度相同,则最好将每个组最左边的零组缩短为∵:,最右边的组缩短为:0:。

  • 尽管允许这样做,但不要使用::来缩短一组零。应改为使用:0:,而将::留给连续的零组。

  • 始终对十六进制数字使用小写字母a 到 f。

IPV6子网划分
普通的IPv6单播地址分为两部分:网络前缀和接口ID。网络前缀标识子网。同一子网上的任何两个子网接口都不能具有相同接口ID,接口ID可标识子网上的特定接口。

与IPv4不同的是,IPv6具有一个标准的子网掩码/64,用于几乎所有的普通地址。在此情况下,地址的一半是网络前缀,另一半是接口ID。这意味着单个子网可以根据需要容纳任意数量的主机。

通常,网络提供商将为组织分配一个较短的前缀,如/48。这会保留其余网络部分以用于通过这一分配的前缀来指定子网(长度始终为/64)。对于/48分配,将保留16位以用于子网(最多65536个子网)。

在这里插入图片描述

常用IPV6地址和网络

IPV6地址或网络用途
::1/1128本地主机
::为指定的地址
::/0默认路由(IPV6互联网)
2000::/3全局单播地址
fd00::/8唯一本地地址(RFC4193)
fe80::/10本地链路地址
ff00::/8多播

IPv6中的本地链路地址是一个无法路由的地址,仅用于与特定网络链路上的主机进行通信。系统上的每个网络接口都通过fe80::/64网络上的本地链路地址来自动配置。为确保其唯一性,本地链路地址的接口ID是通过网络接口的以太网硬件地址来构建的。将48位MAC地址转换为64位接口ID的一般方法是反转7位的MAC地址,然后在其两个中间字节之间插入ff:fe。

  • 网络前缀: fe80: :/64

  • MAC地址:00:11:22:aa : bb:cc

  • 本地链路地址: fe80::211:22ff:feaa : bbcc/64

其他计算机的本地链路地址可以由相同链路上的其他主机像普通地址那样使用。由于每个链路具有fe80::/64网络,不能使用路由表来正确地选择出站接口。在地址的结尾必须使用作用域标识符来指定与本地链路地址进行通信时使用的链路。作用域标识符由%以及后跟的网络接口名称组成。

识别网络接口

ip link命令将列出系统上可用的所有网络接口:
在这里插入图片描述

在上面的示例中,服务器有三个网络接口:lo(这是连接到服务器本身的换回设备)以及一个以太网接口(ens33)virbr0虚拟网络接口

要正确配置每个网络接口,您需要知道哪个接口连接到哪个网络。在很多情况下,您会知道连接到每个网络的接口的MAC地址,因为它就实际打印在卡或服务器上,或者因为这是一个虚拟机,而您知道它是如何配置的。设备的MAC地址列在每个接口的link/ether后面。因此,您知道MAC地址为00:0c:29:d2:92:d0的网卡就是网络接口ens33。

显示IP地址

使用ip命令来查看设备和地址信息。单个网络接口可以具有多个IPv4或IPv6地址。

在这里插入图片描述

  • 1、活动接口为UP。

  • 2、Link/ether行指定设备的硬件(MAC)地址

  • 3、inet行显示IPV4地址、其网络前缀长度和作用域

  • 4、inet6行显示IPv6地址、其网络前缀长度和作用域。此地址属于全局作用域,通常使用此地址。

  • 5、inet6行显示接口具有链路作用域的IPV6地址,并且只能用于本地以太链路上的通信

显示性能统计信息

ip命令也可用于显示关于网络性能的统计信息。每个网络接口的计数器可用于识别网络问题的存在。计时器记录的统计信息包括收到(RX)和传出(TX)的数据包数、数据包错误数,以及丢弃的数据包数。
在这里插入图片描述

命令行配置网络

描述NETWORKMANAGER概念

NetworkManager是监控和管理网络设置的守护进程。除了该守护进程外,还有一个提供网络状态信息的GNOME通知区域小程序。命令行和图形工具与NetworkManager通信,并将配置文件保存在letc/sysconfig/network-scripts目录中。

  • 设备是网络接口。

  • 连接是可以为设备配置的设置的集合。

  • 对于任何一个设备,在同一时间只能有一个连接
    处于活动状态。可能存在多个连接,以供不同设备使用或者以便为同–设备更改配置。如果需要临时更改网络设置,而不是更改连接的配置,您可以更改设备的哪个连接处于活动状态。例如,膝上型计算机上无线网络接口的设备可以针对工作站点和家中的无线网络上使用不同的连接。

  • 每个连接具有一个用于标识自身的名称或ID。

nmcli 实用程序可用于从命令行创建和编辑连接文件。

查看网络信息

nmcli device status命令可显示所有网络设备的状态:
在这里插入图片描述
nmcli con show命令可显示所有连接的列表。要仅列出活动的连接,可使用–active选项。
在这里插入图片描述

添加网络连接

nmcli con add命令用于添加新的网络连接。随后的示例nmcli con add命令假定正在添加的网络连接的名称尚未在使用中。

以下命令将为接口ens33添加一个新连接static,此连接将使用DHCP获取IPv4联网信息并在系统启动后自动连接。此命令还将通过侦听本地链路上的路由器播发来获取IPv6联网设置。配置文件的名称基于的con-name选项的值ens33,并保存到/etc/sysconfig/network-scripts/ifcfg-ens33文件。

在这里插入图片描述

nmcli connection add con-name static type ethernet ifname ens33 

下一个示例使用静态IPv4地址为ens33设备创建static连接,且使用IPv4地址和网络前缀
192.168.1.100/24及默认网关192.168.0.1,但是仍在启动时自动连接并将其配置保存到相同文件中。
在这里插入图片描述

nmcli connection add con-name static type ethernet ifname ens33 ipv4.addresses 192.168.1.100/24 gw4 192.168.1.1

最后一个示例使用静态IPv6和IPv4地址为ens33设备创建static连接,且使用IPv6地址和网络前缀2001: db8:0:1::c000:207/64及默认IPv6网关2001;db8:0:1::1,以及IPv4地址和网络前缀192.168.1.100及默认IPv4网关192.168.1.1,但是仍在启动时自动连接,并将其配置保存到/etc/sysconfig/network-scripts/ifcfg-eno2。
在这里插入图片描述

nmcli connection add con-name st-ip6 type ethernet ifname ens33 ipv6.address 2001:db8:0:1::c000:207/64 ipv6.gateway 2001:db8:0:1::1 ipv4.address 192.168.1.100/24 gw4 192.168.1.1

控制网络连接

nmcli con up st-ip6 命令将在其绑定到的网络接口上激活st-ip6连接。请注意,命令采用连接的名称,而非网络接口的名称。切记,nmcli con show命令显示所有可用连接的名称。

在这里插入图片描述
nmcli dev disconnect device命令将断开与网络接口device的连接并将其关闭。此命令可以缩写为nmcli dev dis device:
在这里插入图片描述

nmcli con down name命令通常并非是停用网络接口的最佳方法,因为它会关闭连接。但在默认情况下,大部分有线系统连接是在启用了autoconnect的情况下配置的。这将在其网络接口可用后立即激活连接。由于连接的网络接口仍可用,因此nmcli con down name将关闭接口,但是NetworkManager会立即将其重新开启,除非连接完全与接口断开。

修改网络连接设置

NetworkManager连接具有两种类型的设置。有静态连接属性,它们是由管理员配置并存储在/etc/sysconfig/network-scripts/ifcfg-*中的配置文件中。

要列出某个连接的当前设置,请运行nmcli con show ens33命令,其中 ens33是连接的名称。小写的设置是静态属性,管理员可以更改全大写的设置是活动设置,临时用于此连接实例。
在这里插入图片描述
nmcli con mod ens33命令可用于更改连接的设置。这些更改还将保存在连接的/etc/
sysconfig/network-scripts/ifcfg-ens33文件中。
要针对static连接将IPv4地址设置为192.168.1.100并将默认网关设置为192.168.1.1:
在这里插入图片描述
要针对static连接将IPv6地址设置为2001:db8:0:1 ::a00;1/64并将默认网关设置为2001: db8 :0:1: : 1:

在这里插入图片描述

如果某个连接之前通过DHCPv4服务器获取其IPv4信息,而现在更改为仅通过静态配置文件来获取,那么设置ipv4.method也应从auto更改为manualo

同样,如果某个连接之前通过SLAAC 或 DHCPv6服务器获取其IPv6信息,而现在更改为仅通过静态配置文件来获取,那么ipv6.method设置也应从auto或 dhcp更改为manual。

否则,连接在激活后可能挂起或者无法成功完成,或者除了静态地址外还从DHCP获取IPv4地址或从SLAAC 或DHCPv6获取IPv6地址。

删除网络连接

nmcli con del ens33命令将从系统中删除名为name的连接,同时断开它与设备的连接并删除文件letc/sysconfig/network-scripts/ifcfg-ens33。

在这里插入图片描述

举报

相关推荐

0 条评论