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
    • 示例

      bash 复制代码
      FC00:0000:130F:0000:0000:09C0:876A:130B  # 完整格式
      FC00:0:130F::09C0:876A:130B              # 压缩格式

二、网卡配置与管理

配置文件路径
bash 复制代码
/etc/sysconfig/network-scripts/ifcfg-ens33
关键配置参数
ini 复制代码
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. 图形化配置

    bash 复制代码
    nmtui
  2. 查看连接

    bash 复制代码
    nmcli connection show
  3. 修改IPv4配置

    bash 复制代码
    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. 激活连接

    bash 复制代码
    nmcli connection up ens33
    systemctl restart network   # 重启网络服务

三、网卡操作指南

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

    bash 复制代码
    rm -f /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 删除网络连接:

    bash 复制代码
    nmcli connection delete ens33
  3. 虚拟机中移除网卡。

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

  2. 创建新连接:

    bash 复制代码
    nmcli connection add con-name ens33 ifname ens33 type ethernet
  3. 配置IP并激活:

    bash 复制代码
    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配置

bash 复制代码
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转发控制
bash 复制代码
# 检查转发状态(1=开启, 0=关闭)
cat /proc/sys/net/ipv4/ip_forward

# 永久开启:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p  # 生效配置
静态路由命令
类型 添加命令 删除命令
目标主机 route add -host <IP> gw <网关> dev <接口> route del -host <IP> gw <网关> dev <接口>
目标网络(带网关) route add -net <网段> netmask <掩码> gw <网关> dev <接口> route del -net <网段> netmask <掩码>
目标网络(直连) route add -net <网段> netmask <掩码> dev <接口> route del -net <网段> netmask <掩码>

关键规则

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

示例

bash 复制代码
# 添加主机路由
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

bash 复制代码
# 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. 添加路由**:
bash 复制代码
# 在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. 激活连接

bash 复制代码
nmcli connection up ens33  # 两台主机均执行
  1. 验证通信

    bash 复制代码
    ping 172.16.40.10  # 从YDH执行
相关推荐
逐梦吧!旅行者25 分钟前
Linux之环境变量(内容由浅入深,层层递进)
linux·运维
IOT-Power36 分钟前
树莓派 Ubuntu 24.04 开机换源总结
linux·数据库·ubuntu
weixin_468466851 小时前
树莓派32位与64位系统安装teamviewer远程软件
linux·单片机·自动化·树莓派·远程控制·vnc·teamviewer
挨踢攻城1 小时前
Linux 应急响应实操 Checklist
linux·运维·linux命令·rhce·rhca·厦门微思网络·linux 应急响应
wanhengidc1 小时前
什么是云手机?
运维·网络·安全·游戏·智能手机
optiz1 小时前
细菌基因组genome二代测序数据分析
linux·运维·服务器
机器人梦想家1 小时前
pymodbus启动一个简单的modbus tcp server
网络·网络协议·tcp/ip
一刀到底2111 小时前
springboot3.3.5 集成elasticsearch8.12.2 ssl 通过 SSL bundle name 来实现
网络·elasticsearch·ssl·springboot3
m0_661316231 小时前
modbus_tcp和modbus_rtu对比&移植AT-socket,modbus_tcp&杂记
服务器·网络·tcp/ip
李游Leo1 小时前
LaTeX TeX Live 安装与 CTAN 国内镜像配置(Windows / macOS / Linux 全流程)
linux·windows·macos