外网访问家庭内网的两大最优方案,零基础教程 远程控制家庭电脑 ,公网访问家庭局域网

您所在的位置:网站首页 如何连接区域网络计算机 外网访问家庭内网的两大最优方案,零基础教程 远程控制家庭电脑 ,公网访问家庭局域网

外网访问家庭内网的两大最优方案,零基础教程 远程控制家庭电脑 ,公网访问家庭局域网

2024-07-11 22:20| 来源: 网络整理| 查看: 265

这是我用旧电脑改造的一个的家庭服务器,目前为止它还只能在家里用内网访问。本期视频使用两种方案实现公网访问内网设备,第一个是IPv4端口转发,第二个是使用ipv6公网IP,这两种方案免费,兼容性好,速度稳定。

本期视频:

视频开始之前我先简单介绍一些关于内外网的基础概念,首先是从IP地址讲起。

IP地址

开始之前,我先简单介绍一下关于内外网的基础概念。首先从IP地址讲起,在计算机网络中,每个设备都需要一个唯一的地址来进行通信,这个地址称为IP地址。为了方便记忆,IPv4地址一般分为四部分,每个部分都由0到255构成,这样IPv4地址总共将近42亿个。然而,全球的入网设备其实早就超过了这个数量。事实上,在2019年底,全球可分配的IPv4地址已经宣告耗尽。 为了解决IPv4地址枯竭的问题,互联网引入了NAT机制,将网络划分成局域网与公网,让多个局域网设备就可以共用同一个公网IP。解决IPv4地址枯竭还有另一种方案,就是IPv6。IPv6的长度是128位的二进制,足够给地球上每粒沙子都分配一个地址。视频的后半段,我会介绍IPv6以及其使用方法。前半段我们先关注于IPv4。为了方便理解,我们可以将互联网中的数据想象成快递包裹,把IP地址想象成门牌号。公网IP指的是互联网上直接可达的地址,比如像这种独门独栋的大别墅,快递员找到这个门牌号,就能立即把快递送到这家人。

一般情况下,我们购买的云服务器都是自带固定的公网IP。正如前面提到的,公网IP地址已经耗尽,许多上网设备只能共用同一个公网IP地址。一整个小区的住户都是共用同一个门牌号,如果想让快递送上门,还需要进一步的信息,比如小区的1号楼2单元301等等。在这个例子中,小区的门牌号就是公网IP地址,这里的几号楼几单元则是内网IP地址。

申请公网IP

我们来看一个典型的家庭网络:光猫拨号接入了互联网,运营商为其分配了一个IP地址。此时分配给光猫的IP地址可能是一个公网IP地址,也可能不是。有时候运营商为了节约使用公网IP,会在光猫上层再套一层NAT网络,这样公网IP归属于运营商的上层路由器,

公网只分配到一个大内网的IP。这种俄罗斯套娃行为被称为多层NAT。

那么如何来确认光猫是不是一个公网IP呢?我们打开浏览器,一般是输入这个地址:进入光猫设置192.168.1.1。回车,这里选择其他账号登录,密码的话一般可以从光猫的背面找到。这里我就把这个密码填进去,点击状态,点击网络信息。看到这里的INTERNET_R_VID这一项,右边这个IP地址就是运营商给光猫分配的IP。

百度搜索IP地址就可以了。这里也显示了一个IP地址,如果这里的IP地址跟刚才的IP地址能对上,

那么恭喜你,你的光猫拥有独立公网IP。如果这里显示的不一样,那它不是一个公网IP。我们可以给运营商打电话申请,具体话术就说家里购买了企业级监控,需要开通公网IP。每个地区差异很大,比如我这边的山东联通就默认自带公网IP。打电话究竟能不能顺利开通,大家可以在评论区讨论下。

如果实在开通不了,还有一种使用IPv6公网地址的方案。视频的后半段我会讲到。

典型家庭网络

我们申请好公网IP,这时候光猫就是一个NAT网关,它拥有一个公网IP,一个内网IP。在这个例子中,公网IP是39.98.206.115,内网IP是192.168.1.1。一般来说,光猫后面会接一个路由器,路由器作为NAT网关构建了一个次级局域网。路由器的上级网络IP是192.168.1.2,它组成的次级局域网是192.168.31.1开头的。家里的其他设备,例如手机电脑,都会连接到路由器上,路由器会为他们分配内网IP地址,都是192.168.31.某某某开头的。

光猫改桥接

在这种拓扑结构中,家庭内部有两层的局域网。我们可以简化一下,也就是将光猫作为一个光电转换的设备,而不再负责拨号了。这种方式称为光猫改桥接,路由器则承担了拨号的功能,公网IP地址直接落在了路由器上。

那这样的好处可以简化网络拓扑结构,并且充分利用路由器的性能,可以更方便地从路由器统一管理家庭网络。

具体如何给光猫改桥接呢?这里我建议直接给运营商打电话,运营商一般可以远程下发指令,并且将拨号的账号名密码发给你。如果能拿到光猫的超级管理员密码的话,也可以手动操作。下面我就来演示一下。光猫的型号五花八门,这个方法也只是针对我自己家的这个型号管用。大家可以自己上网查一下自己光猫型号的管理员密码。如果找不到,直接给运营商打电话就可以了。

进入光猫管理后台 一般是192.168.1.1,使用超级管理员账户密码登录。 把这里的模式改成bridge桥接。

下面这些都不用动,然后直接点击确定。 我们打开路由器的设置:192.168.31.1,进入常用设置上网设置。这里上网方式改成拨号上网,账号名填写宽带拨号的账号名。

密码填好以后,这里点击应用。这里显示拨号成功,也就是光猫改桥接这一步就成功了。

端口转发

在这种网络结构中,从内网访问外网服务是很简单的。只需要把数据交给路由器,然后路由器再根据公网IP地址转发给对应的服务器即可。但是从外网访问内网服务器就有些困难了,因为从外网来的数据包只能到路由器这一层,路由器并不清楚具体将数据转发到哪个设备上处理。这时候我们可以设置端口转发,比如我可以配置路由器,强制要求路由器将接收到来自4567端口的数据全部交给a电脑处理,将来自4568端口数据交给内网的b电脑处理。

这样不同端口的数据就有了正确的去处,外网也就可以正确访问内网的服务了。

我们马上来配置端口转发。这里我的光猫已经改桥接了,当然不改桥接也可以,那就需要配置两次端口转发:先从光猫转路由器,路由器再转内网设备。这里我先使用内网连接一下我的家庭服务器,就SSH然后输入我的用户名,后面是局网IP 192.168.31.207。回车可以看到内网可以连接成功。

SSH使用的端口是22。我们进入路由器的设置看一下,目前我的公网IP是112.231.xxx.xxx。那么我配置端口转发的思路就是监听这个公网IP地址,把这个地址上所有22端口的流量全部转发到我内网的家庭服务器的22端口上。这里点击高级设置,进入端口转发。这里添加一个转发规则,这里填一个名字,我就叫家庭服务器SSH。协议拿不准就把这TCP跟UDP两个全选上。外部端口是22,内部IP地址是转到207,然后内部端口也是22。

点击添加,好,端口转发就配置完成了。点击保存并生效。

我们马上来测试一下。这里我需要先断开家里的Wifi,换成我手机的热点。我的手机目前使用的是4G网络,这样我的电脑就进入了公网环境。然后我们再测试一下,还是这个命令:SSH后面接我路由器的公网IP地址,就是这一串。然后点击回车,输入一个密码,连接成功。

IPv6

我们设置IPv6,第一步还是将光猫改桥接,这个跟刚才我演示的步骤几乎一样。这里改桥接,这里有一个注意点,把IP版本协议IPv4/IPv6这两个全部选上,然后点击保存就可以了。

我们进入路由器的设置,下面有一个IPv6网络设置,注意把这个一定选上,然后点击应用。

上网设置里还是选择拨号上网,填上用户名,密码点击应用。这里显示拨号成功,然后下面IPv6连接类型里出现了一些信息,这里出现了IPv6的地址,像这种240开头的就是公网IP的地址。现在三大运营商基本做到了IPv6公网地址的全覆盖。

进入我的Ubuntu服务器,我来看一下他的IPv6地址是不已经分配过来了。这里我输入命令ifconfig,回车看到这里的网卡信息。我们找到第一个IPv6的INTERNET6,后面的这一串就是我服务器IPv6的公网IP地址。我们来验证一下,进入这个网址:test-ipv6.com。这里显示10-10,此分数表示你的系统对IPv6支持程度跟稳定性。这里显示了一个IPv6的公网地址,与刚才的ifconfig的地址是一模一样的。那这样服务器端的IPv6就配置成功了。

我们马上来SSH连接一下试一试。这里当然还是先把我的电脑切到外网,切换成手机热点。我把这台Windows电脑也测一下IPv6通不通。可以看到我这台Windows电脑的IPv6是不通的,

理论上来说,现在国内的4G网络应该都支持IPv6了。那这里连了手机热点,走的手机流量,但是IPv6不通。那原因很大可能出在我的Windows设置上,我们需要更改一下设置。这里打开搜索搜索控制面板,进来以后这一步是重点,把这个查看方式的类别一定要改成小图标。

Windows也是非常坑,把一个常用设置藏得这么深。然后再点击网络与共享中心,找到这里的连接,点击进去。这里点击属性,然后设置。这里可以看到IPv6没有开启,我把IPv6勾上,然后点击确定,点击关闭

。好,这样Windows就设置好了,这样就通了。 下一步我就用IPv6连接我的内网服务器。这里打开一个终端,还是SSH命令技术爬爬虾@后面直接接我Ubuntu家庭服务器IPv6的公网地址,那就是这一串。然后回车输入一个密码,可以看到连接成功。

我再来补充几个IPv6方案的注意点。首先是安全性,IPv6开启以后,全设备全端口都是直接暴露在公网上。因此,我建议先把各种远程连接的密码设置复杂一点,有条件的话可以升级一个带IPv6防火墙的路由器。第二个因为网络建设原因,有一些网络环境还不支持IPv6,比如某些公司的内网或者一些偏远地区等等。我们需要根据实际情况酌情使用IPv6。

远程控制

上期视频我刚讲完Rustdesk,然后这两天做视频的时候发现突然就不能用了,还特殊对中国地区有限制。本期就分享另一种公网远程控制内网的方法。我们进入Ubuntu,改一点配置,点击这里的设置,找到最下面的系统,然后这里远程桌面,把这个远程登录点开。这里先点击解锁,然后把远程登录打开,下面的端口保持默认3389用户名,密码自己填一个就可以了。

我们在Windows搜索远程桌面,打开远程桌面连接。这里有两种方式:第一种方式直接填服务器IPv6的公网IP,就填这个,然后点击显示选项。这里把用户名输一下,就是tech-shrimp,然后点击连接,再把密码输一下。

可以看到,这样就连接进了远程桌面。当然我们使用IPv4也可以,这里还是配置一条新的端口转发,把外部的3389端口转到内部服务器的3389端口。

然后我们连接的时候,当然就输公网IP,后面接冒号端口3389,这里点击连接,可以看到远程桌面一样可以连接。

DDNS

现在我们可以使用公网IP地址访问家庭服务器了。然而这个IP地址并不是固定不变的,一段时间就会变换一次。应对动态IP可以使用DDNS的方式解决,即动态域名解析,将变动的IP地址绑定到一个不变的域名上。这样我们可以使用域名连接服务器,不用操心IP地址的变化了。 这里我推荐一个项目DDNS go,自动获得你的公网IPv4或IPv6地址,并解析到对应的域名。好,我马上来演示使用DDNS go。在开始之前,我们需要进行一点准备工作。首先你必须要有一个域名,这里我从Cloudflare上购买了一个域名,就是这个域名tech-shrimp.com。右上角点击添加站点,按提示操作,将域名托管到Cloudflare。

我需要有一个API key,我们进入我的资料,API令牌在这里点击创建令牌,然后点击编辑区域DNS,点击使用模板。

这里区域里面选择包括账号所有区域,然后选择我的账号,找到下面显示已继续摘要,点击创建令牌。我的令牌就创建好了。

这样我拿到了我的域名,还有令牌。我就下载这个ddns go,我进入我的Ubuntu服务器。在这里找到release,我这个是X86的CPU,那我就下载这个Linux X86_64,把它下载到桌面。

DDNS Go 下载地址:

https://github.com/jeessy2/ddns-go/releases

下载完成以后,我把这个应用程序复制到桌面上,然后直接右键在终端运行。输入这个命令:

点击回车,这里显示安装成功。 我们打开浏览器,输入这个网址localhost:9876,点击回车,进入了它的配置页面。

这里我的DNS服务商选择cloudflare,然后填写我刚才生成的Cloudflare的 TOKEN,就是这一串,把它复制进来。

下面填写一个你想把公网IP解析到的域名,这里可以填写一个子域名,比如我填写ddns.tech-shrimp.com

这个配置的意思就是把我的公网IP地址解析到这个对应的域名上。IPv4配置好以后,我们再配置一个IPv6,这个名字ddnsv6.tech-shrimp.com

这里配置一个用户名密码,用户名密码是用来登录DDNS go的管理后台用的。 全部配置成功以后,我们点击保存。这里出现了一些提示,那我们的DDNS go就配置成功了。

我们马上来测试一下,还是回到我的Windows电脑,我们SSH后面是用户名@,后面就不需要输入IP地址了,直接输入我刚才配置的DDNS域名,域名是ddns.tech-shrimp.com,回车好,连接成功。

我们再试一下IPv6,还是打开终端SSH tech-shrimp,我的用户名后面接这个域名ddnsv6,这个域名解析出来的就是IPv6对应的公网地址,然后点击回车.

好,一样可以连接成功。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3