首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >2024全网最为详细的红帽系列【RHCSA-(14)】初级及进阶Linux保姆级别骚操作教程;学不费来砍我[就怕你日后学成黑客了]

2024全网最为详细的红帽系列【RHCSA-(14)】初级及进阶Linux保姆级别骚操作教程;学不费来砍我[就怕你日后学成黑客了]

作者头像
盛透侧视攻城狮
发布2024-10-22 10:50:40
发布2024-10-22 10:50:40
4810
举报

如何管理Linux的联网

1.rhel9与旧版本的区别

(1)在rhel7的版本,同时支持network.service和NetworkManager.service(简称NM)。 在rhel8上默认只能通过NM进行网络配置,包括动态ip和静态ip。换言之,在rhel8上,需要开启NM, 否则无法使用网络。

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

(2)在rhel9上,使用NM进行网络配置,NetworkManager现在使用秘钥文件来存储配置信息

  • 在 RHEL 9 中,ifcfg (也称为文件)将不再是网络配置文件的主存储。虽然ifcfg样式仍然可用, 但它不再是 NetworkManager 存储新网络配置文件的默认位置

(3)从 RHEL 9.0 开始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配置。

  • 配置以旧格式存储在/etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。对现有配置集的修改会继续更新旧的文件。

2.NetworkManager的特点

  • NM能管理各种网络 :有线网卡、无线网卡 动态ip、静态ip 以太网、非以太网 物理网卡、虚拟网卡
  • 工具齐全:命令行、文本界面、图形界面、web
  • 广纳天地:管理各种网络,有线、无线、物理、虚拟
  • 参数丰富:多达200多项配置参数(包括ethtool参数)
  • 一统江湖:RedHat系、Suse系、Debian/Ubuntu系,均支持

3.配置网络

简介:

  • 网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口。这里,主要是指计算机的网络 接口即网卡设备。
  • 从RHEL7开始引入了一种新的“一致网络设备命名”的方式为网络接口命名,该方式可以根据固件、设备 拓扑、设备类型和位置信息分配固定的名字。

en

表示以太网(Ethernet)

wl

表示无线局域网(wlan)

ww

无线广域网(wwan)

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

4.1使用ip命令配置临时生效的网络连接

语法格式

功能

ip [-s] addr show [网卡设备名]

查看网卡在网络层的配置信息,加-s表示增添显示相关统计信息 如接收 (RX) 及传送 (TX) 的数据包数量等

ip [-s] link show [网卡设备名]

查看网卡在数据链路层的配置信息

ip [-4] addr add|del IP地址[/掩 码长度] dev 网卡连接名 ip -6 addr add|del IP地址[/掩 码长度] dev 网卡连接名

添加或删除网卡的临时IPv4地址; 添加或删除网卡的临时IPv6 地址

ip link set dev 网卡的设备名 down|up

禁用|启用指定网卡

示例:
代码语言:javascript
复制
[root@master ~]# ip   -4 addr add 192.168.168.16/24 dev ens160

4.2修改配置文件,前提是需要有network服务【不是比较推荐】

代码语言:javascript
复制
#网卡配置文件所在目录
[root@kongd ~]# cd /etc/NetworkManager/system-connections   


[root@kongd ~]# cat ens160.nmconnection 

#会话名称
[connection] 
id=ens160
uuid=77b0bf78-2be5-3d57-a40e-a0dad7143d10
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1675161924

#网络类型
[ethernet] 
[ipv4]
method=auto

[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]

[root@kongd ~]# systemctl restart network

[root@kongd ~]# nmcli c reload 

[root@kongd ~]# nmcli c up ens160 
注意:一个网卡可以有多个会话,但是一个时刻只能连接到一个会话。

4.3nmcli(命令行工具)

语法格式之查看网卡设备:
代码语言:javascript
复制
nmcli device

#可以简写为 nmcli d ,查看网卡设备
示例:
代码语言:javascript
复制
[root@kongd ~]# nmcli device
DEVICE TYPE     STATE     CONNECTION
ens160 ethernet connected ens160
lo     loopback unmanaged  --

[root@kongd ~]# nmcli device show


#state字段说明:
connected:已被NM管理,并且当前有活跃的connection
disconnected:已被NM管理,但是当前没有活跃的connection
unmanaged:未被NM管理
unavailable:不可用,NM无法管理,通常出现于网卡为down的时候
语法格式之查看相应的会话:
代码语言:javascript
复制
nmcli connection 

#可以简写为 nmcli c ,查看相应的会话
示例:
代码语言:javascript
复制
[root@kongd ~]# nmcli connection
NAME   UUID                                 TYPE     DEVICE
ens160 39c494c3-7621-43fb-9c42-15e330b3d4dc ethernet ens160

[root@kongd ~]# nmcli connection show

[root@kongd ~]# nmcli connection show 39c494c3-7621-43fb-9c42-15e330b3d4dc

[root@kongd ~]# nmcli connection show /etc/sysconfig/network-scripts/ifcfgens160
配置已存在会话的网卡的ip地址
语法格式——非交互式
代码语言:javascript
复制
[root@kongd ~]# nmcli c mo ens160 ipv4.method manual ipv4.addresses 
192.168.150.200/24 ipv4.gateway 192.168.150.2 ipv4.dns 223.5.5.5 autoconnect 
yes 

[root@kongd ~]# nmcli c up ens160 
语法格式——交互式
代码语言:javascript
复制
[root@master ~]# nmcli connection edit ens160
nmcli> goto ipv4
nmcli ipv4> set addresses  192.168.168.11/24
nmcli ipv4> activate
Monitoring connection activation (press any key to continue)
Connection successfully activated (D-Bus active path: 
/org/freedesktop/NetworkManager/ActiveConnection/2)
nmcli ipv4> quit

[root@kongd ~]# nmcli c up ens160 
添加新的会话
代码语言:javascript
复制
[root@kongd ~]# nmcli c add type ethernet con-name ethX-test ifname ethX 
ipv4.addresses '192.168.1.100/24' ipv4.gateway 192.168.1.254 ipv4.dns '4.4.4.4' 
ipv4.method manual autoconnect yes


#该命令等价于如下命令:

[root@kongd ~]# nmcli c add type ethernet con-name ethX-test ifname ethX 
ipv4.method manual autoconnect yes

[root@kongd ~]# nmcli c modify ethX-test ipv4.addresses '192.168.1.100/24'

[root@kongd ~]# nmcli c modify ethX-test ipv4.gateway 192.168.1.254 ipv4.dns 
'4.4.4.4'


#查看是否增加了一条连接
[root@kongd ~]#nmcli c

type ethernet

创建连接时候必须指定类型,类型有很多,可以通过 nmcli c add type -h 看 到,这里指定为ethernet。

con-name ethX-test

ethX-test表示连接(connection)的名字,这个名字可以任意定义,无需 和网卡名相同

ifname ethX

ethX表示网卡名,这个ethX必须是在 nmcli d 里能看到的网卡的名字

ipv4.addresses '192.168.1.100/24,192.168.1.101/32

配置2个ip地址,分别为 192.168.1.100/24和192.168.1.101/32

ipv4.gateway 192.168.1.254

网关为192.168.1.254

ipv4.dns '8.8.8.8,4.4.4.4

dns为8.8.8.8和4.4.4.4

ipv4.method

默认为auto,对应网卡配置文件里的BOOTPROTO=dhcp;ipv4.method

manuall

对应网卡配置文件里的BOOTPROTO=none,即只有静态ip

autoconnect yes

对应网卡配置文件里的ONBOOT=yes

  • 创建连接时候必须指定类型,类型有很多,可以通过 nmcli c add type -h 看 到,这里指定为ethernet。

con-name ethX-test

  • ethX-test表示连接(connection)的名字,这个名字可以任意定义,无需 和网卡名相同

ifname ethX

  • ethX表示网卡名,这个ethX必须是在 nmcli d 里能看到的网卡的名字

ipv4.addresses '192.168.1.100/24,192.168.1.101/32

  • 配置2个ip地址,分别为 192.168.1.100/24和192.168.1.101/32

ipv4.gateway 192.168.1.254

  • 网关为192.168.1.254

ipv4.dns '8.8.8.8,4.4.4.4

  • dns为8.8.8.8和4.4.4.4

ipv4.method

  • 默认为auto,对应网卡配置文件里的BOOTPROTO=dhcp;ipv4.method

manuall

  • 对应网卡配置文件里的BOOTPROTO=none,即只有静态ip

autoconnect yes

  • 对应网卡配置文件里的ONBOOT=yes
如何连接、断开、删除会话
代码语言:javascript
复制
#连接会话
[root@kongd ~]# nmcli c up ethX

#断开会话
[root@kongd ~]# nmcli c down ethX

# 删除会话
[root@kongd ~]# nmcli c delete ethX

4.4使用nmtui配置——如下图:

代码语言:javascript
复制
[root@kongd ~]# nmcli c up ens160 

4.5cockpit配置示意图

代码语言:javascript
复制
# 启动 Cockpit 服务
[root@kongd ~]# systemctl start cockpit.service 

# 永久添加 Cockpit 服务到防火墙规则中
[root@kongd ~]# firewall-cmd --permanent --add-service=cockpit 

# 重新加载防火墙配置,使更改生效
[root@kongd ~]# firewall-cmd --reload

最后访问

5.网络测试命令

5.1使用ping命令测试网络的连通性

语法格式:
代码语言:javascript
复制
ping [选项] <目标主机名或IP地址>
ping常见选项功能及作用详解说明表:

选项

功能及作用

-c 数字

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

-s 字节数

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

-i 时间间隔

设定前后两次发送ICMP消息包之间的时间间隔,无此选项时,默认时间间隔为1 秒。为了保障本机和目标主机的安全,一般不要小于0.2秒

-t

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

示例:
代码语言:javascript
复制
[root@master ~]# ping -c 2 www.baidu.com

5.2使用tracepath命令用来追踪并显示报文到达目的主机所经过的路由信息

语法格式:
代码语言:javascript
复制
tracepath [选项] <目标主机名或目标IP地址>
tracepath常见选项功能及作用详解说明表

选项

功能及作用

-n

对沿途各主机节点,,仅仅获取并输出IP地址,不在每个IP 地址的节点设备上通过DNS查找其主 机名,以此来加快测试速度

-b

对沿途各主机节点同时显示IP地址和主机名

-l 包长度

设置初始的数据包的大小

-p端口号

设置UDP传输协议的端口(缺省为33434)

示例:
代码语言:javascript
复制
[root@master ~]# tracepath -b www.baidu.com

5.3traceroute

简介:
  • (Windows 系统下是tracert) 命令利用ICMP协议定位您的计算机和目标计算机之间的所有路由器,追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节
代码语言:javascript
复制
[root@master ~]# traceroute -I www.baidu.com   

#-I表示使用ICMP协议

6.通过域名访问主机

6.1配置静态解析,通过/etc/hosts文件实现域名解析

代码语言:javascript
复制
[root@master ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.168.11 master


[root@master ~]# ping master
PING master (192.168.168.11) 56(84) bytes of data.
64 bytes from master (192.168.168.11): icmp_seq=1 ttl=64 time=0.131 ms

6.2通过/etc/resolv.conf文件指派域名解析服务器的地址,由dns服务器做域名解析

代码语言:javascript
复制
[root@master ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.168.2

[root@master ~]# host www.baidu.com 或者[root@master ~]# host www.baidu.com 
192.168.168.2
Using domain server:
Name: 192.168.168.2
Address: 192.168.168.2#53
Aliases:
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 14.215.177.39
www.a.shifen.com has address 14.215.177.38
补充说明:
  • 当通过域名访问服务器的时候,其默认解析顺序为hosts文件、resolv.conf文件中的DNS服务器。
  • 其响应的先后顺序可在文件/etc/nsswitch.conf中设置。

7.从网站下载文件

7.1wget命令用于在终端命令行里下载网络文件

语法格式:
代码语言:javascript
复制
wget [选项] 网址
wget常见选项功能及作用详解说明表:

选项

功能

-P

下载到指定目录

-t

最大尝试次数

-b

后台下载模式

-c

断点续传

-p

下载页面内所有资源,包括图片、视频等

-r

递归下载

示例:
代码语言:javascript
复制
[root@node12 ~]# wget http://rpmfind.net/linux/epel/8/Everything/x86_64/Packages/s/sl-5.02-
1.el8.x86_64.rpm

7.2curl命令

简介:
  • 通过http、https、ftp等方式下载/上传文件
示例:
代码语言:javascript
复制
[root@node12 ~]# curl www.baidu.com -o index.html
 % Total   % Received % Xferd Average Speed   Time   Time     Time Current
                                 Dload Upload   Total   Spent   Left Speed
100  2381  100  2381    0     0  20976      0 --:--:-- --:--:-- --:--:-- 21070

[root@node12 ~]# ll
total 4
-rw-r--r-- 1 root root 2381 Jun 19 17:38 index.html
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何管理Linux的联网
  • 1.rhel9与旧版本的区别
  • 2.NetworkManager的特点
  • 3.配置网络
  • 4.对于一个网络接口,可以有多个网络连接,但同一时间只能有一个网络连接处于活动状态。
    • 4.1使用ip命令配置临时生效的网络连接
      • 示例:
    • 4.2修改配置文件,前提是需要有network服务【不是比较推荐】
      • 注意:一个网卡可以有多个会话,但是一个时刻只能连接到一个会话。
    • 4.3nmcli(命令行工具)
      • 语法格式之查看网卡设备:
      • 语法格式之查看相应的会话:
      • 配置已存在会话的网卡的ip地址
      • 添加新的会话
    • 4.4使用nmtui配置——如下图:
    • 4.5cockpit配置示意图
  • 5.网络测试命令
    • 5.1使用ping命令测试网络的连通性
      • 语法格式:
      • ping常见选项功能及作用详解说明表:
      • 示例:
    • 5.2使用tracepath命令用来追踪并显示报文到达目的主机所经过的路由信息
      • 语法格式:
      • tracepath常见选项功能及作用详解说明表
      • 示例:
    • 5.3traceroute
      • 简介:
  • 6.通过域名访问主机
    • 6.1配置静态解析,通过/etc/hosts文件实现域名解析
    • 6.2通过/etc/resolv.conf文件指派域名解析服务器的地址,由dns服务器做域名解析
      • 补充说明:
  • 7.从网站下载文件
    • 7.1wget命令用于在终端命令行里下载网络文件
      • 语法格式:
      • wget常见选项功能及作用详解说明表:
      • 示例:
    • 7.2curl命令
      • 简介:
      • 示例:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档