第十章 管理Linux的联网

1. RHEL9版本特点

在RHEL7版本中,同时支持network.service和NetworkManager.service(简称NM)。

在RHEL8上默认只能通过NM进行网络配置,包括动态ip和静态ip,若不开启NM,否则无法使用网络

RHEL8依然支持network.service,只是默认没安装,可以通过 yum install network-scripts 来安装传 统的network.service,不过redhat说了,在下一个rhel的大版本里将彻底废除,因此不建议用 network.service。

在RHEL9上,使用NM进行网络配置,ifcfg (也称为 文件)将不再是网络配置文件的主存储。虽然 ifcfg 样 式仍然可用,但它不再是 NetworkManager 存储新网络配置文件的默认位置。从 RHEL 9.0 开始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配置。配置以旧格式存储 在 /etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。对现有配置集的修改会继续更新旧的文件。

2. NM特点

NetworkManager是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,能自 动发现网卡并配置ip地址。

NetworkManager的特点

NM能管理各种网络

有线网卡、无线网卡

动态ip、静态ip

以太网、非以太网

物理网卡、虚拟网卡

工具齐全:命令行、文本界面、图形界面、web

广纳天地:管理各种网络,有线、无线、物理、虚拟

参数丰富:多达200多项配置参数(包括ethtool参数)

一统江湖:RedHat系、Suse系、Debian/Ubuntu系,均支持

大势所趋:下一个大版本的rhel只能通过NM管理网络

3. 配置网络

3.1. 概念

网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口,一般是指计算机的网络接口即网卡设备

从RHEL7开始引入了一种新的"一致网络设备命名"的方式为网络接口命名,该方式可以根据固件、设备拓 扑、设备类型和位置信息分配固定的名字。网络接口的名称的前两个字符为网络类型符号,如:

en------表示以太网(Ethernet)

wl表示无线局域网(wlan)

ww表示无线广域网(wwan);

接下来的字符根据设备类型或位置选择,如:

o------表示内置(onboard)于主板上的集成设备(即集成网卡)及索引号;

s------表示是插在可以热拔插的插槽上的独立设备及索引号;

x------表示基于MAC地址命名的设备;

p------表示PCI插槽的物理位置及编号。

注意:一个网络接口,可以有多个网络连接,但同一时间只能有一个网络连接处于活动状态。

3.2. 方法

3.2.1. nmcli命令

作用:nmcli,可以实现创建,显示,编辑,删除,激活和停用网络连接以及控制和显示网络设备状态等

查看网卡信息

复制代码
[root@server ~]# nmcli  c  show   # 全写为:nmcli connection show
[root@server ~]# nmcli con show ens160  # 查看指定网卡的详细信息,q键退出
[root@server ~]# nmcli dev status  #查看已有设备的连接状态
[root@server ~]# nmcli dev show  # 看所有网络设备详情,q键退出

激活和关闭网络连接

复制代码
[root@server ~]# nmcli c up 网卡名  # 激活,也是重启网卡的一种方法
[root@server ~]# nmcli c down 网卡名  # 关闭

添加网络连接

复制代码
# 例:添加网络连接ens161
[root@server ~]# nmcli c add type ethernet ifname ens160 con-name ens161 autoconnect 
yes  ip4 192.168.48.135/24  gw4 192.168.48.2
连接 "ens161" (37bc8e79-92ea-4c01-a4af-1dfd7c687014) 已成功添加。
[root@server ~]# nmcli  c  up  ens161   # 不能在xshell操作,否则ssh连接断掉
[root@server ~]# nmcli  c show
[root@server ~]# nmcli  c  up  ens160

设置静态IP

复制代码
[root@server ~]# nmcli c modify ens160 ipv4.method manual  ipv4.addresses 
'192.168.48.134/24'  ipv4.gateway '192.168.48.2'  ipv4.dns  '114.114.114.114'
[root@server ~]# nmcli  c  up  ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)
[root@server ~]# ip a
# ipv4.method manual:手动获取**

增加ip地址

复制代码
[root@server ~]# nmcli c mod ens160 +ipv4.addresses 192.168.48.136/24
[root@server ~]# nmcli  c  up  ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@server ~]# ip a

删除网络连接

复制代码
# 删除上例的ens161
[root@server ~]# nmcli  c  show
NAME    
UUID                                  
TYPE      
DEVICE 
ens160  0f83fcfd-bc6d-3866-b82b-fc4b09df2068  ethernet  ens160 
ens161  37bc8e79-92ea-4c01-a4af-1dfd7c687014  ethernet  --     
[root@server ~]# nmcli  c  del  ens161
成功删除连接 "ens161" (37bc8e79-92ea-4c01-a4af-1dfd7c687014)。
[root@server ~]# nmcli  c  show
NAME    
UUID                                  
TYPE      
DEVICE 
ens160  0f83fcfd-bc6d-3866-b82b-fc4b09df2068  ethernet  ens160 

3.2.2. 修改配置文件

复制代码
# 设置静态IP
[root@server ~]# cd /etc/NetworkManager/system-connections
[root@server system-connections]# ls
ens160.nmconnection
[root@server system-connections]# vim ens160.nmconnection 
[connection]
id=ens160
uuid=d97d603d-5bb5-3d11-bfeb-11fbc8cb867d
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1682493359
[ethernet]
[ipv4]
address1=192.168.48.134/24,192.168.48.2
dns=114.114.114.114;
method=manual
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
[root@server ~]# nmcli c reload 
[root@server ~]# nmcli c up ens160 
# 会话和网卡的关系:一个网卡可以有多个会话,但是一个时刻只能连接到一个会话

3.2.3. 可视化配置

命令:nmtui

3.3. ping命令

3.3.1. 作用

用来检测网络的连通情况和分析网络速度

根据域名得到服务器 IP

根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量。

格式

ping -参数 目标主机IP或域名

3.3.2. 参数

-c 数字:用于设定本命令发出的ICMP消息包的数量,若无此选项,则会无限次发送消息包直到用户按 【Ctrl+C】组合键才终止命令。

-s 字节数:设置ping命令发出的消息包的大小,默认发送的测试数据大小为56字节;自动添加8字节的 ICMP协议头后,显示的是64字节;再添加20字节的IP协议头,则显示的为84字节。最大设置值为65507B

-i 时间间隔:设定前后两次发送ICMP消息包之间的时间间隔,无此选项时,默认时间间隔为1秒。为了保障

-t:设置存活时间TTL(Time To Live)

复制代码
[root@server ~]# ping -c 2  www.baidu.com

3.3.3. 显示内容分析

bytes 值:数据包大小,也就是字节

time 值:响应时间,时间越小,速度越快

TTL 值:Time To Live, 表示 DNS 记录在 DNS 服务器上存在的时间,它是 IP 协议包的一个值,告诉路由器 该数据包何时需要被丢弃。通过TTL 值判断目标系统类型:默认情况下,Linux 系统的 TTL 值为 64 或 255,win11 系统值为644,UNIX 主机的 TTL 值为 255

4. 通过域名访问主机

4.1. 静态解析

4.1.1. 作用

通过配置/etc/hosts文件实现域名解析

4.1.2. 方法

复制代码
[root@server ~]# vim /etc/hosts
127.0.0.1   
::1         
localhost localhost.localdomain localhost4 localhost4.localdomain4
localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.48.134   
www.openlab.com
[root@server ~]# ping www.openlab.com

4.2. DNS域名解析

5. 从网站下载文件

5.1. wget命令

5.1.1. 作用

用于在终端命令行里下载网络文件,英文全称为:"web get"

5.1.2. 格式

复制代码
wget  -参数  URL

5.1.3. 参数

复制代码
-P  下载到指定目录 
-t  最大尝试次数 
-b  后台下载模式
-c  断点续传  
-p  下载页面内所有资源,包括图片、视频等 
-r  递归下载

[root@server ~]# wget  https://dldir1.qq.com/qqfile/qq/QQNT/2355235c/linuxqq_3.1.1
11223_x86_64.rpm
# 下载qq软件

2、curl命令是一个网络工具,其主要作用是通过http、https、ftp等方式下载/上传文件

6. VMware三种网络模式

6.1. 概述

vmware提供三种网络工作模式:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主 机模式)

6.2. Bridged(桥接模式)

6.2.1. 概念

桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信

在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个 接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以 访问而不干扰

在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致

6.2.2. 分析图

6.2.3. 注意

虚拟交换机必须桥接到本机电脑使用的网卡,不要选自动

虚拟机的ip跟本机同一个网段,网关相同

桥接模式配置简单,如果网络环境中ip资源很缺少或对ip管理比较严格,则桥接模式就不太适合

6.3. NAT(地址转换模式)

6.3.1. 工作原理

NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图:

6.3.2. 注意

NAT模式是利用虚拟的NAT设备以及虚拟DHCP服务器来使虚拟机连接外网,VMware Network Adapter VMnet8虚拟网卡是用来与虚拟机通信的

如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择

6.4. Host-Only(仅主机模式)

6.4.1. 概念

Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMnet1虚拟网卡连接VMnet1虚拟交换机 来与虚拟机通信的

Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯

6.4.2. 工作原理

相关推荐
Run_Teenage2 小时前
Linux:进程间通信-System V 共享内存
linux·运维·服务器
木子欢儿2 小时前
Ubuntu 24.04 执行超微服务器 JNLP 程序
linux·运维·服务器·ubuntu
柠檬味的Cat2 小时前
腾讯云轻量服务器一键部署OpenClaw教程
服务器·腾讯云
还在忙碌的吴小二2 小时前
在 Mac 上安装并通过端口调用 Chrome DevTools MCP Server(谷歌官方 MCP 服务器)
服务器·前端·chrome·macos·chrome devtools
_下雨天.7 小时前
LVS负载均衡
服务器·负载均衡·lvs
小成2023032026510 小时前
Linux高级02
linux·开发语言
mounter62510 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
++==10 小时前
Linux 进程间通信与线程同步技术详解:IPC 机制、线程 API、同步工具与经典同步问题
linux
特长腿特长10 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos