竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生

Linux - 网络管理

系统网络重要概念

  • 设备 主机内的网卡
  • 广播地址 到达本网段上所有主机的地址
  • 接口 为使用设备,驱动程序在设备上创建的接口
  • 子网掩码 将IP地址划分成网络地址和主机地址两部分的掩码
  • 路由 IP包跨网段访问时候的下一跳地址
  • 链路 设备到网络的连接

Linux设备信息示例

使用ip addr / ip a查看设备,包含没有配置的网络设备
在这里插入图片描述

网卡配置文件

网络设备默认的配置路径:/etc/sysconfig/network-scripts/
配置文件:ifcfg-*
在这里插入图片描述
在这里插入图片描述
其中参数值不分大小写,可以不用引导。
在这里插入图片描述

修改配置文件

使用编辑器直接修改配置文件,修改前做好备份;配置修改后不会立即生效,需要重启 NetworkManger 服务进程或者重启系统。

# 备份配置文件:
cp ifcfg-eth1 ifcfg-eth1.bak
# 重启 NetworkManager 服务进程:
systemctl reload NetworkManager

网卡最小配置文件示例

一份可用的网卡配置文件并不需要列出所有的配置选项,有时过多配置项反而会增加网络排障难度,最小配置如下:

TYPE=Ethernet
BOOTPROTO=static
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.100
NETMASK=255.255.255.0

查看 IP 地址

使用 ip 命令显示设备和地址信息:
在这里插入图片描述
在这里插入图片描述

显示接口的统计信息

  • ip 命令可以用于显示关于网络性能的统计信息
  • RX 表示接受的数据包信息
  • TX 表示传送的数据包信息
    在这里插入图片描述

显示套接字信息

使用 ss 命令查看套接字统计信息,加上参数可过滤不同类型的套接字,如显示所有 TCP 套接字信息:
在这里插入图片描述

NetworkManager

NetworkManager 是系统中动态控制及配置网络的守护进程,用于保持当前网络设备和连接处于工作状态。通过命令行工具 nmcli 可以控制 NetworkManager,nmcli 全面,强大且复杂。

关键概念:

  • 设备:网络中,设备即网络接口;
  • 连接:连接是供设备使用的配置;
  • 同一个设备可能存在多个连接,但一次只能有一个保持活动状态。

通过 nmcli 查看网络信息

con 代表连接,–active 选项可以过滤出活动的连接
在这里插入图片描述
显示单个连接的详细信息:ncmcli con show “连接名”,与 ip link 命令相似
显示设备状态,使用:ncmcli dev status
显示设备信息,使用:ncmcli dev show [设备名]

通过nmcli 创建连接

步骤:

  1. 创建一个名为“Demo”的连接,使用DHCP方式通过enp4s0网口连接
  2. 显示所有连接
  3. 启动刚刚创建的“Demo”连接
  4. 查看当前连接状态

例如:

nmcli con add con-name “testtype Ethernet ifname enp3s0
nmcli con show
nmcli con up “test
nmcli con show
nmcli con add 中还有很多可选类型,如网桥、绑定、VPN、VxLAN 等,要查看所有选项,使用 nmcli con add help

在这里插入图片描述

通过nmcli 修改连接

使用命令 nmcli con mod 修改连接,传入的参数为键值对。键为属性名称,可通过 nmcli con show [连接名] 查询,如:
在这里插入图片描述

通过nmcli修改DNS服务器

配置参数可以增加或删除值,在参数前使用 +/- 符号,如:
添加辅助 DNS 服务器

nmcli con mod “test” +ipv4.dns 114.114.114.114

修改完成后需要 up 活动中的连接,使之生效:

nmcli con up “test

nmcli 还有交互式编辑模式和图形界面。
在这里插入图片描述

路由

要让不同子网的两台主机能够相互通讯,就需要有一种能够描述如何从一台主机到另一台主机的机制,这一机制称为:路由选择(Routing),路由选择通过路由项进行描述。

路由项是一对预先定义的地址,包括:目的地(Destination)和网关(Gateway)。路由项的含义是通过网关能够完成与目的地的通讯;路由表是多个路由项的集合。

路由管理与配置

许多Linux中,都使用 route 查看、配置、管理本机路由。除了 route 命令,ip 和 nmcli 命令也可以用来管理系统路由。这些命令作用于系统中的路由表,系统运行时,路由表加载到内存中,由系统内核进行维护。

route 查看路由表

在这里插入图片描述
使用route -n参数显示路由时,Destination字段显示的是IP。采用route命令查看路由时,共有八个字段,字段意义说明如下:

  • U Up表示此路由当前为启动状态
  • H Host,表示此网关为一主机
  • G Gateway,表示此网关为一路由器
  • R Reinstate Route,使用动态路由重新初始化的路由
  • D Dynamically,此路由是动态性地写入
  • M Modified,此路由是由路由守护程序或导向器动态修改
  • ! 表示此路由当前为关闭状态

route 新增路由

新增(暂时) 一条到网段或主机的路由,如下:

route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
  • 使用route命令可以新增路由数据,新增路由数据保存在内存中,重启后失效。
  • route add -net 192.168.101.0 netmask 255.255.255.0 dev enp3s0,代表新增到192.168.101.0/24网段路由,经由enp3s0发送出去。
  • route add -host 192.168.101.100 dev enp3s0,代表新增到192.168.101.100主机路由,经由enp3s0发送出去。
  • 通过route查看路由表,可知,到主机的路由优先于到网段的路由。

例如:

[root@localhost~]# route add -net 192.168.101.0 netmask 255.255.255.0 dev enp4s0
[root@localhost~]# route add -host 192.168.100.10 dev enp4s0
[root@localhost~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 enp4s0
192.168.100.10 0.0.0.0 255.255.255.255 UH 0 0 0 enp4s0
192.168.101.0 0.0.0.0 255.255.255.0 U 0 0 0 enp4s0
192.168.110.0 0.0.0.0 255.255.255.0 U 100 0 0 enp4s0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

route 删除路由

使用route del命令删除到网段或者主机的路由。语法:

route del [-net|-host] [netmask Nm] [gw Gw] [[dev] If]
  • route del -net 192.168.101.0 netmask 255.255.255.0 dev enp3s0,代表删除到192.168.101.0/24网段路由。删除网段路由时,网段和掩码这两个参数一定需要携带,dev 参数可以不携带
  • route del -host 192.168.101.100 dev enp3s0,代表删除到192.168.101.100主机路由。后面的dev参数可以不带
  • 删除route文件中的路由,采用vi编辑,然后重启网络即可

nmcli 配置静态路由

使用nmcli命令为网络连接配置静态路由,如下:

# nmcli connection modify enp3s0 +ipv4.routes "192.168.122.0/24 10.10.10.1"

使用编辑器配置静态路由,使用交互式命令如下:

# nmcli con edit type ethernet con-name enp3s0
===| nmcli interactive connection editor |===
Adding a new '802-3-ethernet' connection
Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> set ipv4.routes 192.168.122.0/24 10.10.10.1
nmcli>
nmcli> save persistent
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? [yes] yes
Connection 'enp3s0' (1464ddb4-102a-4e79-874a-0a42e15cc3c0) successfully saved.
nmcli> quit

主机名

主机名是一个局域网中唯一标识一台机器的名称。这台机器不一定是一台物理机器,也可以是一台虚拟机。主机名信息存放在文件 /etc/hostname 中。

设置主机名

  • 临时设置主机名(直到下次重启前有效):hostname new-name
  • 永久设置主机名:hostnamectl set-hostname new-name
  • 通过修改文件设置主机名:在 /etc/hostname 文件中写入 new-name。

设置完成后并不会立即生效,重新登陆后才能在命令提示符中看到,或者 source .bashrc。使用 hostname 命令查看当前系统的主机名。

hosts 文件

局域网中存在着一些主机,我们可以通过 IP 地址去访问它们。随着局域网中主机数量增加,IP 地址较难记忆,我们希望通过主机名直接访问其他主机。这时我们可以通过一张记录着主机名和 IP 地址的表找到这些主机,这张表就是 hosts。

hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”。当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的 IP 地址,一旦找到,系统就会立即打开对应网页。如果没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析。

查看 hosts 文件:cat /etc/hosts
在这里插入图片描述

修改hosts 文件

可以用编辑器修改 hosts 文件内容,格式:

ip<TAB>domain.com
192.168.10.20 www.example.com
#若想去掉某条记录,加#注释即可
#192.168.10.20 www.example.com

hosts 与 DNS

随着网络中主机数量的增加,单个 hosts 文件难以承载众多的映射关系。当在 hosts 中找不到域名对应的 IP 时,主机会将域名提交给域名解析服务器(DNS),然后 DNS 返回 IP 给主机,这个过程称为:域名解析

DNS 就像是一个公共的 hosts 文件/分布式数据库

查询DNS记录

使用 nslookup 命令查询 DNS 中的记录,并且可以查看域名解析是否正常,帮助诊断网络问题。

nslookup 的命令格式如下:

nslookup domain [dns-server]

其中 domain 是要查询的域名,
[dns-server] 是域名解析服务器,非必选参数,常见的如:8.8.8.8,114.114.114.114

nslookup 未安装,采用如下命令进行安装:
yum install -y bind-utils

DNS 解析记录

DNS中除了将域名解析到一个IP地址之外,还支持其他类型的解析记录
在这里插入图片描述
解析记录详解:https://itbilu.com/other/relate/EyxzdVl3.html

查询其他记录

直接输入nslookup可进入交互式查询界面。

posted @   aw11  阅读(397)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示