VPS服务器一次性能获取几个IP(附完美搭建教学)

ddd77388730d6807815b54dc2e63789f

写这篇文章的想法酝酿了大半年了。

事情要从去年说起。当时有个做外贸的朋友找到我,说想搞一批独立站做SEO,问我一台服务器能不能挂十几个网站,每个网站用不同的IP。我说可以啊,多买几个IP绑上去就行。他又问:那IP怎么买?买多少合适?怎么配置?会不会被封?

我噼里啪啦给他讲了两个小时,讲完他还是一脸懵。

后来我反思了一下,多IP这块的知识确实比较碎,网上的教程要么太简单只讲皮毛,要么太硬核新手看不懂。加上不同厂商政策不一样、不同系统配置方法不一样、不同场景需求也不一样,想找一篇能把所有问题都讲清楚的文章,还真挺难的。

正好我在这行摸爬滚打这么多年,踩过的坑、交过的学费也不少,干脆写一篇详细的教程出来,把从原理到实操、从选购到配置、从单IP到多IP的所有知识点都串起来。

文章会比较长,建议先收藏,用到的时候再翻出来看。

第一章:搞清楚基本概念

在开始折腾之前,有些基础概念必须先搞清楚,不然后面会越看越糊涂。

1.1 什么是IP地址

这个大家应该都知道,IP地址就是互联网上设备的”门牌号”。你访问任何一个网站,本质上都是在访问一个IP地址,只不过域名系统(DNS)帮你把域名翻译成了IP。

IP地址分两种:

IPv4:就是我们最常见的那种,比如 192.168.1.1、8.8.8.8 这样的格式,由四组数字组成,每组0-255。全球IPv4地址总共只有约43亿个,早就不够用了,所以现在很金贵。

IPv6:新一代IP地址,格式类似 2001:0db8:85a3:0000:0000:8a2e:0370:7334,长得像一串乱码。IPv6的地址数量多到离谱,理论上可以给地球上每一粒沙子都分配一个IP还绰绰有余。但目前普及率还不高,很多网站和服务还不支持。

我们平时说的”多IP”,如果不特别说明,一般指的都是IPv4。

1.2 公网IP和内网IP的区别

这个概念很重要,搞不清楚的话后面配置会出问题。

公网IP:可以直接在互联网上访问的IP,你买VPS拿到的那个IP就是公网IP。全球唯一,别人通过这个IP可以访问到你的服务器。

内网IP:只能在局域网内部使用的IP,比如你家路由器分配给你电脑的 192.168.x.x,出了你家这个网络就没人认识它。

VPS上配置多IP,配置的都是公网IP。但有个坑要注意:很多云服务器的公网IP是通过NAT映射的,你在系统里看到的可能是内网IP(比如 172.16.x.x 或 10.x.x.x),实际对外的公网IP是另一个。这种情况下配置多IP会稍微麻烦一点,后面会详细讲。

1.3 独立IP和共享IP

独立IP:这个IP只有你一个人在用,你想干嘛干嘛,不受别人影响。

共享IP:多个用户共用一个IP,最典型的就是虚拟主机。你和别人的网站挂在同一个IP下,如果有人搞违规内容被封IP,你也跟着遭殃。

做站群SEO、跨境电商、多账号运营这些业务,必须用独立IP。共享IP分分钟给你带来连带风险。

1.4 IP段和C段的概念

这个概念在买多IP服务器的时候经常会遇到。

IP地址按照前三组数字划分,同一个”C段”指的是前三组数字相同的IP。比如:

  • 192.168.1.1
  • 192.168.1.2
  • 192.168.1.100
  • 192.168.1.254

这四个IP就属于同一个C段(192.168.1.x)。

为什么要关心这个?因为搜索引擎和各种风控系统在判断是否是”同一个人”的时候,会参考IP段。同一个C段下的多个网站,很容易被判定为站群作弊。

所以买多IP服务器的时候,有两种选择:

  • 同C段IP:便宜,但所有IP前三位相同,容易被识别
  • 多C段/跨段IP:贵一些,但IP分散在不同段,更安全

根据你的业务需求选择,单纯做业务隔离用同C段就行,做SEO站群最好选多C段。

第二章:一台VPS到底能获取几个IP?

这是本文的核心问题,我按照不同情况详细说明。

2.1 国内大厂云服务器(阿里云、腾讯云、华为云等)

国内大厂的云服务器,默认配置是1个公网IP

想要更多IP,需要购买弹性公网IP(EIP),然后绑定到你的服务器上。

能绑多少个?

理论上没有硬性上限,但实际受限于以下因素:

账户配额限制

每个账户默认有EIP配额,通常是20个左右。超过这个数量需要提交工单申请提升配额,说明用途后一般都能批。

实例规格限制

不同规格的云服务器,能绑定的弹性网卡数量不同。每张网卡能绑定的EIP数量也有限制。

以阿里云为例:

  • 1核1G的入门实例:最多2张网卡
  • 4核8G的通用实例:最多4张网卡
  • 8核16G的高配实例:最多8张网卡

每张网卡通常能绑定1个主IP和若干辅助IP。

实际操作中,普通用户在一台国内云服务器上绑定5-15个IP是比较现实的范围。再多的话一是成本上去了,二是配置管理变得复杂。

价格怎么算?

EIP按带宽和使用时长收费,不同厂商略有差异。大概价格参考:

  • 阿里云EIP:约20-30元/月/个(1M带宽)
  • 腾讯云EIP:约18-25元/月/个(1M带宽)
  • 华为云EIP:约20-28元/月/个(1M带宽)

如果需要10个IP,光IP费用每月就要200-300元,加上服务器本身的费用,成本不低。

所以国内云服务器适合IP需求不大(10个以内)的用户。需要几十上百个IP的,这条路走不通,成本太高。

2.2 海外主流VPS厂商

海外VPS厂商的IP政策相对灵活一些,但也有各自的规则。

Vultr

Vultr是很多人的入门选择,IP政策如下:

  • 每台实例默认1个IPv4
  • 可以购买额外IPv4,3美元/月/个
  • 同一账户最多可以购买的额外IP数量有限制(通常是10-20个)
  • IPv6基本不限量

优点是操作简单,控制台直接就能加IP。缺点是单个IP价格不便宜,批量采购不划算。

DigitalOcean

DigitalOcean的IP策略比较保守:

  • 每台Droplet默认1个IPv4
  • 想要额外IP必须提交工单申请
  • 需要说明用途,审核通过后才能购买
  • 价格约4美元/月/个

DigitalOcean对IP用途审核比较严,说是做站群大概率会被拒。可以用”多站点托管””业务隔离”之类的理由申请。

Linode

Linode的政策类似DigitalOcean,也是需要工单申请额外IP,而且要说明正当理由。价格大约是2美元/月/个,相对便宜一些。

BandwagonHost(搬瓦工)

搬瓦工默认只给1个IP,不支持购买额外IPv4。想要多IP的话只能多买几台VPS,每台一个IP。

总结

海外主流VPS厂商,单台机器能绑定的IP数量通常在1-20个之间,价格在2-5美元/月/个。适合IP需求中等的用户。

2.3 多IP服务器/站群服务器(重点推荐)

如果你需要几十甚至上百个IP,上面那些方案都不合适。这时候应该直接购买专门的多IP服务器站群服务器

这类产品专门为多IP需求设计,一台机器可以配置32个、64个、128个甚至256个以上的IP。单个IP的成本被摊得很低,适合做站群、爬虫、分布式业务的用户。

国内厂商推荐:余初云

说到多IP服务器,必须推荐一下我们余初云

我在余初云工作,所以对自家产品比较了解。余初云在多IP服务器这块做得确实不错,几个优势:

IP资源丰富

余初云有美国、香港、日本、韩国、新加坡等多个机房,IP储备充足。可以提供同C段IP,也可以提供多C段混合IP,满足不同业务需求。

价格透明合理

价格采用”基础配置 + IP数量×单价”的模式,明码标价。批量采购IP的单价能压到很低,比去大厂买EIP划算太多。

举个例子:4核8G、100M带宽、128个IP的美国站群服务器,月付大概在600-800元之间。平均下来每个IP才5-6块钱,比阿里云腾讯云便宜好几倍。

IP质量有保障

这点很重要。有些便宜的多IP服务器,给的都是被滥用过的”脏IP”,买来就被各种网站拉黑了,根本没法用。

余初云的IP都是经过筛选的,交付前会检测确保可用。如果发现有问题的IP,可以免费更换。

技术支持到位

多IP服务器配置起来比普通VPS复杂,新手容易搞不定。余初云提供技术支持,配置过程中遇到问题可以找客服协助,响应速度也比较快。

支持试用

不确定适不适合自己的业务?可以先申请试用,测试没问题再正式下单。这点比较良心,很多厂商是不支持试用的。

如果你有多IP需求,真心建议去余初云官网看看,对比一下价格和配置。不是因为我在这工作就王婆卖瓜,是真的性价比高。

海外厂商参考

除了余初云,海外也有一些做多IP服务器的厂商,列几个供参考:

RAKsmart

美国老牌服务商,站群服务器做得比较久。优点是机房多、IP资源丰富;缺点是客服响应慢,工单有时候要等很久。

Megalayer

香港服务商,主打香港和菲律宾机房。香港机房延迟低,适合面向国内用户的业务。价格中等偏上。

HostWinds

美国服务商,价格相对便宜。但线路对国内用户不太友好,晚高峰可能会卡。适合做纯海外业务。

2.4 IPv6的情况

前面说的都是IPv4,如果你的需求IPv6能满足,那就是另一片天地了。

很多VPS厂商对IPv6非常慷慨。以Vultr为例,每台VPS可以免费获得一整个/64段的IPv6地址。一个/64段有多少IP?

算一下:2的64次方 = 18,446,744,073,709,551,616

对,你没看错,是一千八百亿亿个IP。理论上用到地球毁灭都用不完。

但IPv6目前的问题是兼容性不够好,很多网站、API、支付接口等还不支持IPv6访问。所以IPv6更多是作为IPv4的补充,而不是替代。

如果你的业务对IP要求不高,只是需要”看起来不同的IP”,可以考虑用IPv6来凑数,能省不少钱。

2.5 小结:不同需求的选择建议

需求场景 IP数量 推荐方案 预算参考
个人建站、学习测试 1-2个 普通VPS默认配置 50-100元/月
小型多站点托管 3-10个 云服务器+EIP 200-500元/月
中型站群、爬虫 10-50个 多IP服务器(余初云等) 300-600元/月
大型站群、批量业务 50-256个 站群服务器(余初云等) 500-1500元/月
IP需求极大 256个以上 多台站群服务器组合 按需定制

第三章:多IP服务器选购避坑指南

选购多IP服务器有很多讲究,搞不好就交学费。这章把我踩过的坑和总结的经验都分享出来。

3.1 关于IP质量

这是最最最重要的一点,没有之一。

IP质量直接决定了你买的IP能不能用、好不好用。

什么叫IP质量差?

  • 被搜索引擎标记为垃圾站群IP,新站上去就被降权
  • 被社交媒体平台拉黑,登录就封号
  • 被CDN和安全厂商标记为恶意IP,访问各种网站都要验证码
  • 被GFW墙了,国内根本访问不了

这些”脏IP”是怎么来的?通常是被前任用户滥用过,做过违规业务,然后被退回IP池重新出售。

如何判断IP质量?

  1. 购买前询问IP来源:正规厂商会告诉你IP是直接从运营商拿的一手资源,还是从其他渠道收购的二手资源。
  2. 要求提供测试IP:正规厂商应该愿意提供几个IP让你先测试,你可以用这些工具检测:
  3. 选择口碑好的厂商:像余初云这种做了多年的厂商,IP资源相对靠谱。那些刚冒出来的、价格低得离谱的,很可能是拿脏IP来卖。
  4. 了解换IP政策:再靠谱的厂商也不能保证每个IP都没问题,关键是出问题后能不能免费更换。购买前确认清楚换IP政策。

3.2 关于IP段的选择

前面讲过C段的概念,这里展开说说怎么选。

同C段IP

优点:

  • 价格便宜
  • 配置简单,同一网关同一子网掩码
  • 管理方便

缺点:

  • 容易被识别为同一批IP
  • 一个IP出问题可能连累整个段

适用场景:

  • 普通多站点托管
  • 业务隔离(不涉及SEO)
  • 爬虫IP池(配合代理轮换使用)

多C段/跨段IP

优点:

  • IP分散,更难被关联
  • 单个IP出问题不影响其他IP
  • 更适合SEO站群

缺点:

  • 价格更贵
  • 配置相对复杂,每个段可能有不同的网关

适用场景:

  • SEO站群
  • 跨境电商多店铺
  • 社交媒体多账号运营
  • 对隐蔽性要求高的业务

如果预算有限但又想要一定的分散性,可以选择”2-4个C段混合”的方案,是个折中选择。

3.3 关于机房位置

机房位置决定了访问延迟和线路质量,选错了会很难受。

目标用户在国内

首选香港机房,延迟低(通常30-80ms)、不需要备案、大部分时候不用担心被墙。

其次是日本、韩国、新加坡,延迟稍高但也能接受。

美国机房对国内用户来说延迟太高(150-300ms),除非用了CN2优化线路,否则体验会比较差。

目标用户在海外

根据目标用户所在地区选择就近的机房。做美国市场就选美国机房,做欧洲市场就选欧洲机房。

余初云有多个机房可选,可以根据业务需求灵活选择。

做全球业务

可以考虑选择有BGP多线接入的机房,或者在多个地区各部署一台服务器。

3.4 关于带宽和流量

多IP服务器的带宽配置需要特别注意。

带宽类型

  • 共享带宽:和其他用户共用一条大带宽,高峰期可能会拥堵。便宜,但不稳定。
  • 独享带宽:这条带宽只有你一个人用,稳定有保障。贵,但体验好。

做正经业务建议选独享带宽,不差那点钱。

带宽大小

多IP意味着可能同时运行多个站点或服务,带宽需求会比单站点大。

经验值:

  • 32个IP以内:50-100M带宽够用
  • 64-128个IP:100-200M带宽
  • 128个以上:200M以上或按需定制

流量限制

有些厂商的多IP服务器有流量限制,超出要额外付费。购买前看清楚是否限制流量,月流量上限是多少。

余初云的多IP服务器大部分套餐是不限流量的,这点比较厚道。

3.5 关于售后和技术支持

多IP服务器比普通VPS复杂,出问题的概率也更高。选一个售后靠谱的厂商很重要。

重点关注

  1. 工单响应速度:出了问题能不能及时处理?有些小厂商工单要等好几天。
  2. 技术支持能力:客服能不能真正解决技术问题?还是只会复制粘贴FAQ?
  3. 换IP政策:IP有问题能不能免费换?换IP要多久?
  4. 退款政策:用着不满意能不能退款?退款周期多长?

这些问题最好在购买前就问清楚,别等出了问题再抓瞎。

3.6 价格陷阱

最后说说价格方面的坑。

警惕超低价

某些厂商打出”128个IP只要99元/月”之类的超低价,基本可以确定有问题。要么是脏IP,要么是超售严重性能垃圾,要么是骗子跑路。

正常的市场行情,128个IP的站群服务器月付应该在500-1000元之间。低于这个区间太多的要小心。

注意隐藏费用

有些厂商基础套餐便宜,但IP要另外付费、带宽要另外付费、续费涨价……算下来总价并不便宜。购买前把所有费用加起来算清楚。

首购优惠和续费价格

很多厂商首购有大额优惠,续费恢复原价。如果打算长期使用,要看续费价格是多少,别被首购价格迷惑。

第四章:多IP配置实战教学

买到多IP服务器之后,怎么把IP配置起来?这章手把手教你操作。

4.1 前置知识:了解你的网络环境

在动手配置之前,先搞清楚几个关键信息。

SSH登录服务器

多IP服务器通常提供root账号和密码,用SSH工具登录:

ssh root@你的主IP

Windows用户可以用PuTTY、Xshell、FinalShell等工具。Mac和Linux直接用终端。

查看当前网络配置

登录后先看看现在的网络状态:

ip addr show

这个命令会列出所有网卡和已配置的IP。记下网卡名称,通常是 eth0ens3 之类的。

查看网关信息

ip route show

找到 default via x.x.x.x 这行,后面的IP就是默认网关。

获取IP列表和配置信息

多IP服务器开通后,厂商会提供:

  • IP地址列表
  • 子网掩码
  • 网关地址
  • DNS服务器

这些信息通常通过邮件发送,或者在控制台可以查看。务必保存好,配置的时候要用。

4.2 配置方法一:单网卡多IP(最常用)

这是最常见的配置方式,在一张网卡上绑定多个IP地址。

CentOS 7/8 配置方法

CentOS使用 network-scripts 管理网络,配置文件在 /etc/sysconfig/network-scripts/ 目录下。

Step 1:备份原有配置

养成好习惯,改配置前先备份:

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak

Step 2:创建IP别名配置文件

假设要添加的IP是 192.168.1.101,创建配置文件:

nano /etc/sysconfig/network-scripts/ifcfg-eth0:0

写入以下内容:

DEVICE=eth0:0
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.101
NETMASK=255.255.255.0
ONBOOT=yes

Step 3:继续添加更多IP

每个额外IP创建一个文件,命名依次为 ifcfg-eth0:1ifcfg-eth0:2……

nano /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.102
NETMASK=255.255.255.0
ONBOOT=yes

以此类推。

Step 4:重启网络服务

systemctl restart network

Step 5:验证配置

ip addr show eth0

能看到所有配置的IP就说明成功了。

Ubuntu/Debian配置方法

Ubuntu 18.04及以后版本使用 Netplan 管理网络,配置文件在 /etc/netplan/ 目录下。

Step 1:备份原配置

cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak

Step 2:编辑配置文件

nano /etc/netplan/01-netcfg.yaml

修改成类似这样的格式:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
        - 192.168.1.101/24
        - 192.168.1.102/24
        - 192.168.1.103/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

多个IP直接在 addresses 下面列出来就行,格式是 IP/子网位数

Step 3:应用配置

netplan apply

Step 4:验证

ip addr show eth0

老版本Ubuntu/Debian(使用interfaces文件)

如果是Ubuntu 16.04或更早版本,使用传统的 interfaces 文件:

nano /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1

auto eth0:0
iface eth0:0 inet static
    address 192.168.1.101
    netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
    address 192.168.1.102
    netmask 255.255.255.0

重启网络:

systemctl restart networking

4.3 配置方法二:使用iproute2命令(临时生效)

如果只是临时测试,不需要持久化配置,可以用 ip 命令直接添加:

ip addr add 192.168.1.101/24 dev eth0
ip addr add 192.168.1.102/24 dev eth0
ip addr add 192.168.1.103/24 dev eth0

这种方式重启后会失效,适合临时测试用。

删除IP的命令:

ip addr del 192.168.1.101/24 dev eth0

4.4 配置方法三:批量配置脚本

如果IP数量很多,一个一个手动配置太累。分享几个我常用的脚本。

批量添加脚本(临时)

#!/bin/bash
# 批量添加IP地址
# 用法:./add_ips.sh eth0 192.168.1 100 200
# 参数:网卡名 IP前三段 起始序号 结束序号

INTERFACE=$1
IP_PREFIX=$2
START=$3
END=$4

if [ -z "$INTERFACE" ] || [ -z "$IP_PREFIX" ] || [ -z "$START" ] || [ -z "$END" ]; then
    echo "用法:./add_ips.sh 网卡名 IP前缀 起始序号 结束序号"
    echo "例如:./add_ips.sh eth0 192.168.1 100 200"
    exit 1
fi

count=0
for i in $(seq $START $END); do
    ip addr add ${IP_PREFIX}.${i}/24 dev $INTERFACE
    if [ $? -eq 0 ]; then
        echo "成功添加 ${IP_PREFIX}.${i}"
        ((count++))
    else
        echo "添加 ${IP_PREFIX}.${i} 失败"
    fi
done

echo "完成!共添加 $count 个IP"

保存为 add_ips.sh,赋予执行权限:

chmod +x add_ips.sh

使用:

./add_ips.sh eth0 192.168.1 100 200

这会添加192.168.1.100到192.168.1.200共101个IP。

生成CentOS配置文件脚本

#!/bin/bash
# 为CentOS批量生成网卡配置文件
# 用法:./gen_centos_cfg.sh eth0 192.168.1 100 200

INTERFACE=$1
IP_PREFIX=$2
START=$3
END=$4
CONFIG_DIR="/etc/sysconfig/network-scripts"

if [ -z "$INTERFACE" ] || [ -z "$IP_PREFIX" ] || [ -z "$START" ] || [ -z "$END" ]; then
    echo "用法:./gen_centos_cfg.sh 网卡名 IP前缀 起始序号 结束序号"
    exit 1
fi

index=0
for i in $(seq $START $END); do
    cat > ${CONFIG_DIR}/ifcfg-${INTERFACE}:${index} << EOF
DEVICE=${INTERFACE}:${index}
TYPE=Ethernet
BOOTPROTO=static
IPADDR=${IP_PREFIX}.${i}
NETMASK=255.255.255.0
ONBOOT=yes
EOF
    echo "生成配置文件:ifcfg-${INTERFACE}:${index} -> ${IP_PREFIX}.${i}"
    ((index++))
done

echo "完成!共生成 $index 个配置文件"
echo "请执行 systemctl restart network 使配置生效"

生成Netplan配置脚本(Ubuntu)

#!/bin/bash
# 为Ubuntu生成Netplan配置
# 用法:./gen_netplan.sh eth0 192.168.1 100 200 192.168.1.1

INTERFACE=$1
IP_PREFIX=$2
START=$3
END=$4
GATEWAY=$5

if [ -z "$INTERFACE" ] || [ -z "$IP_PREFIX" ] || [ -z "$START" ] || [ -z "$END" ] || [ -z "$GATEWAY" ]; then
    echo "用法:./gen_netplan.sh 网卡名 IP前缀 起始序号 结束序号 网关"
    exit 1
fi

CONFIG_FILE="/etc/netplan/99-multi-ip.yaml"

cat > $CONFIG_FILE << EOF
network:
  version: 2
  ethernets:
    $INTERFACE:
      dhcp4: no
      addresses:
EOF

for i in $(seq $START $END); do
    echo "        - ${IP_PREFIX}.${i}/24" >> $CONFIG_FILE
done

cat >> $CONFIG_FILE << EOF
      gateway4: $GATEWAY
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
EOF

echo "配置文件已生成:$CONFIG_FILE"
echo "请执行 netplan apply 使配置生效"

4.5 多C段IP的特殊配置

如果你买的是多C段IP,配置会稍微复杂一些,因为不同C段可能有不同的网关。

举个例子,假设你有两个C段的IP:

  • 192.168.1.x 段,网关 192.168.1.1
  • 192.168.2.x 段,网关 192.168.2.1

这种情况需要配置策略路由,确保每个C段的流量走对应的网关。

Step 1:添加路由表

编辑 /etc/iproute2/rt_tables,添加自定义路由表:

echo "100 table1" >> /etc/iproute2/rt_tables
echo "101 table2" >> /etc/iproute2/rt_tables

Step 2:配置策略路由

# 第一个C段的路由
ip route add default via 192.168.1.1 dev eth0 table table1
ip rule add from 192.168.1.0/24 table table1

# 第二个C段的路由
ip route add default via 192.168.2.1 dev eth0 table table2
ip rule add from 192.168.2.0/24 table table2

Step 3:持久化配置

上面的命令重启后会失效,需要写入启动脚本或者rc.local中。

创建脚本 /etc/rc.local(如果没有的话):

#!/bin/bash
# 多C段路由配置

ip route add default via 192.168.1.1 dev eth0 table table1
ip rule add from 192.168.1.0/24 table table1

ip route add default via 192.168.2.1 dev eth0 table table2
ip rule add from 192.168.2.0/24 table table2

exit 0

赋予执行权限:

chmod +x /etc/rc.local

确保rc.local服务启用:

systemctl enable rc-local

这部分比较复杂,如果搞不定可以找厂商的技术支持帮忙。余初云的客服在这方面经验丰富,可以远程协助配置。

4.6 验证IP配置是否成功

配置完成后,务必验证所有IP是否正常工作。

方法一:本机检查

ip addr show

确认所有IP都显示在列表中。

方法二:外部ping测试

从另一台机器(比如你自己的电脑)ping每个IP,看是否都能通:

ping 192.168.1.100
ping 192.168.1.101
ping 192.168.1.102

方法三:批量测试脚本

#!/bin/bash
# 批量ping测试
# 用法:./test_ips.sh 192.168.1 100 200

IP_PREFIX=$1
START=$2
END=$3

success=0
fail=0

for i in $(seq $START $END); do
    if ping -c 1 -W 1 ${IP_PREFIX}.${i} > /dev/null 2>&1; then
        echo "${IP_PREFIX}.${i} - OK"
        ((success++))
    else
        echo "${IP_PREFIX}.${i} - FAIL"
        ((fail++))
    fi
done

echo "测试完成:成功 $success 个,失败 $fail 个"

方法四:curl测试外网访问

测试每个IP是否能正常访问外网:

curl --interface 192.168.1.101 -s ifconfig.me

如果返回的IP和你指定的一致,说明配置正确。

第五章:多IP在Web服务中的应用

IP配置好了,接下来要让Web服务器识别和使用这些IP。

5.1 Nginx多IP配置

Nginx是目前最流行的Web服务器,配置多IP非常简单。

基础配置:每个站点绑定不同IP

# 站点A - 绑定IP 192.168.1.101
server {
    listen 192.168.1.101:80;
    server_name siteA.com www.siteA.com;
    
    root /var/www/siteA;
    index index.html index.php;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

# 站点B - 绑定IP 192.168.1.102
server {
    listen 192.168.1.102:80;
    server_name siteB.com www.siteB.com;
    
    root /var/www/siteB;
    index index.html index.php;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

# 站点C - 绑定IP 192.168.1.103
server {
    listen 192.168.1.103:80;
    server_name siteC.com www.siteC.com;
    
    root /var/www/siteC;
    index index.html index.php;
    
    # ... 其他配置 ...
}

关键点是 listen 指令要写明具体的IP地址,格式是 IP:端口

同时支持HTTP和HTTPS

server {
    listen 192.168.1.101:80;
    listen 192.168.1.101:443 ssl;
    server_name siteA.com;
    
    ssl_certificate /etc/ssl/siteA/fullchain.pem;
    ssl_certificate_key /etc/ssl/siteA/privkey.pem;
    
    # 强制HTTPS(可选)
    if ($scheme = http) {
        return 301 https://$host$request_uri;
    }
    
    root /var/www/siteA;
    # ... 其他配置 ...
}

批量生成Nginx配置的脚本

如果站点很多,手动写配置太累。这里分享一个批量生成脚本:

#!/bin/bash
# 批量生成Nginx站点配置
# 用法:./gen_nginx_sites.sh sites.txt
# sites.txt格式:每行一个"域名 IP 目录",用空格分隔

SITES_FILE=$1
NGINX_CONF_DIR="/etc/nginx/sites-available"
NGINX_ENABLED_DIR="/etc/nginx/sites-enabled"

if [ -z "$SITES_FILE" ] || [ ! -f "$SITES_FILE" ]; then
    echo "用法:./gen_nginx_sites.sh sites.txt"
    exit 1
fi

while read -r line; do
    domain=$(echo $line | awk '{print $1}')
    ip=$(echo $line | awk '{print $2}')
    webroot=$(echo $line | awk '{print $3}')
    
    if [ -z "$domain" ] || [ -z "$ip" ] || [ -z "$webroot" ]; then
        continue
    fi
    
    # 创建网站目录
    mkdir -p $webroot
    
    # 生成Nginx配置
    cat > ${NGINX_CONF_DIR}/${domain}.conf << EOF
server {
    listen ${ip}:80;
    server_name ${domain} www.${domain};
    
    root ${webroot};
    index index.html index.php;
    
    access_log /var/log/nginx/${domain}_access.log;
    error_log /var/log/nginx/${domain}_error.log;
    
    location / {
        try_files \$uri \$uri/ /index.php?\$query_string;
    }
    
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
        include fastcgi_params;
    }
    
    location ~ /\.ht {
        deny all;
    }
}
EOF
    
    # 创建软链接启用站点
    ln -sf ${NGINX_CONF_DIR}/${domain}.conf ${NGINX_ENABLED_DIR}/${domain}.conf
    
    echo "已生成配置:${domain} -> ${ip}"
    
done < "$SITES_FILE"

echo "完成!请执行 nginx -t && systemctl reload nginx 使配置生效"

sites.txt 文件格式示例:

siteA.com 192.168.1.101 /var/www/siteA
siteB.com 192.168.1.102 /var/www/siteB
siteC.com 192.168.1.103 /var/www/siteC

5.2 Apache多IP配置

如果你用的是Apache,配置逻辑类似。

基础配置

编辑 Apache 配置文件(通常在 /etc/apache2/sites-available//etc/httpd/conf.d/):

# 站点A
<VirtualHost 192.168.1.101:80>
    ServerName siteA.com
    ServerAlias www.siteA.com
    DocumentRoot /var/www/siteA
    
    <Directory /var/www/siteA>
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/siteA_error.log
    CustomLog ${APACHE_LOG_DIR}/siteA_access.log combined
</VirtualHost>

# 站点B
<VirtualHost 192.168.1.102:80>
    ServerName siteB.com
    ServerAlias www.siteB.com
    DocumentRoot /var/www/siteB
    
    <Directory /var/www/siteB>
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/siteB_error.log
    CustomLog ${APACHE_LOG_DIR}/siteB_access.log combined
</VirtualHost>

启用站点并重启Apache

# Ubuntu/Debian
a2ensite siteA.conf
a2ensite siteB.conf
systemctl restart apache2

# CentOS/RHEL
systemctl restart httpd

5.3 宝塔面板配置多IP

如果你用宝塔面板管理服务器,配置多IP站点也很方便。

Step 1:添加站点

在宝塔面板中点击”网站” -> “添加站点”,填写域名和根目录。

Step 2:修改监听IP

添加完成后,点击站点名称进入设置,找到”配置文件”选项。

listen 80; 改成 listen 你的IP:80;

例如:

listen 192.168.1.101:80;

Step 3:保存并重启

保存配置,然后在”服务”中重启Nginx。

宝塔面板的好处是图形化操作,适合不熟悉命令行的用户。但如果IP数量很多,还是建议用脚本批量处理。

第六章:常见问题排查

在配置和使用多IP的过程中,难免会遇到各种问题。这章整理了一些常见问题的排查思路。

6.1 IP配置后无法访问

这是最常见的问题。排查步骤:

1. 确认IP已正确配置

ip addr show | grep "你的IP"

如果没有显示,说明配置没生效,检查配置文件语法。

2. 检查网关和路由

ip route show

确认默认网关正确。如果是多C段IP,确认策略路由配置正确。

3. 检查防火墙

# iptables
iptables -L -n

# firewalld
firewall-cmd --list-all

# ufw
ufw status

确认没有把相关IP或端口block掉。

4. 检查云服务器安全组

如果是云服务器,登录控制台检查安全组规则,确保入站规则允许访问。

5. 检查SELinux(CentOS)

getenforce

如果是 Enforcing,尝试临时关闭测试:

setenforce 0

如果关闭后能访问了,说明是SELinux策略问题,需要配置正确的策略或永久关闭。

6.2 部分IP正常,部分IP不通

可能原因一:策略路由问题

多C段IP没有正确配置回程路由,导致数据包出去了但回不来。检查策略路由配置。

可能原因二:IP本身有问题

某些IP可能被上游封禁或标记异常。联系厂商更换IP。

可能原因三:IP冲突

极少数情况下,IP可能和其他设备冲突。用 arping 命令检测:

arping -I eth0 192.168.1.101

如果收到来自其他MAC地址的响应,说明IP冲突了。

6.3 网站能访问但显示其他站点内容

这说明Nginx/Apache的虚拟主机配置有问题,请求被路由到了错误的站点。

检查配置文件中的 listen 指令是否正确指定了IP。

6.4 IP能ping通但网站访问超时

可能原因一:Web服务没启动

systemctl status nginx
# 或
systemctl status apache2

可能原因二:Web服务没有监听该IP

netstat -tlnp | grep ":80"
# 或
ss -tlnp | grep ":80"

确认有在对应IP上监听。

可能原因三:防火墙只放行了ICMP没放行HTTP

检查防火墙规则,确保80/443端口已开放。

6.5 配置正确但重启后IP丢失

说明配置没有持久化。

  • CentOS:检查 /etc/sysconfig/network-scripts/ 下的配置文件
  • Ubuntu:检查 /etc/netplan/ 下的yaml文件
  • 使用 ip 命令添加的IP不会持久化,必须写入配置文件

6.6 多IP导致SSH连接不稳定

如果配置多IP后SSH经常断开,可能是源IP选择问题。

在SSH连接时指定源IP:

ssh -b 主IP root@服务器IP

或者在服务端配置SSH监听特定IP。

第七章:多IP服务器的安全加固

多IP服务器暴露的攻击面比单IP服务器大,安全加固非常重要。

7.1 基础安全措施

修改SSH端口

默认的22端口是攻击者扫描的重点,改成其他端口能过滤掉大部分自动化攻击。

编辑 /etc/ssh/sshd_config

Port 65522

重启SSH:

systemctl restart sshd

禁用root直接登录

创建普通用户,配置sudo权限,禁用root登录:

# 创建用户
useradd -m -s /bin/bash myuser
passwd myuser
usermod -aG sudo myuser  # Ubuntu
# 或
usermod -aG wheel myuser  # CentOS

# 禁用root登录
# 编辑 /etc/ssh/sshd_config
PermitRootLogin no

使用密钥登录

禁用密码登录,只允许密钥认证:

PasswordAuthentication no
PubkeyAuthentication yes

7.2 配置防火墙

多IP环境下,防火墙配置尤为重要。

使用iptables

# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT

# 允许SSH(注意改成你的端口)
iptables -A INPUT -p tcp --dport 65522 -j ACCEPT

# 允许HTTP/HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 默认拒绝其他入站流量
iptables -A INPUT -j DROP

# 保存规则
iptables-save > /etc/iptables.rules

使用firewalld(CentOS 7+)

# 添加允许的服务/端口
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=65522/tcp

# 重载配置
firewall-cmd --reload

7.3 配置Fail2ban

Fail2ban可以自动封禁恶意IP,防止暴力破解。

安装:

# Ubuntu/Debian
apt install fail2ban

# CentOS
yum install epel-release
yum install fail2ban

配置 /etc/fail2ban/jail.local

[DEFAULT]
bantime = 86400
findtime = 600
maxretry = 3

[sshd]
enabled = true
port = 65522

[nginx-http-auth]
enabled = true

[nginx-botsearch]
enabled = true

启动服务:

systemctl enable fail2ban
systemctl start fail2ban

7.4 定期更新系统

及时安装安全补丁:

# Ubuntu/Debian
apt update && apt upgrade -y

# CentOS
yum update -y

建议配置自动安全更新,或者定期手动更新。

7.5 监控和日志

配置日志集中管理

多个站点的日志分散在各处,不便于排查问题。建议:

  • 统一日志存储路径
  • 使用ELK或其他日志系统集中分析
  • 定期清理旧日志,避免磁盘占满

设置监控告警

使用Zabbix、Prometheus+Grafana或者简单的脚本,监控服务器状态:

  • CPU/内存/磁盘使用率
  • 网络流量
  • 各站点可用性
  • 异常登录尝试

第八章:性能优化建议

多IP服务器通常承载多个站点,性能优化很重要。

8.1 系统层优化

调整内核参数

编辑 /etc/sysctl.conf

# 增加文件描述符限制
fs.file-max = 1000000

# 优化TCP
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 600

# 优化内存
vm.swappiness = 10

应用配置:

sysctl -p

调整文件描述符限制

编辑 /etc/security/limits.conf

* soft nofile 1000000
* hard nofile 1000000
root soft nofile 1000000
root hard nofile 1000000

8.2 Nginx优化

# 主配置文件优化
worker_processes auto;
worker_rlimit_nofile 100000;

events {
    worker_connections 65535;
    use epoll;
    multi_accept on;
}

http {
    # 开启sendfile
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    
    # 开启Gzip压缩
    gzip on;
    gzip_vary on;
    gzip_min_length 1024;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
    
    # 开启缓存
    open_file_cache max=100000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;
    
    # 客户端缓存
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

8.3 PHP优化(如果用PHP)

配置OPcache

编辑 php.ini:

opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.fast_shutdown=1

调整PHP-FPM

编辑 PHP-FPM 配置(通常在 /etc/php/8.1/fpm/pool.d/www.conf):

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500

具体数值根据内存大小调整。

8.4 数据库优化

如果多个站点共用一个数据库实例,需要注意资源分配。

MySQL优化

编辑 /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
# 缓冲池大小(设置为可用内存的60-70%)
innodb_buffer_pool_size = 2G

# 日志文件大小
innodb_log_file_size = 512M

# 连接数
max_connections = 500

# 查询缓存(MySQL 8.0已移除)
# query_cache_size = 128M

# 临时表
tmp_table_size = 64M
max_heap_table_size = 64M

考虑读写分离

如果站点数量多、访问量大,可以考虑搭建主从复制,读操作走从库,降低主库压力。

8.5 使用缓存

Redis缓存

对于动态内容较多的站点,使用Redis缓存能显著提升性能。

安装Redis:

apt install redis-server
# 或
yum install redis

配置 /etc/redis/redis.conf

maxmemory 512mb
maxmemory-policy allkeys-lru

然后在应用层配置使用Redis缓存。

第九章:余初云多IP服务器实战案例

前面讲了这么多理论和通用配置,这章用一个实际案例串一遍,从购买到上线的完整流程。

9.1 案例背景

朋友老王做跨境电商,需要运营多个独立站,每个站点要用不同的IP以规避平台风控。需求如下:

  • 30个独立站点
  • 每个站点独立IP
  • 面向欧美用户
  • 预算有限

9.2 选型过程

对比了几个方案:

方案一:买30台便宜VPS

每台月付3-5美元,30台就是90-150美元。

优点:完全隔离 缺点:管理麻烦,30台服务器要维护

方案二:一台服务器+购买EIP

大厂云服务器+30个EIP,光IP费用就要600+元/月。

优点:大厂稳定 缺点:成本太高

方案三:余初云多IP服务器

4核8G配置+32个IP,美国机房,月付约500元。

优点:成本适中,管理方便 缺点:需要一定配置能力

最终选择了方案三。

9.3 购买流程

在余初云官网选择多IP服务器产品:

  1. 选择机房:美国洛杉矶(目标用户在欧美)
  2. 选择配置:4核8G,100G SSD
  3. 选择带宽:100M独享
  4. 选择IP数量:32个(2个C段混合)
  5. 选择系统:Ubuntu 22.04

下单付款后,大约30分钟收到开通邮件,包含:

  • 主IP和SSH端口
  • root密码
  • IP地址列表
  • 网关和DNS信息

9.4 系统初始化

连接服务器

ssh root@主IP -p 22

更新系统

apt update && apt upgrade -y

设置时区

timedatectl set-timezone UTC

配置安全措施

修改SSH端口、创建普通用户、配置密钥登录、安装Fail2ban(参考前面的安全加固章节)。

9.5 配置多IP

收到的IP列表是这样的:

C段1:192.168.1.100 - 192.168.1.115(16个)
C段2:192.168.2.100 - 192.168.2.115(16个)
网关1:192.168.1.1
网关2:192.168.2.1

配置IP地址

使用前面的脚本批量生成Netplan配置:

nano /etc/netplan/99-multi-ip.yaml
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
        - 192.168.1.101/24
        - 192.168.1.102/24
        # ... 省略中间的IP ...
        - 192.168.1.115/24
        - 192.168.2.100/24
        - 192.168.2.101/24
        # ... 省略中间的IP ...
        - 192.168.2.115/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

应用配置:

netplan apply

配置策略路由

由于有两个C段,需要配置策略路由:

# 添加路由表
echo "100 c1" >> /etc/iproute2/rt_tables
echo "101 c2" >> /etc/iproute2/rt_tables

# 配置路由(写入启动脚本)
cat > /etc/rc.local << 'EOF'
#!/bin/bash
ip route add default via 192.168.1.1 dev eth0 table c1
ip route add default via 192.168.2.1 dev eth0 table c2
ip rule add from 192.168.1.0/24 table c1
ip rule add from 192.168.2.0/24 table c2
exit 0
EOF
chmod +x /etc/rc.local

执行一次使其生效:

/etc/rc.local

验证配置

# 检查所有IP
ip addr show

# 测试各IP外网访问
for ip in 192.168.1.{100..115} 192.168.2.{100..115}; do
    result=$(curl --interface $ip -s ifconfig.me 2>/dev/null)
    echo "$ip -> $result"
done

确认所有IP都能正常使用。

9.6 部署Web环境

安装LEMP环境

# 安装Nginx
apt install nginx -y

# 安装MySQL
apt install mysql-server -y
mysql_secure_installation

# 安装PHP
apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip -y

# 安装Redis
apt install redis-server -y

批量生成站点配置

创建站点配置文件 sites.txt

site01.com 192.168.1.100 /var/www/site01
site02.com 192.168.1.101 /var/www/site02
site03.com 192.168.1.102 /var/www/site03
# ... 以此类推 ...
site30.com 192.168.2.113 /var/www/site30

使用前面的批量生成脚本创建Nginx配置:

./gen_nginx_sites.sh sites.txt

测试并重载Nginx:

nginx -t
systemctl reload nginx

9.7 部署网站程序

老王用的是WooCommerce,需要在每个站点目录下安装WordPress。

写了个简单的脚本批量部署:

#!/bin/bash
# 批量部署WordPress

SITES_FILE="sites.txt"
WP_VERSION="6.4"

while read -r line; do
    domain=$(echo $line | awk '{print $1}')
    webroot=$(echo $line | awk '{print $3}')
    
    if [ -z "$domain" ] || [ -z "$webroot" ]; then
        continue
    fi
    
    echo "部署 $domain ..."
    
    # 创建目录
    mkdir -p $webroot
    
    # 下载WordPress(如果还没下载)
    if [ ! -f /tmp/wordpress.tar.gz ]; then
        wget -O /tmp/wordpress.tar.gz https://wordpress.org/wordpress-${WP_VERSION}.tar.gz
    fi
    
    # 解压
    tar -xzf /tmp/wordpress.tar.gz -C $webroot --strip-components=1
    
    # 设置权限
    chown -R www-data:www-data $webroot
    chmod -R 755 $webroot
    
    echo "$domain 部署完成"
    
done < "$SITES_FILE"

echo "全部完成!"

9.8 后续工作

  • 配置SSL证书(使用Let’s Encrypt)
  • 配置DNS解析(将各域名指向对应IP)
  • 安装必要的WordPress插件
  • 配置自动备份
  • 设置监控告警

整个项目从购买到上线大约花了一天时间,主要时间花在批量部署网站内容上。服务器和IP配置本身不复杂,按照教程走就行。

第十章:总结与建议

写到这里,这篇文章已经很长了。最后做个总结,把关键点再梳理一遍。

10.1 核心要点回顾

  1. 一台VPS能获取几个IP?
    • 普通云服务器:通过EIP可扩展到5-20个
    • 海外VPS:通常1-20个
    • 多IP/站群服务器:32-256个甚至更多
    • IPv6:基本无限
  2. 选择多IP服务器的关键考量
    • IP质量最重要,别贪便宜买脏IP
    • 根据业务需求选择同C段或多C段
    • 机房位置要匹配目标用户
    • 带宽和流量要够用
    • 售后服务要靠谱
  3. IP配置的核心步骤
    • 单网卡多IP:通过IP别名或Netplan配置
    • 多C段:需要配置策略路由
    • Web服务器:listen指令指定具体IP
  4. 安全和性能不能忽视
    • 基础安全措施必须做
    • 系统和应用层优化很重要
    • 定期更新和监控

10.2 厂商推荐

如果你有多IP需求,真心推荐试试余初云

我在余初云工作,对产品比较了解。我们的多IP服务器有几个优势:

  • IP资源丰富:美国、香港、日本等多个机房可选
  • IP质量有保障:经过筛选,出问题可免费更换
  • 价格合理透明:批量IP成本很低
  • 技术支持到位:配置遇到问题可以协助解决
  • 支持试用:不满意可以试用

有兴趣的可以去官网看看,对比一下价格和配置。

10.3 给不同用户的建议

给新手

先从单IP VPS玩起,熟悉Linux和Web服务配置。等有了多IP需求再升级,避免一上来就搞太复杂的东西。

给站群SEO从业者

IP质量和分散性是关键。选择多C段IP,定期检测IP是否被标记。不要在同一批IP上做太激进的操作。

给跨境电商从业者

稳定性最重要。选择靠谱的厂商,做好备份,IP出问题能快速切换。

给技术爱好者

多IP服务器是很好的学习平台,可以练习网络配置、批量运维、自动化脚本等技能。折腾的过程就是学习的过程。


这篇文章写了快两万字,应该是目前全网最详细的多IP VPS教程了。

如果对你有帮助,欢迎收藏转发。有问题可以留言讨论,看到都会回复。

就这样,收工。

 

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/dynamicip/vpsbh/1992.html

Like (0)
Previous 2026年2月11日 下午4:40
Next 2025年10月22日

相关推荐