当前位置: 首页 > news >正文

Linux系统的网络管理(二)

一、路由的配置

route命令

route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。

  • 查看路由:route -n(显示数字形式 IP)
  • 添加路由:route add -net 目标网络 gw 网关 dev 接口
  • 删除路由:route del -net 目标网络

语法:

route [选项] [参数]

选项:

选项描述
-A设置地址类型;
-C打印将Linux核心的路由缓存;
-v详细信息模式;
-n直接显示数字形式的IP地址;
-enetstat格式显示路由表;
-net到一个网络的路由表;
-host到一个主机的路由表。

参数:

参数描述
add增加指定的路由记录;
del删除指定的路由记录;
target目的网络或目的主机;
gw设置默认网关;
mss设置TCP的最大区块长度(MSS),单位MB;
window指定通过路由表的TCP连接的TCP窗口大小;
dev路由记录所表示的网络接口。
常用命令与参数
route add -net 0/0 gw 192.168.100.254 dev ens34

启路由转发功能:

vim /etc/sysctl.conf
# 添加:net.ipv4.ip_forward = 1
sysctl -p  # 加载配置

二、网络连接查看

netstat 命令

查看网络监听状态和连接状态:

  • 常用选项组合:-anptu
    • -n:显示数字地址
    • -a:显示所有连接
    • -p:显示进程信息
    • -t:显示 TCP 连接
    • -u:显示 UDP 连接

ss 命令

netstat 的替代工具,更高效:

  • 常用选项:-anptuli(增加了-i查看连接状态)

bond 绑定

将多个物理网卡组合为逻辑网卡,提高可用性和性能:

主要模式:

  • mode0(平衡负载):需要交换机支持
  • mode1(自动备援):单网卡工作,故障自动切换
  • mode6(平衡负载):无需交换机支持,推荐使用

3.2、绑定案例

基于OpenEuler(国内的信创项目)

好的,以下是 nmcli 命令中 Bonding 模式的所有选项及其详细含义的完整列表。

Bonding 模式列表及含义

nmcli 中,使用 mode 参数来指定 Bonding 模式。以下是所有可用的模式:

NMCLI 模式值模式编号中文名称含义及特点
balance-rrmode-0轮询特点: 数据包按顺序依次从每个 Slave 接口发送。 优点: 提供负载均衡和容错能力。 缺点: 需要交换机支持端口聚合,否则可能导致网络混乱。 交换机要求: 必须配置为静态聚合或 LACP。
active-backupmode-1主备特点: 只有一个 Slave 接口处于活动状态,其他作为备份。只有在活动接口故障时,备份接口才被激活。 优点: 提供高可用性,配置简单,交换机无需特殊配置。 缺点: 不能增加带宽,资源利用率低。 交换机要求: 无特殊要求。
balance-xormode-2异或特点: 基于 [(源MAC地址 ⊕ 目标MAC地址) % Slave数量] 来选择发送接口。 优点: 为同一对话提供负载均衡和容错,保证数据包顺序。 缺点: 流量分布可能不均衡。 交换机要求: 必须配置为静态聚合或 LACP。
broadcastmode-3广播特点: 所有数据包都从所有 Slave 接口发送。 优点: 提供极高的容错能力。 缺点: 极度浪费带宽,通常只用于非常特殊的场景。 交换机要求: 无特殊要求。
802.3admode-4动态链路聚合 (LACP)特点: IEEE 802.3ad 标准模式。使用 LACP 协议与交换机动态协商和监控聚合链路。 优点: 标准的链路聚合,提供负载均衡、高可用性和良好的监控能力。 缺点: 需要交换机支持并正确配置 LACP。 交换机要求: 必须配置为 LACP 模式(主动或被动)。
balance-tlbmode-5自适应传输负载均衡特点: 根据每个 Slave 的当前负载进行出口流量(发送)的负载均衡。入口流量(接收)由当前 Slave 处理。 优点: 不需要交换机特殊配置。 缺点: 只有出口流量被均衡,容错能力较弱(故障切换时可能导致ARP问题)。 交换机要求: 无特殊要求。
balance-albmode-6自适应负载均衡特点: 在 mode-5 (tlb) 的基础上,增加了入口流量(接收)的负载均衡,通过ARP协商实现。 优点: 提供出口和入口的负载均衡,且不需要交换机特殊支持。 缺点: 在软件层实现,会消耗更多主机CPU资源。 交换机要求: 无特殊要求。

nmcli 命令中的使用示例

创建 Bond 连接时,使用 mode 参数指定上述任一模式:

# 示例:创建 mode-4 (LACP) 绑定
nmcli connection add type bond con-name my-bond0 ifname bond0 \mode 802.3ad \ipv4.method auto
​
# 示例:创建 mode-1 (主备) 绑定
nmcli connection add type bond con-name my-bond0 ifname bond0 \mode active-backup \ip4 192.168.1.100/24 \gw4 192.168.1.1 \ipv4.method manual
​
# 示例:创建 mode-6 (自适应负载均衡) 绑定
nmcli connection add type bond con-name my-bond0 ifname bond0 \mode balance-alb \ipv4.method auto

查看当前系统支持的所有模式

虽然 nmcli 本身不直接列出模式,但您可以通过查看内核文档或帮助信息来确认支持的模式:

# 查看 bond 连接的帮助信息,其中会包含 mode 参数的简要说明
nmcli connection add type bond help

更详细的信息通常需要查阅官方文档或内核的 bonding 文档:

# 查看系统上的 bonding 文档(如果已安装)
# 查看 bond 连接的帮助信息,其中会包含 mode 参数的简要说明
nmcli connection add type bond help
总结与选择建议
场景推荐模式原因
标准数据中心802.3ad (mode-4)需要交换机支持。是行业标准,提供最好的性能和可靠性。
高可用性 (HA)active-backup (mode-1)配置简单,交换机无要求。主要目标是故障切换而非带宽聚合。
无交换机支持balance-alb (mode-6)不需要配置交换机,能同时实现出入向流量的负载均衡。
极简负载均衡balance-tlb (mode-5)不需要配置交换机,但只均衡出口流量。
特定网络需求balance-xor (mode-2)适用于需要保持数据包顺序的特定应用。

希望这个完整的列表和解释能帮助您更好地理解和使用 nmcli 进行 Bonding 配置。

bond0设置
nmcli c ad type bond con-name bond0 ifname bond0 mode balance-alb

服务器有两块网卡 ens33和ens36,在目录 est/sysconfig/network-scritps/  进入对应的网卡配置文件进行操作

ens34操作

TYPE=ethernet
​
BOOTPROTO=none
​
NAME=ens34
​
DEVICE=ens34
​
ONBOOT=yes
​
MASTER=bond0
​
SLAVE=yes

ens37操作

TYPE=ethernet
​
BOOTPROTO=none
​
NAME=ens37
​
DEVICE=ens37
​
ONBOOT=yes
​
MASTER=bond0
​
SLAVE=yes

bond0操作

TYPE=ethernet
​
BOOTPROTO=none
​
NAME=bond0
​
DEVICE=bond0
​
ONBOOT=yes
​
IPADDR=192.168.1.1
​
PREFIX=24
​
GATEWAY=192.168.1.254
​
DNS1=192.168.1.254

添加bond配置文件

vim /etc/modprobe.d/bond.conf
​
alias bond0 bonding
​
options bonding mode=6 miimon=200

关闭网络图形化服务

systemctl stop NetworkManager  【关闭后开机失效】
systemctl disable --now NetworkManager   【关闭且开机不自启】

重启网络服务

systemctl stop NetworkManager  【关闭后开机失效】
systemctl disable --now NetworkManager   【关闭且开机不自启】

结果

抓包工具

  • tcpdump:命令行抓包工具
    # 抓取目标端口80的1000个报文
    tcpdump -tn dst port 80 -c 1000 -i bond0

-c  当 收到多少个报文后退出-i  监听  interface.  如果 不指定 接口, tcpdump 在 系统 的 接口 清单 中,寻找 号码最小, 已经 配置好的 接口 (loopback 除外). 选中的时候会中断连接.-n 不要把地址转换成 名字 (指的是 主机地址, 端口号等)-t 禁止 显示 时戳标志.-v  (稍微多一点)  繁琐的输出.  例如,  显示  IP  数据报  中的  生存周期 和服务类型.-e  显示 链路层报头

  • Wireshark:图形化抓包工具
http://www.xdnf.cn/news/1372393.html

相关文章:

  • SELinux相关介绍
  • 质押、ETF、财库三箭齐发:以太坊价值逻辑的重构与演进
  • [灵动微电子 霍尔FOC MM32BIN560C]从引脚到应用
  • Ubuntu操作系统下使用mysql、mongodb、redis
  • 系统架构设计师-【2025上半年论文题目分享】
  • 探寻跨语言统一真理及其对NLP的未来启示
  • Agent实战教程:LangGraph关于智能体的架构模式与核心概念
  • 知行——同为科技24周年庆典
  • 【软件测试面试】全网最全,自动化测试面试题总结大全(付答案)
  • 二维费用背包 分组背包
  • Git命令
  • 机器学习每日一题000-矩阵和向量的乘法python实现
  • 在Excel和WPS表格中输入分数的两种方法
  • Linux正则表达式
  • shiro进行解密
  • 如何才能使RISC V架构成为机器学习的核心
  • 【Modbus-TCP】linux为主机—PC为从机通信
  • Git工具
  • 【44页PPT】极简架构MES系统解决方案介绍(附下载方式)
  • 阿里云 ECS 可观测性最佳实践
  • 简易shell
  • 【ElasticSearch】客户端选择
  • 力扣100+补充大完结
  • Linux命令详解+示例(炫彩超全)
  • 在Godot中为您的游戏添加并控制游戏角色的完整技术指南
  • IUV5G专网排障(上)
  • Markdown 编辑器 语法
  • 使用【阿里云百炼】搭建自己的大模型
  • 微服务-26.网关登录校验-OpenFeign传递用户信息
  • 半小时打造七夕传统文化网站:Qoder AI编程实战记录