如何通过 VPN NAT 进行端口转发?

如何通过 VPN NAT 进行端口转发?

我有一个多站点 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 接口。

相关内容