[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 两个内网机器如何通过Internet相互访问?



理论上我还知道一种方法,就是利用UDP或者TCP穿越。具体可以查看
Rfc3489 http://www.ietf.org/rfc/rfc3489.txt
iptables下udp穿越实用篇----iptables与natcheck http://www.i170.com/article/19245 VNN用的就是这种办法。问题是这个需要网关满足一定条件,而且不是很稳定。毕 竟这个也算是hack的范畴。 如果你真的想自己用,写两个程序,一个负责做出UDP穿越的虚拟SOCKET,并且负 责保证信息的顺序和验证,另外一个就随便你了,反正把TCP伪装成 UDP的办法不 只一种。

Q.H.Yang 写道:
其实就是需要第三台公网电脑。第三台电脑可以是网关、可以是公网上的电脑。
在第三台电脑上开启vpn服务,然后两台内网电脑都连接到那台服务器上,最后两台内网电脑就能户联了,类似一个局域网。

第二种方法就是在网关上设置端口映射,这样只要在一台内网电脑上开vpn就行了;




On Tue, 18 Jul 2006 22:33:01 +0800
amateur <ztl.post@gmail.com> ׫д��:

On Tue, Jul 18, 2006 at 08:46:32PM +0800, liushiwei wrote:
在 星期二 18 七月 2006 13:56,nok 写道:
openvpn 需要至少1台有公网IP的服务器吧。
vnn也需要公网上的vnn服务器和vnn用户帐号,在建立连接后才是p2p的。
ddns配合DNAT 配合openvpn,哈哈
这几个软件如何配合,我现在没有网关机器的管理员帐户,事实上连一般帐户都
没有,估计网关是一个路由器。要做DNAT是不可能的,用TCP通讯估计不可能。
VNN的原理是这样的,假设两个机器A, B分别处于两个内网中,A的网关是GA,
B的网关是GB,VNN的公网服务器是S。通讯过程如下:

A通过GA连接S(UDP连接),这样S就能看到A通过GA时,GA给A的这个UDP连接分配的端口号,设为pa,
B通过GB连接S(UDP连接),这样S就能看到B通过GB时,GB给B的这个UDP连接分配的端口号,设为pb,
S分别告诉A,B对方在网关机上分配的端口号,即把pb告诉A,把pa告诉B
这样A就可以将包发往GB的pb端口与B通讯,B也可以通过将包发往GA的pa端口与A通讯

这是利用了NAT网关对于UDP不限定remote peer的IP地址这个特性,这个特性也
是依赖于UDP连接是1对多这种通信模型。

现在我所知道的也只有这种方法在理论上是可以让两个内网机通信的,不知道仁
兄所说的怎么实现?

openvpn好像是要求网关机器上必须配置了VPN才行,不知道这种理解对不对?
ddns能起到什么作用呢?

-------------------------

--
You will overcome the attacks of jealous associates.




Reply to: