> 技术文档 > Linux网络配置全攻略:IP、路由与双机通信

Linux网络配置全攻略:IP、路由与双机通信


一、IP地址基础

  1. IPv4地址

    • 表示方法:点分十进制(如 192.168.1.1

    • 结构

      • 网络位:标识所属网络
      • 主机:标识网络内具体设备
    • 分类标准

      类别 范围 网络位长度 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 (保留)
    • 私有地址范围

      • 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
  2. IPv6地址

    • 格式:128位,8组16进制数(如 2001:db8:0:1::c000:207

    • 压缩规则

      • 连续全0组可省略为 ::(仅限一次使用)
      • 每组前导0可省略(如 09C09C0
    • 示例

      FC00:0000:130F:0000:0000:09C0:876A:130B # 完整格式FC00:0:130F::09C0:876A:130B  # 压缩格式

二、网卡配置与管理

配置文件路径
/etc/sysconfig/network-scripts/ifcfg-ens33
关键配置参数
TYPE=Ethernet # 网卡类型(以太网)BOOTPROTO=none # 配置方式:none/static(静态) 或 dhcp(动态)NAME=ens33  # 连接名称UUID=... # 唯一标识DEVICE=ens33 # 设备名称ONBOOT=yes  # 开机自启IPADDR=172.16.30.20 # IPv4地址PREFIX=24 # 子网掩码(等价于NETMASK=255.255.255.0)GATEWAY=172.16.30.1 # 网关DNS1=172.16.30.254 # DNS服务器
命令行工具
  1. 图形化配置

    nmtui
  2. 查看连接

    nmcli connection show
  3. 修改IPv4配置

    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 # 必须参数
  4. 激活连接

    nmcli connection up ens33systemctl restart network # 重启网络服务

三、网卡操作指南

删除网卡
  1. 移除配置文件:

    rm -f /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 删除网络连接:

    nmcli connection delete ens33
  3. 虚拟机中移除网卡。

添加网卡
  1. 虚拟机添加新网卡(仅主机模式)。

  2. 创建新连接:

    nmcli connection add con-name ens33 ifname ens33 type ethernet
  3. 配置IP并激活:

    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 # 必须参数nmcli connection up ens33

四、IPv6配置

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=开启, 0=关闭)cat /proc/sys/net/ipv4/ip_forward# 永久开启:echo \"net.ipv4.ip_forward = 1\" >> /etc/sysctl.confsysctl -p # 生效配置
静态路由命令
类型 添加命令 删除命令 目标主机 route add -host gw dev route del -host gw dev 目标网络(带网关) route add -net netmask gw dev route del -net netmask 目标网络(直连) route add -net netmask dev route del -net netmask

关键规则

  1. 目标为主机时必须指定网关
  2. 目标为网段时可省略网关(直连路由)

示例

# 添加主机路由route add -host 172.16.40.10 gw 172.16.30.254 dev ens33# 添加网络路由route add -net 172.16.30.0 netmask 255.255.255.0 gw 172.16.20.1 dev ens33

六、实验:双主机通信

主机配置
主机 IP地址 子网掩码 网关 模式 chenyu1 172.16.30.10 255.255.255.0 172.16.30.254 仅主机模式 chenyu2 172.16.40.10 255.255.255.0 172.16.40.254 仅主机模式
操作步骤
  1. 配置IP

    在这里插入图片描述

在这里插入图片描述

# YDH:nmcli connection modify ens33 \\ ipv4.addresses 172.16.30.10/24 \\ ipv4.gateway 172.16.30.254 \\ ipv4.method manual# ydh2:nmcli connection modify ens33 \\ ipv4.addresses 172.16.40.10/24 \\ ipv4.gateway 172.16.40.254 \\ ipv4.method manual
  1. 添加路由**:

在这里插入图片描述

在这里插入图片描述

# 在YDH上:route add -net 172.16.40.0 netmask 255.255.255.0 gw 172.16.30.254 dev ens33# 在ydh2上:route add -net 172.16.30.0 netmask 255.255.255.0 gw 172.16.40.254 dev ens33
  1. 激活连接

    在这里插入图片描述

在这里插入图片描述

nmcli connection up ens33 # 两台主机均执行
  1. 验证通信

    在这里插入图片描述

    ping 172.16.40.10 # 从YDH执行