在pfSense部署环境下同时使用静态公网IP与CGNAT私网IP并实现分网段路由的方案咨询
在pfSense部署环境下同时使用静态公网IP与CGNAT私网IP并实现分网段路由的方案咨询
提问内容
背景
我最近从ISP那里获取了一个静态公网IP,在此之前我的路由器分配到的是CGNAT后的私网IP。处于CGNAT环境下能带来一定的匿名性,因为多个用户共享一个公网IP,而且如果需要新的公网IP,我只需重启路由器即可。
需求与疑问
我希望同时使用私网IP(CGNAT)和新的静态公网IP,实现192.168.1.0网段的所有流量通过私网IP路由,192.168.2.0网段的所有流量通过静态公网IP路由。我当前的路由器不支持这个功能,但很快会在Dell Optiplex上部署pfSense,想请教可行的解决方案有哪些?另外我想到的两个方案是否可行:
- 低成本方案:纯软件层面实现?但我不知道具体操作方法,而且Optiplex只有两个网卡,一个作为WAN口,另一个作为LAN口。
- 备选方案:给Optiplex添加一块网卡,变成三个NIC:两个作为WAN口(分别对应CGNAT私网和静态公网),一个作为LAN口。不过这样会增加成本,因为需要额外购买网卡。
解答方案
方案一:双NIC单WAN复用双IP(低成本可选)
这个思路是可行的,但前提是你的ISP允许在同一个物理WAN接口上同时配置CGNAT私网IP和静态公网IP。部分ISP支持这种“多IP绑定”的模式,比如通过DHCP获取CGNAT IP的同时,手动给该接口添加静态公网IP配置。
如果ISP支持,具体配置步骤大致如下:
- 将Optiplex的两个NIC分别配置为WAN和LAN接口;
- 在pfSense的WAN接口上,先通过DHCP获取原CGNAT环境下的私网IP(保持原有上网链路);
- 给WAN接口添加额外的静态IP配置,填入ISP提供的静态公网IP、子网掩码和网关;
- 配置策略路由:
- 创建针对192.168.1.0/24网段的路由规则,指定其出口网关为CGNAT私网IP对应的网关;
- 创建针对192.168.2.0/24网段的路由规则,指定其出口网关为静态公网IP对应的网关;
- 调整NAT规则:确保两个内网网段的流量分别使用对应出口IP进行源NAT转换。
⚠️ 注意:不是所有ISP都支持同一个物理接口绑定两种不同类型的IP,建议先联系ISP确认是否允许这种配置。如果ISP不支持,这个方案就无法实施。
方案二:三NIC双WAN独立出口(稳定性更高)
如果ISP不支持单WAN口双IP,或者你想要更稳定的独立链路,添加一块网卡实现双WAN是pfSense中最成熟的多出口路由方案:
- 给Optiplex添加一块兼容的网卡(Dell Optiplex通常有空闲PCIe插槽,普通千兆网卡成本很低),将三个NIC分别配置为:
- WAN1:连接原CGNAT线路,通过DHCP获取私网IP;
- WAN2:连接静态公网IP线路,手动配置ISP提供的IP参数;
- LAN:连接内网交换机,划分192.168.1.0/24和192.168.2.0/24两个子网;
- 在pfSense中配置策略路由与多WAN NAT:
- 针对两个内网网段分别指定对应的WAN网关;
- 配置源NAT规则,让192.168.1.0网段的流量通过WAN1进行NAT,192.168.2.0网段的流量通过WAN2进行NAT;
- 这种方案的优势在于两个出口链路完全独立,互不干扰,配置逻辑更直观,稳定性也更有保障,唯一的额外成本就是一块网卡。
总结
- 若ISP支持单WAN口绑定双IP,双NIC方案可以满足需求,成本最低;
- 若ISP不支持或追求更高稳定性,三NIC双WAN方案是更可靠的选择。
备注:内容来源于stack exchange,提问作者Sujal Singh




