前言
最近想间接通过打洞的形式实现公司和家里的内网能够互相拜访,不便在家里能够用服务器跑一些货色。试了一些国内外的相干软件,应用的形式都差不多,这里总结下本人折腾的借助三方软件的形式,实现的 windows 和 linux 下的内网穿透。这里以国内蒲公英为例,因为是国内的,所以速度会比国外的快很多。国外的因为服务器在国外,提早会比拟高,体验不太好。
Windows 端
先简化下网络图
我要实现的是家里内网和公司内网通过虚构网络能够实现互通,其实,办法也很简略,一共也就是三步:
- 通过在内网的一台 pc 上装置三方软件,获取虚构内网的 ip 地址,比方下面的 pc1 的 oray_vnc 就是三方软件虚构出的网卡,它的 ip 地址是:172.16.0.214,同理 PC3 也是一样。
- 实现内网中虚构网卡和一般网卡共享网络,这样两个网卡就能够实现互通。
- 增加路由关系,实现内网中的申请通过虚构网口,转发到对应的地址上。
接下来,具体说下这三步具体应该如何操作,调配虚构 ip 间接依照三方软件的阐明来就好了,很简略。有了虚构网卡后,进行本地网卡和虚构网卡的网络共享。首先,关上注册表:
批改这里的地址为本地调配的虚构网卡的地址。
本地网卡中的共享选中虚构网卡,进行网络共享。
增加路由关系:
route add 192.168.1.0/24 172.16.1.130
两边都须要增加路由关系,能力互相通信,如果只是单方面通信,能够只增加一边的。
Linux 端
linux 的步骤和 windows 下差不多,只不过虚构网卡和本地网卡的数据转发通过配置 nat 来实现:
先关上 ipv4 转发性能
echo 1 > /proc/sys/net/ipv4/ip_forward
这里先说下,linux 我用的两个虚构网卡的 ip 别离是:172.16.0.237 和 172.16.1.81。
配置 nat 转发:
iptables -t nat -A POSTROUTING -o oray_vnc -j MASQUERADE
增加路由:
route add -net 192.168.1.0/24 gw 172.16.0.237
实现内网相互通信:
最初
我是间接通过内网进行打洞的,所以提早会高一点,我测试的提早均匀根本是 70、80 左右,如果公司有公网 ip 的话,提早根本也就 10 左右,然而平时拜访的话这个速度也没什么问题。