我有一个多站点 VPN,目前使用 pfSense 盒子运行,并且目前使用 OpenVPN。但是,如果需要,我可以更改操作系统和 VPN 类型。
主路由器有一个 10.13.0.0/16 子网和一系列公共 IP
例如,一个分支机构有一个 10.12.1.0/24 子网
如何将主路由器公网 IP 上的 NAT 流量端口转发到第二个路由器 NAT 后面的服务器?例如,分配给主路由器的公网 IP 上的端口 95 转发到另一个路由器上的 10.12.1.102。
这有可能吗?目前我的设置运行良好,但仅适用于内部流量
答案1
您将使用 1:1 NAT 将公共 IP 映射到私有 IP。理论上,您可以堆叠多层 1:1 NAT。例如:
1.1.1.1 ---[1:1 NAT]---> 2.2.2.2 ---[1:1 NAT]---> 3.3.3.3
或者,如果您只希望一个端口位于两个路由器后面,则可以使用简单的端口转发规则来实现。示例:
1.1.1.1:95 ---[port forward]---> 2.2.2.2:95 ---[port forward]---> 3.3.3.3:95
pfSense 盒将维护会话表并通过多个转发准确地来回移动流量。
答案2
你只需要在两个路由器上进行端口转发
为了便于解释,让我们命名你的路由器接口
10.12.0.0/16 router : Router-1
WAN interface: Router-1-ext (this should have a public IP)
LAN interface: Router-1-int (this should have a 10.13.x.x IP)
10.12.1.0/16 router : Router-2
WAN/NAT interface: Router-2-ext (this should have a 10.13.x.x IP) * *
LAN interface: Router-2-int (this should have a 10.12.x.x IP)
路由器-1
配置文件添加以下端口转发规则
pass in on <Router-1-ext> proto tcp from any to any port 90 rdr-to <Router-2-ext IP>
路由器-2
配置文件添加以下端口转发规则
pass in on <Router-2-ext> proto tcp from any to any port 90 rdr-to 10.12.1.102
使用 pfSense 方式进行端口转发(更轻松)
您也可以在 pfSense 界面中进行操作,官方说明是这里。
思路是一样的,Router-1端口转发到Router-2,Router-2端口转发到目标服务器。
PS:如果您的 Router-2 到 Router-1 的 VPN 是通过互联网建立的,则上面的 Router-2-ext 接口应参考VPN 点对点界面,不是具有公共 IP 的物理 WAN 接口。