Advertisement

linux-网络相关概念

阅读量:

一、TCP/IP网络模型
该模型包含四层次结构(应用层、传输层、Internet网络与链路层),用于描述不同层次间如何实现互操作性,从而实现计算机通过Internet将数据流量从一台设备传输至另一台设备
应用层面:
应用程序是实现功能的核心软件组件,在其中常见应用场景包括SSH远程登录服务、HTTPS加密通信协议、NFS/CIFS文件共享服务以及SMTP邮件传输协议等
传输层面:
TCP与UDP数据传输协议加上端口配置参数可以通过socket(IP地址+端口编号)建立通道进行数据传输操作;每个数据包都包含源端口与目标端口信息供相关系统进行控制与过滤处理;这些信息也可通过特定控制平面进行动态管理
互联网层面:
Internet网络与网络层级负责将数据从源点发送到目标点;其中IPv4与IPv6是Internet基础协议族的重要组成部分;这两类协议通过路由器实现不同子网之间的互联连接
链路层面:
此层次负责物理连接相关的功能配置;常见的网络设备包括以太网基band模块(遵循802.3标准)以及无线局域网设备(基于802.11标准);每个物理设备均具有独特的硬件地址标识符(MAC地址),用于标识本局域网范围内的数据包的目的接收方

二、描述网络接口名称:
旧版红帽企业linux系统中使用eth0、eth1和eth2等命名方式为各个网络接口提供标识符。这种命名方法虽然直观但存在一定的局限性:当设备进行增删操作时会触发原有的命名机制导致名称变更;此外PCIe标准并未规定在启动过程中如何检测各PCIe设备的具体连接顺序。
自rhel 7版本起引入全新的命名策略该策略基于固件信息 PCI总线拓扑结构以及各类网络设备的基础类型而无需对原有接口进行任何修改。
在网络架构中主要有两类主要的网络接口:一类是以太网接口en一类是WLAN接口wl。
这些主要接口之后将按照固件信息或PCI插槽中的设备位置进行详细配置:
首先根据板载设备的信息设置相关参数例如eno1表示安装在该板上的以太网控制器的第一块 PCIe插槽;接着针对PCI热插拔设备设置相应的标识符如ens3表示PCI热插拔插槽3中的以太网卡;最后对于位于特定插槽内的特定总线上的PCI设备则采用类似enp0s1f0这样的格式其中enp0s1f0代表插槽1中总线0上的以太网功能模块而wlp4s0则对应插槽0上总线4中的WLAN功能模块。

三、IPv4的路由:
无论采用哪种IP地址系统(IPv4或IPv6),数据流量必须通过主机间的本地通信和网络间的广播传输。每个主机都有一份专门负责处理本地通信与广播数据包的路由表。此外,在命令行界面中可以通过执行route -n / ip route$来查询当前使用的默认 routes信息。

四、主机名和IP地址:
Linux系统提供了多种方式将主机名与IP地址关联起来的过程被称为名称解析。
静态配置:用于在 /etc/hosts 文件中进行手动更新。
DNS动态获取:通过 DHCP 或 /etc/resolv.conf 配置的 DNS 服务器来进行动态获取。
查看主机名:用于查询 /etc/hostname 文件以获得主机名。
查看DNS服务器配置:用于查阅 /etc/resolv.conf 文件以获得 DNS 服务器配置信息。

五、验证网络配置:
使用ip link或ip link show命令可查看系统上所有可用网络接口及其mac地址信息。
通过执行ip address show指令可获取三层地址信息。可使用以下简写命令:ip a s或直接输入ip a;若需查看特定网卡的详细信息,则可执行ip addr show ens3。

该命令用于显示网络性能统计信息。它包含接收(rx)和发送(tx)的数据包数量、数据包错误数量以及丢弃的数量。

用于验证主机之间连接性的工具:通过ping命令进行测试时可采用以下方法:使用-p参数指定重试次数(-c2表示重试两次)或者直接输入域名进行测试;通过ping6命令结合ipv6address参数可评估ipv6地址的可达性。

八、显示路由表:
ip route命令显示路由信息

九、追踪路由:能够利用traceroute或tracepath来追踪网络流量经过各个路由器到达远程主机所经过的具体路径。默认情况下基于UDP协议运行;而通过-t选项则可以选择基于TCP协议的操作。TracePath6

十、端口和服务故障排除:
使用ss或netstat显示网络连接信息,ss用以替换netstat(不一定安装net-tools软件包)
netstat -tunpla:t(tcp)u(udp)n(数字显示)p(显示pid)l(查看监听)a(查看连接)
ss -tunpla:和netstat参数一样

十一、使用命令行配置网络:
使用nmcli命令管理网络设置和设备。

描述networkmanager概念:
在rhel9版本中,networkmanager用于监控和管理网络功能,在命令行界面(CLI)中可以通过nmcli命令来配置网络设置。将默认配置存储为ini格式文件,并存放在/etc/networkmanager/system-connections/目录中。
已弃用以/etc/sysconfig/network-scripts/目录中的ifcfg格式配置文件,并仍与识别和加载root用户的设置兼容。但为了与较早版本兼容,在此目录下的ifcfg格式连接仍可与识别和加载相关功能配合使用。
其中device表示网络接口设备名称;每个connection对应于特定的一个device的配置集合。特别地,在同一时间只有唯一一个connection处于活动状态状态;每个connection都包含一个名称字段以及唯一标识符字段。

十二、管理网络连接信息:
该命令用于显示当前已建立的所有网络连接;
指定‘Wired connection 1’这一特定连接;
该命令用于显示当前接入的所有网络设备状态;
nmcli device status nmcli device show

十三、添加网络连接:
nmcli con add命令用于添加新的网络连接(注:参考man nmcli-examples中example 11,nmcli命令支持tab补齐)
下例为接口eno2添加一个新连接eno2,此链接将使用dhcp获取ipv4联网信息并在系统启动后自动连接
nmcli con add con-name eno2 type ethernet ifname eno2
下例使用静态ipv4地址为eno2设备创建eno2连接,且使用ipv4地址和网络前缀192.168.0.5/24及默认网关。

十四、nmtui:可视化工具配置网络

nmcli connection up "Wired connection 1":启用网络配置并将其设置为启用状态。
nmcli connection delete "demo connection":取消"demo connection"的网络连接配置设置。
nmcli con up static-addr
nm cli con show --active
nm cli con mod "system eth0" interface autoconnect no

十五、编辑网络配置文件:
可以通过编辑相应的网络配置文件来调整网络参数。
描述连接相关的网络设置时,请注意以下事项:
默认情况下,在执行命令nmcli con mode name后,默认会将修改结果存储在/etc/networkmanager/system-connections/目录下。
虽然支持手动编辑此格式化的文本文件(但不建议这样做),但在必要时仍可尝试操作。
需要注意的是,在/etc/sysconfig/network-scripts/目录中仍然保留着基于ifcfg格式的经典网络设置记录。
根据不同的需求场景,networkmanager采用了以下三种存储策略:

  • 长期保存版本将被放置于/etc/networkmanager/system-connections/目录中进行持久性保存;
  • 短时间使用版本则存放在/run(networkmananger)/system-connections/目录中供当前系统周期内使用;
  • 预部署状态下使用的不可变默认设置位于/usr/lib/networkmanager/system-connections/目录中,默认情况下该位置为空。当通过networkmananger API对预部署配置进行修改时,默认会将其复制至long-term或short-term directory以便后续应用。
    有关静态IPv4地址相关实例配置的具体要求如下:该类型的应用程序必须由root账户创建,并应赋予600权限。

十六、配置主机名和域名解析:
配置服务器的静态IP地址和域名解析配置项,并对设置进行验证。
通过hostname命令可以获取当前系统的IP地址信息,并允许临时更改该地址。
默认情况下,服务器的主机名为存储于/etc/hostname文件中。
使用hostnamectl命令中的set-hostname选项可以永久更改服务器的 hostname参数值。
通过(hostnamectl)命令族工具能够获取关于当前系统的一些详细信息。

十七、配置名称解析:
/etc/nsswitch.conf文件定义域名查找位置和顺序,默认先使用/etc/hosts文件内容。
其次会查/etc/resolv.conf文件中的dns服务器,最多可以配置3台dns服务器

十七、配置名称解析:
在/nsswitch.conf配置文件中设置了域名查找的位置与顺序,默认情况下会优先使用/etc/hosts中的内容进行查询。
随后会检查/etc/resolv.conf文件中的DNS服务器设置,并且最多允许设置3台DNS服务器用于域名解析。

host与dig命令均不作用于/etc/hosts文件的内容;如果需要验证该文件的状态,则可执行getent hosts hostname。

总结:
TCP/IP网络模型是一个简化后的四层架构,阐述了不同协议之间的交互机制,从而实现了计算设备通过互联网实现数据传输的目的。
IPv4作为当前互联网的主要网络协议之一,主导着互联网的发展方向。
IPv6则旨在逐步取代现有 IPv4 网络协议,以提升整体性能和安全性。
默认情况下,RedHat Enterprise Linux系统采用了双栈模式运行模式,支持并行部署多种网络协议以提高资源利用率。
在网络路由确定方面,该系统会自动将数据包发送至目标子网的正确接口端口上。
为了便于管理和监控网络配置状态,NM-Manager守护程序负责监控和管理相关设置信息。
在命令行界面中,可以通过 nmcli 命令来使用 NM-Manager工具配置各种网络参数设置项。
自RedHat Enterprise Linux 9版本起,默认的网络配置文件存储位置被指定为 /etc/networkmanager/system-connections目录下以便于后续管理维护工作开展。
此外,系统的静态主机名信息仍然存储在 /etc/hostname文件中以便快速获取或更新相关信息需求。
最后,使用 hostnamectl 命令可以方便地修改或查询系统的主机名及其相关的设置参数状态信息。

全部评论 (0)

还没有任何评论哟~