通过 GRE 隧道进行监听

通过 GRE 隧道进行监听

目前,我正在寻求了解如何使用 GRE 隧道,并且有以下方案:

服务器 1 (200.1.2.3) ----> 服务器 2 (190.1.2.3)

两台服务器都有公共 IP

然后我使用在互联网上找到的以下命令设置了 GRE 隧道

在服务器1上:

iptunnel add tunX mode gre remote 190.1.2.3  local 200.1.2.3 ttl 225
ifconfig tunX 10.0.201.1/24
ifconfig tunX up
ifconfig tunX pointopoint 10.0.201.2
ifconfig tunX multicast

在服务器2上:

iptunnel add tunY mode gre remote 200.1.2.3  local 190.1.2.3 ttl 225
ifconfig tunY 10.0.201.2/24
ifconfig tunY up
ifconfig tunY pointopoint 10.0.201.1
ifconfig tunY multicast

然后我就可以使用它们的本地地址 ping 每台机器了(服务器 1 为 10.0.201.1,服务器 2 为 10.0.201.2)。

现在我想要一个在 Server1 中运行的程序来监听端口 5050 (tcp,udp),并且能够通过连接到 190.1.2.3:5050 从外部访问该端口

Server1 也应该能够通过公共 IP(200.1.2.3)监听端口(与我想要通过 GRE 隧道传输的端口不同)

我尝试在 Server2 中应用一些 iptables 规则来转发流量,但它们似乎不起作用,所以我认为我在这个设置中缺少了一些重要的东西来使其起作用。

来自互联网的客户端应该能够连接到 190.1.2.3:5050 来访问 Server1 上的服务,但他们永远不应该知道 Server1 的公共 IP

快速绘制方案如下: 网络方案

谢谢

相关内容