通过配置光猫路由器实现家用主机远程桌面连接
概述
我们都知道,windows的远程桌面连接需要连接到外网IP地址,在windows下通过命令行ipconfig打印出来IP,
而这个IP地址其实是局域网IP,如下图1。想获得自己外网IP,可以通过百度搜索“IP地址查询”得到,如下图2。
得知自己在外网的IP之后,我们是不是就可以通过外网的计算机连接本机了呢?
显然不是。现在一般的家用机通过(路由器+光猫)或者(光猫)与外网进行数据交换,
并不是直接暴露在因特网上面的,光猫和路由器在整个网络上面可以看做是一台一台“计算机”而不是单纯的“交换机”,
它们不仅起到了数据交换的作用,更是一道防止恶意入侵的防火墙,外界只能通过若干个开启的端口访问本地局域网。
所以在外网通过IP地址进行远程桌面连接其实是连接不到本地局域网的计算机的。
因此我们应该怎么做呢?
没错,就是端口映射,路由器、光猫产品提供了端口映射的功能,通过配置端口映射,
可以将外网的(IP:端口)请求直接发送至局域网的目标主机的指定端口上面。如下图:
也就是说,当外网用户通过(IP:端口号)访问这个局域网的目标主机时,
光猫(或者路由器)会自动识别并将请求转发至这个局域网的目标主机上面。
这相当于把这台目标主机的相应端口暴露在外网中。
当然,路由器的dmz主机功能更加厉害了,你可以将转发规则定为将某台主机设置成dmz主机,
这时候目标主机的所有端口都对外开放了,相当于整台机器都暴露在外网,
外网用户可以通过IP地址访问该目标主机的所有端口。
通过设置转发规则,我们解决了利用外网IP访问局域网目标主机,具体操作步骤如下:
步骤
设置路由器网络参数
光猫–路由器–目标主机
路由器作为一台特殊的计算机,会有两个IP地址,一个是面向外网的公网IP ,
一个是面向内网的局域网IP。公网IP就是我们应该设置的wan口IP,对于运营商给的光猫,
一般都给你设置好了wan口参数,我们不用去修改,需要修改的是LAN口参数,
不同的路由器厂商会有不同的叫法。由于我们要做到端口映射,所以应当停止使用DHCP服务器(动态分配IP地址),
设置成静态IP,如192.168.1.1,子网掩码255.255.255.0(一般运营商送的光猫是不给root账号密码的,破解方法网上查的到)。
接着设置路由器的wan口,也就是连接光猫的口子,将其设置成静态IP,
IP需要和光猫的在同一个网段,如192.168.1.11,网关(上家)设置成光猫的IP 192.168.1.1,
DNS服务器设置成和光猫上一样的,这样路由器就可以成功连接光猫。
然后设置路由器的LAN口参数,由于路由器兼具一个无线WiFi的功能,会连入许多设备,
所以需要开启DHCP服务器用来动态分配IP地址,这时候问题来了,
动态分配IP会使得目标主机的IP在IP租期过了之后改变IP地址,无法进行地址映射。
这时候我们就要用到路由器的DHCP服务器静态IP分配功能了,
将目标主机的mac地址(物理地址)绑定到一个IP地址上去,这样目标主机的局域网IP地址就不会变化了。
另外,路由器自身LAN口的IP地址需要修改成非光猫网段的IP,如192.168.2.1,子网掩码255.255.255.0,原因不再阐述。
最后设置目标主机的IP参数,按照上面设定,我们假设将其设置成192.168.2.111,
与路由器一个网段,网关设置成路由器IP192.168.2.1,DNS与光猫、路由器相同。如下图:
光猫–目标主机
光猫的wan口参数同上,lan口参数设置为动态IP即DHCP服务器,
不过同第一种情况一样,主机需要固定的IP来进行端口映射,
所以我们要绑定目标主机mac地址到一个固定的IP上,即设置DHCP静态地址分配。
目标主机的网络参数设置同上,将其设置成与光猫LAN口同一个网段。如下图:
设置路由器转发规则
光猫–路由器–目标主机
将光猫路由器以及目标主机的网络参数,IP地址设置好之后,我们就可以设置转发规则了。
上面说到过,可以设置DMZ主机或者端口映射来实现请求转发,具体看你的使用需求,
如果需要所有端口都暴露在外网,可以设置DMZ主机;如果只是开放部门端口,就设置端口映射。
Windows远程桌面连接的默认端口是3389,所以这里选择设置端口映射。
通过超级账户进入光猫的设置页面,在 “转发规则” 或者 “应用设置” 里面
找到“虚拟服务器设置 ”(不同的厂商命名方式会有所不同,本质上是一样的),
将端口3389与路由器的IP地址对应,注意这里是路由器的WAN口IP(192.168.1.11)。
通过路由器账户密码进入路由器设置界面,同样找到 “虚拟服务器设置” ,
将端口3389与目标主机的IP地址对应,这里是192.168.2.111。
经过以上步骤,从外网发送过来的请求便会经过光猫转发至路由器,又经过路由器转发至目标主机了。如下图:
光猫–目标主机
这种情况跟第一种情况是一样的,在光猫里面设置转发至目标主机就可以了。如图:
连接目标主机
利用查询得到的IP地址连接目标主机
将路由器目标主机配置完成之后,我们就可以测试通过外网连接目标主机了,
这时候我们需要目标主机所在的局域网的外部IP地址(公网IP地址),
通过百度搜索 “IP地址查询” 可以查到我们的外网IP,然后利用外网
某台主机的远程桌面连接功能,就可以连接到目标主机了。
通过DDNS(动态域名解析)连接目标主机
由于ipv4的局限性,世界上没有那么多的IP地址可以使用,于是乎大神机构们想出了一个动态IP分配的方式,
即每次终端连接互联网,运营商都会随机地给你分配一个IP地址,而且这个IP地址不是永久的,
存在使用期限,这就暂时解决了IP地址不够用的问题了。
但是,这对于我们需要远程操控的目标主机而言并不是一件好事情,
由于经常性的IP变化,我们需要每次连接目标主机前,都得先在目标主机上面百度查询公网IP,这谁受得了!
好消息是,有问题就会有解决的办法。目前国内外有许多厂商开展了DDNS即动态域名解析服务,
只要注册一个账号,申请一个域名,利用动态域名解析就可以使用域名访问目标主机了,
DDNS的具体实现方式和原理有兴趣的读者可以自行百度,这里不再阐述。国内提供此服务的厂商很多,这里以花生壳为例。
首先注册花生壳的账号,申请一个域名,可以申请免费的也可以购买付费的。
接着查看自己的光猫或者路由器是否支持花生壳的DDNS服务,如果支持,
把花生壳账号密码自己刚才申请的域名绑定到光猫或者路由器的DDNS设置上面;
如果光猫和路由器都不支持,则需要自己下载花生壳的客户端安装到目标主机上面。
至此,所有配置工作都完成了。
接下来我们就可以通过域名远程连接控制家里的目标主机了。
小结
通过以上的步骤我们完成了从远程控制目标主机,不过由于仅仅开放的一个端口,
实际能够用到的功能也仅仅是远程桌面连接。如果想要扩展更多的功能,
需要增加端口映射或者开启DMZ主机,需要注意的是,由于国家互联网政策的规定,
运营商一般会屏蔽默认端口。