由于多个员工都需要通过外网访问办公室内网里的电脑,而路由可配置的端口转发规则数量有限,规则条数很可能不够用。要给每一个员工电脑都配置一条端口转发规则,又该如何处理呢?
P.S. 本文较偏技术向,具备一定的IT或运维经验会更容易上手哦
1、解决思路
路由的端口转发有一个非常棒的特性,可以在一条规则里,指定一个范围的多个外网端口,转发到一定范围的多个内网端口。如下图所示:
“虚拟服务器” 规则设置——1对多
然后我们需要做的是,在内网中自己实现端口分发,即把从不同外网端口进来的数据,转发给不同的内网电脑。而,这个分发的工作也有一个非常成熟的工具可以完成,那就是Linux系统里的ssh隧道技术。(隧道技术的原理就不在这里赘述,感兴趣可以网上搜一下相关资料)
2、效果实现
跟随以下6个步骤就可以完成配置了:
1、在内网找一台电脑安装Linux操作系统,常见的比如Centos,Ubuntu等。
2、获取这台Linux电脑的内网IP。
3、按照前面的图示,在路由里将Linux电脑的内网IP设置为“内网服务器IP”。
4、接下来是配置ssh隧道的示例。
▶ 假设路由上配置的外网端口是20000-21000,内网端口是30000-31000。那么外网端口20000的数据会被路由转发至Linux电脑的30000端口上。
▶ 假设我们要分配外网端口20000给内网的某台Windows电脑,这台Windows电脑的内网IP是192.168.1.100。
▶ 打开Linux电脑的终端(样子跟Windows的命令提示符很像),输入下面的指令,然后回车:
ssh -f -N -L 0.0.0.0:30000:192.168.1.100:3389 root@127.0.0.1.1
▶ 回车后,会要求输入一次root密码。输入密码后回车,如无报错,即成功。
▶ 简单解释一下,这条命令的作用是:在Linux电脑里,将来自30000端口的数据转发到IP为192.168.1.100的电脑的3389端口上。
5、确认一下Linux电脑上的防火墙是否已经为内网端口(示例里的:30000-31000)开放了访问权限,没有就加一下。
6、按照第4步的示例,继续为其他内网电脑分配端口。将各自的参数替换隧道命令的相应数字即可。下面再展示一下隧道命令的格式:
ssh -f -N -L 0.0.0.0:
最后,在家里的电脑上发起远程桌面,请求的对象是办公室的公网IP(或者动态域名)+端口20000。这个请求会被办公室的Linux电脑转发给内网IP为192.168.1.100的Windows电脑的远程桌面监听端口3389。一路狂点,即可完成远程桌面连接。
希望技术大大的这篇分享能在各位配置Windows远程桌面时派上用场。
推荐阅读:
深圳电信宽带、重庆电信宽带、昆明电信宽带、贵阳电信宽带、长沙电信宽带、成都电信宽带、厦门电信宽带、上海电信宽带、北京电信宽带、呼和浩特电信宽带、拉萨电信宽带、石家庄电信宽带、沈阳电信宽带、长春电信宽带、哈尔滨电信宽带、济南电信宽带、合肥电信宽带、杭州电信宽带、武汉电信宽带、福州电信宽带、南昌电信宽带、海口电信宽带、南京电信宽带、南宁电信宽带、贵阳电信宽带、乌鲁木齐电信宽带、兰州电信宽带