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

Linux 系统网络配置及 IP 地址相关知识汇总

Linux 系统网络配置及 IP 地址相关知识汇总

一、IP地址基础

IP地址:在计算机网络中用来唯一标识一台设备的一组数字。

二、IPv4相关知识

1. IPv4的表示方法

  • 采用点分十进制表示,即由4个0-255的十进制数通过点分隔组成(如192.168.1.1)。

2. IPv4地址结构

  • 网络位:表示设备所在的网络。
  • 主机位:表示该网络中具体的某台设备。

3. IPv4分类及范围

类别地址范围网络位长度(前缀)
A类0.0.0.0~127.255.255.255/8
B类128.0.0.0~191.255.255.255/16
C类192.0.0.0~223.255.255.255/24
D类224.0.0.0~239.255.255.255-(组播地址)
E类240.0.0.0~255.255.255.255-(保留地址)

4. IPv4私有地址

  • A类私有地址:10.0.0.0-10.255.255.255
  • B类私有地址:172.16.0.0-172.31.255.255
  • C类私有地址:192.168.0.0-192.168.255.255

三、网卡配置(Linux系统)

1. 网卡配置文件路径

  • 位置:/etc/sysconfig/network-scripts/ifcfg-ens33(ens33为网卡设备名,可能因系统不同而变化)

2. 图形化配置工具

  • nmtui:通过终端图形界面配置网络

四、修改IPv4地址的方法

1. 通过修改网卡配置文件

  1. 打开配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 配置文件主要参数及说明:
    • TYPE=Ethernet:网卡类型(以太网)
    • BOOTPROTO=none:网络配置方式(none/static为手动配置,dhcp为自动获取)
    • NAME=ens33:网络连接名称
    • UUID=ed07dcae-82b4-4507-a877-071708e771f9:网卡的唯一标识
    • DEVICE=ens33:网卡设备名称
    • ONBOOT=yes:网卡下次启动状态(yes启动,no不启动)
    • IPADDR=192.168.100.10:IPv4地址
    • PREFIX=24:网络位(子网掩码,等同于NETMASK=255.255.255.0
    • GATEWAY=192.168.100.254:网关
    • DNS1=114.114.114.114:DNS服务器
  3. 重启网络使配置生效:
    • systemctl restart network
    • nmcli connection up ens33

2. 命令行修改(nmcli工具)

  1. 列出当前所有网络连接:nmcli connection show
  2. 修改网络参数示例(将ens33的IP改为172.16.30.200/24,网关172.16.30.2,DNS为172.16.30.254):
    nmcli connection modify ens33 ipv4.addresses 172.16.30.200/24 ipv4.gateway 172.16.30.2 ipv4.dns 172.16.30.254 ipv4.method manual connection.autoconnect yes
    
  3. 激活网络连接:nmcli connection up ens33

五、移除网卡及相关信息

  1. 删除网卡配置文件:
    cd /etc/sysconfig/network-scripts/
    rm -rf ifcfg-ens33
    
  2. 删除网卡网络连接:nmcli connection delete ens33
  3. 移除虚拟机网卡:虚拟机→设置→选中网络适配器→移除→确定

六、添加网卡及配置

  1. 添加虚拟机网卡:虚拟机→设置→添加→网络适配器→添加→选择仅主机→确定
  2. 添加网络连接:nmcli connection add con-name ens33 ifname ens33 type ethernet
  3. 配置IPv4地址:
    nmcli connection modify ens33 ipv4.addresses 172.16.30.30/24 ipv4.gateway 172.16.30.1 ipv4.dns 172.16.30.254 ipv4.method manual connection.autoconnect yes
    
  4. 激活网络连接:nmcli connection up ens33

七、IPv6相关知识

1. IPv6地址示例及结构

  • 示例:2001:db8:0:1::c000:207/64(网关:2001:db8:0:1::1
  • 结构:共128个比特位,由8组组成,每组4个十六进制数,组之间用冒号分隔。

2. IPv6地址简化规则

  • 可省略每组中的前导零,如FC00:0000:130F:0000:0000:09C0:876A:130B可简化为FC00:0:130F::09C0:876A:130B
  • 连续的零组可用双冒号::代替(仅能使用一次)

3. 配置IPv6地址(nmcli工具)

nmcli connection modify ens33 ipv6.addresses 2001:db8:0:1::c000:207/64 ipv6.gateway 2001:db8:0:1::1 ipv6.method manual connection.autoconnect yes
nmcli connection up ens33

八、IP转发配置

1. 查看IP转发是否开启

  • cat /proc/sys/net/ipv4/ip_forward(1为开启,0为未开启)

2. 开启IP转发

  1. 编辑配置文件:vim /etc/sysctl.conf
  2. 添加或修改参数:net.ipv4.ip_forward = 1
  3. 使配置生效:sysctl -p /etc/sysctl.conf

九、静态路由配置

1. 添加静态路由

  • 目标为主机route add -host 目标主机IP gw 网关地址 dev 接口
    • 示例:route add -host 172.16.40.10 gw 172.16.30.254 dev ens33
  • 目标为网络
    • 带网关:route add -net 目标网络 netmask 子网掩码 gw 网关地址 dev 接口
      • 示例:route add -net 172.16.30.0 netmask 255.255.255.0 gw 172.16.20.1 dev ens33
    • 不带网关:route add -net 目标网络 netmask 子网掩码 dev 接口
      • 示例:route add -net 172.16.30.0 netmask 255.255.255.0 dev ens33

2. 删除静态路由

  • 目标为主机route del -host 目标主机IP gw 网关地址 dev 接口
  • 目标为网络
    • 带网关:route del -net 目标网络 netmask 子网掩码 gw 网关地址 dev 接口
    • 不带网关:route del -net 目标网络 netmask 子网掩码 dev 接口

3. 注意事项

  • 目标为主机时,必须指定网关
  • 目标为网段时,可指定网关,也可不指定

十、实验报告示例(主机网络配置)

  • 主机1(chenyu1)

    • 网络模式:仅主机模式
    • IP地址:172.16.30.10
    • 子网掩码:255.255.255.0
    • 网关:172.16.30.254
  • 主机2(chenyu2)

    • 网络模式:仅主机模式
    • IP地址:172.16.40.10
    • 子网掩码:255.255.255.0
    • 网关:172.16.40.254

小实验

1、使用命令配置两台主机的ip信息
2、添加路由,使两台主机能够通信

一,配置主机的IP信息

方法一:

[root@huangruizhe1 network-scripts]# nmcli connection show
# 查看当前主机所有可用的网络连接(包括连接名称、UUID、类型等信息)
NAME    UUID                                  TYPE      DEVICE 
ens33   ed07dcae-82b4-4507-a877-071708e771f9  ethernet  ens33  
ens36   70d146eb-03c6-4298-8298-6ed98d87f39b  ethernet  ens36  
virbr0  d97d5c35-008e-4912-9b58-3c8a00a254f5  bridge    virbr0 [root@huangruizhe1 ~]# cd /etc/sysconfig/network-scripts/
# 切换到Linux系统中网卡配置文件所在的目录(该目录存放所有网络接口的配置文件)
[root@huangruizhe1 network-scripts]# ls
# 列出该目录下的文件(查看已存在的网卡配置文件,如ifcfg-ens33等)
ifcfg-ens33  ifdown-ipv6      ifdown-tunnel  ifup-isdn    ifup-TeamPort
ifcfg-ens36  ifdown-isdn      ifup           ifup-plip    ifup-tunnel
ifcfg-lo     ifdown-post      ifup-aliases   ifup-plusb   ifup-wireless
ifdown       ifdown-ppp       ifup-bnep      ifup-post    init.ipv6-global
ifdown-bnep  ifdown-routes    ifup-eth       ifup-ppp     network-functions
ifdown-eth   ifdown-sit       ifup-ib        ifup-routes  network-functions-ipv6
ifdown-ib    ifdown-Team      ifup-ippp      ifup-sit
ifdown-ippp  ifdown-TeamPort  ifup-ipv6      ifup-Team[root@huangruizhe1 network-scripts]# vim ifcfg-ens36
# 使用vim编辑器创建或编辑名为ifcfg-ens36的网卡配置文件(ens36为网卡设备名,用于配置该网卡的IP、网关等网络参数)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
UUID=70d146eb-03c6-4298-8298-6ed98d87f39b
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.100.11
PREFIX=24
GATEWAY=192.168.100.254
DNS1=114.114.114.114

用i键进入编辑模式直接改IPADDR=192.168.100.11那一行后用Esc进入命令模式用:wq保存退出

[root@huangruizhe1 network-scripts]systemctl restart  network
# 重启系统的网络服务,使所有网络配置(如网卡配置文件的修改)生效
# 该命令会重启整个网络服务,影响所有网络接口[root@huangruizhe1 network-scripts]nmcli connection up ens36
# 激活名为ens36的网络连接(使该连接的配置生效,如IP地址、网关等)

方法二


[root@huangruizhe1]nmcli  connection  modify  ens 33  ipv4.addresses 192.168.100.11/24  ipv4.gateway 192.168.100.254  ipv4.dns 114.114.114.114  ipv4.method manual  connection.autoconnect  yes
# 使用nmcli命令名为ens36的网络连接的相关配置
nmcli connection modify ens36
ipv4.addresses 192.168.100.11/24 # 设置IPv4地址为192.168.100.11,子网掩码为255.255.255.0(/24表示网络位长度为24位)ipv4.gateway 192.168.100.254 # 设置IPv4网关地址为192.168.100.254(用于跨网段通信的出口设备IP)
ipv4.dns 114.114.114.114 # 设置DNS服务器地址为114.114.114.114(用于将域名解析为IP地址)
ipv4.method manual # 设置IPv4的配置方式为手动(静态配置,需手动指定IP、网关等,而非通过DHCP自动获取)
connection.autoconnect yes         # 设置该网络连接在系统启动时自动激活(开机后无需手动开启该连接)[root@huangruizhe1]nmcli  connection up ens 36 
激活网卡

二、添加路由,使两台主机能够通信

主机一

route add -host 192.168.200.21  gw 192.168.100.254 dev ens 36

主机二

route add -host 192.168.100.11  gw 192.168.200.254 dev ens 36
http://www.dtcms.com/a/300995.html

相关文章:

  • STM32 I2C通信完整教程:从协议原理到硬件实现
  • 一文快速了解Docker和命令详解
  • 模拟实现python的sklearn库中的Bunch类以及 load_iris 功能
  • 文件权限标记机制在知识安全共享中的应用实践
  • minio 对象存储
  • java的break能加标签,return可以加标签吗
  • 从一副蓝牙耳机里get倍思的“实用而美”
  • Python 程序设计讲义(23):循环结构——循环控制语句 break 与 continue
  • 背包DP之多重背包
  • 边缘提取算法结合深度学习的肺结节分割预测
  • 「日拱一码」040 机器学习-不同模型可解释方法
  • 【机器学习】第七章 特征工程
  • 【机器学习-3】 | 决策树与鸢尾花分类实践篇
  • 探索 Linux 调试利器:GDB 入门与实战指南
  • 在分布式的远程调用中proxy和stub角色区别
  • C++ 多线程 std::thread::get_id
  • 数独求解器与生成器(回溯算法实现)
  • Python|OpenCV-实现对颜色进行检测(22)
  • PandasAI连接LLM进行智能数据分析
  • qt常用控件-06
  • 【人工智能】【Python】各种评估指标,PR曲线,ROC曲线,过采样,欠采样(Scikit-Learn实践)
  • PAT 甲级题目讲解:1010《Radix》
  • Spring之【Bean的生命周期】
  • [AI8051U入门第十一步]W5500-服务端
  • Linux实战:从零搭建基于LNMP+NFS+DNS的WordPress博客系统
  • (10)数据结构--排序
  • 设计模式(八)结构型:桥接模式详解
  • k8s的权限
  • Python队列算法:从基础到高并发系统的核心引擎
  • Cline与Cursor深度实战指南:AI编程助手的革命性应用