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

Linux服务器单网卡如何配置多个的IP地址?

b54ccbd8e477eef94b8e6050e116487b

在 Linux 服务器上,即使只有一个网卡,也可以为其配置多个 IP 地址。这种配置方式通常用于支持多站点部署、虚拟主机、站群或其他需要多个 IP 地址的场景。以下是详细的配置方法,包括永久性和临时性配置的步骤。


1. 配置多个 IP 地址的方式

Linux 系统支持两种方式为单个网卡配置多个 IP 地址:

  1. 别名 IP(Alias IP):为网卡创建别名,例如 eth0:1
  2. 直接绑定多个 IP:直接将多个 IP 地址绑定到网卡(推荐方式)。

2. 临时配置多个 IP 地址

临时配置的 IP 地址在服务器重启后会失效,适合测试或临时使用。

2.1 使用 ip 命令

  1. 添加一个新 IP 地址:

    bash
     
    ip addr add 192.168.1.101/24 dev eth0
    • 192.168.1.101/24:新添加的 IP 地址和子网掩码。
    • eth0:网卡名称(可以用 ip link show 查看网卡名称)。
  2. 添加多个 IP 地址:

    bash
     
    ip addr add 192.168.1.102/24 dev eth0
    ip addr add 192.168.1.103/24 dev eth0
  3. 验证配置:

    bash
     
    ip addr show eth0

    输出示例:

    plaintext
     
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0inet 192.168.1.101/24 scope global secondary eth0inet 192.168.1.102/24 scope global secondary eth0
  4. 删除一个 IP 地址:

    bash
     
    ip addr del 192.168.1.101/24 dev eth0

2.2 使用 ifconfig 命令

  1. 添加一个别名 IP:

    bash
     
    ifconfig eth0:1 192.168.1.101 netmask 255.255.255.0 up
    • eth0:1:表示网卡别名。
    • 192.168.1.101:新添加的 IP 地址。
  2. 添加多个别名 IP:

    bash
     
    ifconfig eth0:2 192.168.1.102 netmask 255.255.255.0 up
    ifconfig eth0:3 192.168.1.103 netmask 255.255.255.0 up
  3. 查看当前配置:

    bash
     
    ifconfig
  4. 删除别名 IP:

    bash
     
    ifconfig eth0:1 down

3. 永久配置多个 IP 地址

永久配置可以使 IP 地址在服务器重启后仍然生效。以下是针对不同 Linux 发行版的配置方法。


3.1 配置文件路径简介

  • RHEL/CentOS/Rocky Linux/etc/sysconfig/network-scripts/
  • Debian/Ubuntu/etc/network/interfaces
  • 其他发行版:可能有类似路径,但需要查阅对应文档。

3.2 RHEL/CentOS 系列(NetworkManager 配置)

方法 1:使用配置文件

  1. 编辑网卡主配置文件:

    bash
     
    nano /etc/sysconfig/network-scripts/ifcfg-eth0
  2. 配置多个 IP 地址:
    在文件中添加以下内容:

    plaintext
     
    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1# 添加多个 IP 地址
    IPADDR1=192.168.1.101
    NETMASK1=255.255.255.0IPADDR2=192.168.1.102
    NETMASK2=255.255.255.0
  3. 重启网络服务:

    bash
     
    systemctl restart network

方法 2:使用别名配置文件

  1. 为每个 IP 地址创建一个别名配置文件:

    • 主配置文件:ifcfg-eth0
    • 别名配置文件:ifcfg-eth0:1, ifcfg-eth0:2
  2. 示例配置:
    主网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0

    plaintext
     
    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1

    别名配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0:1

    plaintext
     
    DEVICE=eth0:1
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.101
    NETMASK=255.255.255.0

    别名配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0:2

    plaintext
     
    DEVICE=eth0:2
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.102
    NETMASK=255.255.255.0
  3. 重启网络:

    bash
     
    systemctl restart network

3.3 Debian/Ubuntu 系列

  1. 编辑网络接口配置文件:

    bash
     
    nano /etc/network/interfaces
  2. 添加多个 IP 地址:

    plaintext
     
    auto eth0
    iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1# 添加额外的 IP 地址
    iface eth0:1 inet staticaddress 192.168.1.101netmask 255.255.255.0iface eth0:2 inet staticaddress 192.168.1.102netmask 255.255.255.0
  3. 重启网络服务:

    bash
     
    systemctl restart networking

3.4 使用 nmcli 工具(适用于 NetworkManager)

  1. 为网卡添加额外的 IP 地址:

    bash
     
    nmcli connection modify eth0 +ipv4.addresses 192.168.1.101/24
    nmcli connection modify eth0 +ipv4.addresses 192.168.1.102/24
  2. 重新加载配置:

    bash
     
    nmcli connection up eth0
  3. 验证配置:

    bash
     
    nmcli device show eth0

4. 验证配置是否成功

4.1 使用 ip addr 检查

执行以下命令,查看网卡是否绑定了多个 IP 地址:

bash
 
ip addr show eth0

4.2 测试网络连通性

  • 测试每个 IP 地址是否可以正常访问:
    bash
     
    ping -c 3 192.168.1.100
    ping -c 3 192.168.1.101
    ping -c 3 192.168.1.102

4.3 使用 curl 测试服务

  • 如果为每个 IP 地址配置了服务(如 Web 服务),可以使用 curl 测试:
    bash
     
    curl http://192.168.1.101

5. 注意事项

  1. 避免 IP 冲突

    • 确保分配的多个 IP 地址在同一网段中是唯一的,避免 IP 冲突。
  2. 网关配置

    • 通常只为主 IP 地址配置默认网关,额外的 IP 地址无需配置网关。
  3. 防火墙配置

    • 如果使用防火墙(如 iptablesufw),需要为每个 IP 地址开放对应的服务端口。
  4. 重启后生效

    • 确保永久配置正确,否则重启服务器后可能丢失配置。

通过以上方法,您可以在单网卡的 Linux 服务器上成功配置多个 IP 地址,满足多站点部署、站群优化或其他业务需求。

http://www.gsyq.cn/news/9654.html

相关文章:

  • day38大模型程序开发-GraphRAG实操
  • 深入解析MS12-020关键漏洞CVE-2012-0002:远程桌面协议的安全风险与缓解方案
  • 鸿蒙项目实战(九):get请求参数的处理
  • 20250806_信安一把梭_test
  • 专业 RAW 图像处理利器!DxO PhotoLab 让你的照片质感飙升
  • mysql时间转字符串,自定义格式将日期时间值转换为字符串
  • 其他与其它的区别
  • 实用指南:数据库造神计划第十七天---索引(2)
  • 指令流水线
  • nuget控制台乱码的解决办法
  • WPF TextBlock effect DropShadrowEffect,BlurEffect
  • 在控制台执行这段代码可以列出所有::selection规则
  • 超前探展!2025 云栖大会朋友圈晒图必备
  • 进程池
  • 报表神器Stimulsoft再升级!Stimulsoft Reports、Dashboards 和 PDF Forms 2025.4 即将发布!
  • 数显LED驱动芯片恒流数码管驱动IC内置显示RAM为816位 VK16D33
  • 【AI智能体】Dify 搭建数据分析应用实战操控详解
  • PostgreSQL 全表 count 优化实践:从 SeqScan 痛点分析到 heapam 改进与性能突破
  • Lightroom Classic 2025:精细调控,呈现完美画质,专业级数字照片管理与后期处理全解析
  • 负载分析和排查五
  • langfuse从v2.70.1升级到V3.110(异机升级+数据迁移)
  • 校u圈校园外卖众包任务课表交友CPS社区:一站式校园生态服务系统
  • AT_abc413_g [ABC413G] Big Banned Grid
  • 日常练习另一部分
  • 每天一个安卓测试开发小知识之 (六)---常用的adb 命令第四期
  • 视频融合平台EasyCVR国标GB28181视频诊断功能详解与实践
  • MyEMS 进阶应用:从单厂能耗管理到集团跨区域能源数据协同分析
  • avalonia android TextBox多行模式下回车会关闭输入法问题
  • client-go限速之QPS、Burst 和 RateLimiter
  • python实现网站登录会话脚本 - wanghongwei