两个内网都在路由进行端口映射后能否建立tcp通信?

时间:2022-11-05 15:24:22
RT,
有没有人测试过?

我测试过,不能建立tcp通信。
如果一方为公网,另一方为内网并进行了端口映射,那么公网可以向内网(监听端)发起tcp连接并成功进行通信。

13 个解决方案

#1


公网和内网用TCP能成功,两个内网需要打洞

#2


引用 1 楼 hkf314 的回复:
公网和内网用TCP能成功,两个内网需要打洞


没有公网服务器,但是两个内网都可以进行端口映射。 怎么办?

#3


用外网创建一个服务器

#4


要知道映射到哪个端口才行。

#5


只要能映射端口 那就不需要打洞,或者设置DMZ主机!

#6


引用 5 楼 aaadddzxc 的回复:
只要能映射端口 那就不需要打洞,或者设置DMZ主机!


测试过,两个内网都在路由进行端口映射后 不能建立tcp通信,不知道为什么才来问的。
另外,同一个程序在如果一方为公网,另一方为内网并进行了端口映射,那么公网可以向内网(监听端)发起tcp连接并成功进行通信。

#7


引用 3 楼 hkf314 的回复:
用外网创建一个服务器


已经说没有了。

#8


引用 7 楼 dungeonsnd 的回复:
引用 3 楼 hkf314 的回复:

用外网创建一个服务器


已经说没有了。


服务器可以用机子创建,不是指买的那种

#9


你这是个什么逻辑?怎么可能不能? 我日 我两年前做SF 就早试过了。。。绝对可以!刚才又着人随便写了个工程测试了 还是行 。。。。

引用 6 楼 dungeonsnd 的回复:
引用 5 楼 aaadddzxc 的回复:

只要能映射端口 那就不需要打洞,或者设置DMZ主机!


测试过,两个内网都在路由进行端口映射后 不能建立tcp通信,不知道为什么才来问的。
另外,同一个程序在如果一方为公网,另一方为内网并进行了端口映射,那么公网可以向内网(监听端)发起tcp连接并成功进行通信。

#10


只要有一个内网的端口映射到公网上. 另一个无论是内网还是公网都可以连接到他的。。

#11


引用 10 楼 smwhotjay 的回复:
只要有一个内网的端口映射到公网上. 另一个无论是内网还是公网都可以连接到他的。。


现在的状况是没有公网IP, 双方都是在内网环境!

#12


引用 10 楼 smwhotjay 的回复:
只要有一个内网的端口映射到公网上. 另一个无论是内网还是公网都可以连接到他的。。


上面看错了。
我明白你的意思了: 只要一个内网端口映射了,则可以当成服务器使用,自己这一方的网络特性对通信另一方是透明的。
我测试了,好像不行,我再试试看。我在自己机器上(内网,已经映射了http80端口和https443端口),但是对方(因特网上的另一内网)无法连接上我的apache,自己可以用浏览器打开apache的网页。
我写的程序主要是用来测试apache的。



#13


最好不要用80端口,电信运营商可能把80禁掉了(防止个人建网站。。)

#1


公网和内网用TCP能成功,两个内网需要打洞

#2


引用 1 楼 hkf314 的回复:
公网和内网用TCP能成功,两个内网需要打洞


没有公网服务器,但是两个内网都可以进行端口映射。 怎么办?

#3


用外网创建一个服务器

#4


要知道映射到哪个端口才行。

#5


只要能映射端口 那就不需要打洞,或者设置DMZ主机!

#6


引用 5 楼 aaadddzxc 的回复:
只要能映射端口 那就不需要打洞,或者设置DMZ主机!


测试过,两个内网都在路由进行端口映射后 不能建立tcp通信,不知道为什么才来问的。
另外,同一个程序在如果一方为公网,另一方为内网并进行了端口映射,那么公网可以向内网(监听端)发起tcp连接并成功进行通信。

#7


引用 3 楼 hkf314 的回复:
用外网创建一个服务器


已经说没有了。

#8


引用 7 楼 dungeonsnd 的回复:
引用 3 楼 hkf314 的回复:

用外网创建一个服务器


已经说没有了。


服务器可以用机子创建,不是指买的那种

#9


你这是个什么逻辑?怎么可能不能? 我日 我两年前做SF 就早试过了。。。绝对可以!刚才又着人随便写了个工程测试了 还是行 。。。。

引用 6 楼 dungeonsnd 的回复:
引用 5 楼 aaadddzxc 的回复:

只要能映射端口 那就不需要打洞,或者设置DMZ主机!


测试过,两个内网都在路由进行端口映射后 不能建立tcp通信,不知道为什么才来问的。
另外,同一个程序在如果一方为公网,另一方为内网并进行了端口映射,那么公网可以向内网(监听端)发起tcp连接并成功进行通信。

#10


只要有一个内网的端口映射到公网上. 另一个无论是内网还是公网都可以连接到他的。。

#11


引用 10 楼 smwhotjay 的回复:
只要有一个内网的端口映射到公网上. 另一个无论是内网还是公网都可以连接到他的。。


现在的状况是没有公网IP, 双方都是在内网环境!

#12


引用 10 楼 smwhotjay 的回复:
只要有一个内网的端口映射到公网上. 另一个无论是内网还是公网都可以连接到他的。。


上面看错了。
我明白你的意思了: 只要一个内网端口映射了,则可以当成服务器使用,自己这一方的网络特性对通信另一方是透明的。
我测试了,好像不行,我再试试看。我在自己机器上(内网,已经映射了http80端口和https443端口),但是对方(因特网上的另一内网)无法连接上我的apache,自己可以用浏览器打开apache的网页。
我写的程序主要是用来测试apache的。



#13


最好不要用80端口,电信运营商可能把80禁掉了(防止个人建网站。。)