VPS默认分配静态IP,购买时分配固定地址,只要不主动释放,IP持续归你使用。但部分场景需要动态IP,比如数据采集、批量账号注册、多地区访问测试。固定IP容易被目标网站识别封禁,封一个就少一个可用地址,动态IP类型VPS刚好适配这类需求。
VPS语境下,动态IP分为两种完全不同的实现方式。第一种VPS通过拨号获取动态公网IP,每次重拨更换公网地址。第二种是把VPS当作服务器,在上面搭建DHCP服务,给内网设备分配动态内网IP。两者底层原理不同,面向的使用者也不一样。
先说拨号VPS,工作逻辑类似家庭宽带。服务商在虚拟机配置PPPoE拨号,登录后手动或者脚本触发重拨,运营商BRAS从地址池重新分配公网IP。每次拨号大概率获取不同IP,运气好拿到同城不同网段地址,也可能多次拨号复用同一个IP。这类VPS核心卖点就是IP可变,爬虫使用者比较青睐,IP被封禁之后,重拨即可换新IP继续任务。价格普遍高于静态IP VPS,服务商需要和运营商结算拨号线路费用。选购重点关注IP池规模与纯净度,低价拨号VPS的IP段数量有限,很多网段已经被各大网站拉黑,反复拨号也没有意义。线路性能也要留意,普通拨号线路是动态公网IP,延迟、丢包表现不如BGP机房,业务对稳定性有要求的话需要慎重考虑。

第二种场景,在VPS搭建DHCP服务分配内网IP。一般是你拥有一台VPS,想让它向下游设备、虚拟机自动分配内网IP。VPS原生仅有单个公网IP,搭建DHCP之前,先创建内网接口。Linux环境可以使用虚拟网桥或者dummy接口,配置内网网段,例如10.0.0.1/24。接着安装dnsmasq或者isc-dhcp-server,定义IP地址池,范围设置10.0.0.100至10.0.0.200,配置租期、网关、DNS。内网设备网卡设置DHCP模式,开机向VPS请求IP,VPS从地址池分配并记录租约。租期到期设备发起续租,续租失败就重新申请。原理和家用路由器分配手机IP一样,只是路由器把DHCP集成在固件,VPS需要手动配置。
DHCP配置有容易忽略的细节。地址池网段不能和VPS公网IP冲突,也不要和其他内网网段重叠。租期不要设置过长,默认12小时或者24小时足够测试环境;频繁增减设备的场景,缩短到1小时,IP回收速度更快。还要规避IP冲突,内网设备手动设置静态IP,且IP落在DHCP地址池区间内,DHCP服务无法识别,会重复分配造成IP冲突。解决办法是静态IP全部放在地址池以外,或是启用DHCP静态绑定,依靠MAC地址固定分配IP,dnsmasq配置文件添加dhcp-host=MAC地址,IP地址即可。
云厂商也有动态IP相关产品,但实现逻辑不一样。AWS弹性IP、阿里云EIP,本质是可解绑绑定的静态IP。绑定到实例,实例获得该公网地址;解绑后绑定其他实例,IP跟随迁移。不会像拨号VPS每次重拨换新地址,但手动解绑换绑,可以实现类似动态切换效果。适合故障转移场景,主服务器故障,快速将EIP切换至备用服务器,用户几乎无感知。注意弹性IP绑定实例闲置,部分云厂商收取闲置费用,不用记得释放。
拨号VPS和自建DHCP,两者对动态IP定义完全不同。拨号VPS是出口公网IP持续变动,用来规避封禁、模拟不同用户。自建DHCP是服务器维护内网地址池,自动分配给内网客户端,简化内网网络配置。选型看业务目标,需要频繁更换出口公网IP,选择拨号VPS,不要在普通VPS搭建DHCP,解决不了需求。只需要内网设备自动获取IP,配置DHCP即可,采购拨号VPS属于浪费资金。
最后提一个实际踩坑点。部分云服务商创建VPS时,选项会标注动态IP、静态IP。这里的动态IP大多代表流量计费或者从资源池分配,不是拨号那种每次重拨换IP。购买前仔细阅读产品说明,不要把弹性公网IP当成拨号IP。业务需要高频切换IP,直接选择专业动态IP服务商,运营商资源充足,IP池大、切换速度快,比自己在VPS调试简单很多。