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

linux网络管理

IPv4的工作原理

IPv4(Internet Protocol Version 4)是互联网协议的第四版,它定义了数据在网络中传输的方式以及如何寻址设备。IPv4采用32位地址结构,能够支持约43亿个唯一地址。作为一种无连接的协议,IPv4运行在分组交换的链路层之上,在数据传输过程中不会建立固定的连接路径。

#### 数据传输机制
IPv4通过尽力而为的服务模型来传递数据包。这意味着它并不保证所有的数据包都能成功送达目标节点,也不确保这些数据包按序到达或者没有重复。具体来说:

- **路由选择**:当源主机向目的主机发送数据时,路由器依据其内部维护的路由表决定下一跳转发方向。
- **封装与解封**:每条信息都被分割成若干个小的数据单元——称为“报文”,每个报文都包含了完整的头部信息用于指导网络设备处理它们。
- **错误检测**:虽然IPv4本身不具备纠错功能,但是它的首部校验字段可以用来发现某些类型的传输错误。

Linux 系统中 IPv4 的图形化配置方法

在 Linux 系统中,可以通过多种方式配置 IPv4 网络,其中一种便捷的方法是使用图形化工具 nmtui 进行配置。以下是具体的配置过程:

bash

nmtui

编辑以太网链接


在弹出的菜单中选择 **“Edit a connection”** 并按下回车键。随后会进入一个列表,显示系统中存在的所有网络接口(如 eth0、ens160 等)。选择需要配置的网卡并按回车键继续。

设置 IPv4 地址模式
在以太网设置界面上,找到 **IPv4 configuration** 选项,默认可能是 DHCP 模式。将其更改为 **Manual** 手动模式,并点击右侧的 **Show** 按钮展开详细配置区域。

输入 IPv4 参数
在手动模式下,填写以下必要的 IPv4 配置信息:
- **Address**: 填写分配给该网卡的具体 IP 地址。
- **Netmask**: 子网掩码,例如 `255.255.255.0` 对应于前缀长度 `/24`。
- **Gateway**: 默认网关地址,用于访问外部网络。
完成后点击底部的 **OK** 按钮保存设置。

验证 DNS 和其他设置
如果还需要配置 DNS 服务器或其他高级参数,可以在同一窗口中进行调整。例如,在 **Nameservers** 字段中填入首选和备用 DNS 服务器地址,如 `8.8.8.8` 和 `114.114.114.114`。

 应用更改
退出到主菜单后,选择 **Activate a connection** 来激活刚才编辑好的连接。接着返回至终端重新加载网络服务以应用新的配置:
bash
service network restart
 

通过命令行临时和永久配置 IPv4 地址的方法

一、临时配置 IPv4 地址
使用 `ip` 命令
可以通过 `ip` 命令快速为某个网卡分配一个临时的 IPv4 地址。执行以下命令即可完成配置:
bash
ip addr add 192.168.1.100/24 dev ens33
这条命令的作用是在网卡 `ens33` 上添加一个 IP 地址 `192.168.1.100`,其子网掩码为 `/24`(相当于 `255.255.255.0`)。需要注意的是,这种配置会在系统重启后失效。

使用 `ifconfig` 命令
另一种方法是利用传统的 `ifconfig` 命令来实现同样的效果:
bash
ifconfig ens33 192.168.1.100 netmask 255.255.255.0 up

这里同样指定了网卡名称 (`ens33`)、IP 地址 (`192.168.1.100`) 及子网掩码 (`255.255.255.0`)。最后的 `up` 参数表示启用该网卡接口。

 二、永久配置 IPv4 地址
为了使 IP 配置在系统重启之后仍然有效,通常需要修改对应的网络配置文件或使用专门的管理工具如 `nmcli` 或者直接编辑配置文件。

方法 1:使用 `nmcli` 工具
`nmcli` 是 NetworkManager 的命令行版本,适合用来管理和配置网络连接。下面是一个例子展示如何将网卡 `ens33` 设置成手动模式并赋予固定的 IPv4 地址及相关参数:
bash
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8"

上述指令设置了网卡采用静态 IP 方式(`manual`),具体地址设为 `192.168.1.100`, 子网掩码为 `/24`(隐含),默认网关指向 `192.168.1.1` ,以及首选 DNS 服务器设定为 Google Public DNS 即 `8.8.8.8` 。 若要让改动即时生效还需运行如下命令刷新状态:
bash
nmcli connection up ens33
 

方法 2:直接编辑配置文件
每一块网卡都有自己的专属配置文件位于路径 `/etc/sysconfig/network-scripts/ifcfg-<interface>` 下面。以网卡名为 `ens33`为例, 其对应文件应该是 `/etc/sysconfig/network-scripts/ifcfg-ens33`. 打开这个文件进行编辑:

bash
vi /etc/sysconfig/network-scripts/ifcfg-ens33
 

然后按照需求调整下列字段的内容:
- `BOOTPROTO`: 设定为 `static` 表明我们要手工地指定 IP 数据.
- `ONBOOT`: 确保此项被设置成了 `yes` ,这样当机器启动时就会自动激活此网络适配器.
- 添加新条目定义实际使用的 IP 地址及其关联属性:`IPADDR`, `NETMASK`, 和可选项目像 `GATEWAY`.

最终的结果看起来应该类似于这样:
plaintext
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static    
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33           
UUID=<generated_uuid>
DEVICE=ens33        
ONBOOT=yes          
IPADDR=192.168.1.100     
NETMASK=255.255.255.0   
GATEWAY=192.168.1.1    
DNS1=8.8.8.8            

保存更改后的配置文件,并重新加载网络服务以便应用最新的设置:
bash
systemctl restart network.service


 

http://www.xdnf.cn/news/538.html

相关文章:

  • 【单倍型理解及计算系列之二】单倍型基本概念以及其与遗传定位中Bin的定义区别
  • SOA 核心三要素:服务、构件与对象的深度解析
  • Linux 系统盘制作 | 引导加载器(GRUB 为例)| mount
  • 【刷题Day20】TCP和UDP(浅)
  • 一些C语言常用函数(后续会继续更新)
  • 【GCC】gcc编译学习
  • 指令与权限
  • RK | rk3568开发与学习
  • PrintWriter 类详解
  • liunx日志问题
  • CUDA Tools 常用命令总结与记录 (需要细化)
  • 路由引入、路由过滤及路由策略
  • C++ 用哈希表封装unordered_set/unordered_map
  • Linux进程概念
  • Day95 | 灵神 | 二叉树 二叉树的垂序遍历
  • U-Boot(Universal Bootloader)简介
  • 不带无线网卡的Linux开发板上网方法
  • 英文论文写作:常用AI工具与【新秀笔目鱼】
  • JAVA的泛型
  • jQuery — 动画和事件
  • SpringBoot学习(过滤器Filter。拦截器Interceptor。全局异常捕获处理器GlobalExceptionHandler)(详细使用教程)
  • 哲学家就餐问题(避免死锁)
  • BootStrap:进阶使用(其二)
  • 计算机网络 实验五 RIP的配置与应用
  • 序列化和反序列化
  • 第9期:文本条件生成(CLIP + Diffusion)详解
  • 基于 Python 的自然语言处理系列(82):Transformer Reinforcement Learning
  • Alan AI - 面向Web的生成式AI SDK
  • 基于C语言实现文件读取
  • Linux 第五讲 --- 权限管理