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执行
相关推荐
两圆相切几秒前
ICMPv4报文类型详解表
网络·智能路由器
zhezhi5013 分钟前
OSPF多区域介绍
网络·ospf多区域
Z7676_5 分钟前
OSPF开放式最短路径优先
运维·网络
两圆相切8 分钟前
ICMPv6报文类型详解表
网络
小码过河.13 分钟前
CentOS 搭建 Docker 私有镜像仓库
linux·docker·centos
极地星光17 分钟前
TCP/IP 网络编程面试题及解答
网络·网络协议·tcp/ip
贾斯汀玛尔斯2 小时前
ubuntu/centos系统ping 不通域名的解决方案
linux·ubuntu·centos
誰能久伴不乏2 小时前
Linux 系统调用详解:操作文件的常用系统调用
服务器·网络·servlet
呆瑜nuage3 小时前
Linux的工具
linux
唐青枫3 小时前
Linux vimgrep 详解
linux·vim