*本文可能会略偏向基础,将会主要介绍:内网外网结构,域名注册及使用,动态域名解析,路由器的基本操作。
*本文只是一个方案的介绍,不存在推荐使用与否,文中出现的品牌也不代表推荐云服务提供商。
使用到的网站:
阿里云:https://www.aliyun.com
Sakana Frp(误) Sakura Frp:https://www.natfrp.com
域名绑定/ip查询网站:https://www.ip138.com/
前文
如果你和我一样家境贫寒囊中羞涩,既想使用性能好,带宽高,又无力支付云服务器高昂的费用,那么将物理服务器放置在自己的寒舍之中也将是一个不错的折中方案。
注:Frp已不可用于CSGO服务器,请直接看DDNS篇
本文将主要介绍两种方案来实现外网对于内网服务器的访问
方案1:内网穿透 frp(典型代表:花生壳,Sakura Frp)
frp原理的简单介绍(并不严谨):使用有公网IP的云服务器来接受并转发连接至真正的主机。
因此,使用frp将会有两大缺点:
1,必须使用云服务,带宽将受到云服务器限制。
2,远程端口无法由自己选择。
优点是基本不需要网络环境支持,无论处在什么样的网络环境都可以使用
方案2:使用IP直接连接/DDNS动态域名解析
使用IP直接连接,需要你的宽带具有公网ip,检查家里宽带是不是公网IP只需要先检查路由器的wan ip是否和你直接使用网站查询的ip一致,一致即为你的ip为公网ip。如果不一致或者路由器的wan ip的无法正常查询到归属地,即你的ip并不是公网ip。除此之外,上网模式应为PPPoE拨号而不是DHCP。如果没有公网ip,请联系你的网络运营商,这将取决于省份/地区。
但是这时候会引出一个新的问题,你的公网ip他并不是静止的,当你重新拨号的时候,ip即会发生变化。即使永远不重启路由器,也有可能会在不定周期内随机变化。
当然如果你财力雄厚家境殷实,直接开一条专线即可避免所有麻烦。
但这也并不是一个大问题,终极解决方案即为今天真正的主角:动态域名解析(DDNS),DDNS的原理非常简单:DDNS的全写为Dynamic DNS,他会使用一个程序将路由器的wan ip周期性的解析至DNS服务器,以此来达到将动态ip和固定域名一直绑定的效果。当域名变化后,只需要等待DNS刷新,电脑上的DNS缓存刷新后即可继续使用,不需要任何额外操作。
内网与外网
内网ip:局域网内的ip,只能用于内网的连接。在局域网环境下,所有服务端的端口均为内网端口。
公网ip:广域网内的ip,外网用户用来连接的ip。在路由器的管理网页可以查看wan ip。
端口映射:将需要访问的端口映射到指定远程端口,如(192.168.9.2:3389=wanip:19198),即将192.168.9.2的3389映射为wanip的19198端口。我不建议将内网端口映射为默认的端口,比如3389-3389,这可能会降低安全性。
DHCP:分配IP的服务端,当网卡设置为自动获取ip,DHCP将自动分配未使用的内网ip给予该设备。当需要进行端口映射时,须将映射的设备设置为静态分配
DMZ主机:将该设备的所有内网端口映射至远程端口,使得其操作类似于云服务器。这可能会降低安全性
内网穿透使用指南
1,下载frp客户端,并获取访问密钥。
2,输入访问密钥并登录
3,创建隧道
本地ip应填写内网ip。如果只是本机使用可以直接填写127.0.0.1,但一个账号多机使用时请不要这样使用。
端口填写你需要的服务对应的端口。(windows远程桌面为3389 TCP协议)(csgo默认27015 UDP)
穿透节点和远程端口自行选择即可。
4,通过日志即可,获取frp服务器域名或者ip。
5,测试。
ipad使用的是移动网络,笔记本则是校园网。输入windows账户和密码后即可成功访问。
DDNS使用指南(需要路由器支持)
1,检查是否具有公网ip,方法上文已经有详细介绍,本章节将会展示实际例子以及详细操作
如图一图二,公网ip查询后可以得到正确的地址,运营商信息。
如图三图四,"大型局域网" ip是无法查出信息。
2,域名注册与AccessKey,添加动态域名
阿里云提供了域名注册服务,类似服务提供者也有腾讯云等。
此步并不复杂,按照网站提示进行即可
使用阿里云来实现DDNS需要单独创建一个AccessKey来更改解析记录。
因此我们需要如图二右击头像--选择AccessKey--创建AccessKey
完成之后将注册好的域名,AccessKey和其Sercet填入路由器的动态域名/DDNS,保存之后启用即可。
3,检查域名解析是否生效
使用ip查询网站查看域名解析是否是路由器的wan ip,一致说明绑定成功了。
4,添加端口映射
注意:内网(端口)映射不等于内网穿透,端口解析指的是将内网ip的某个端口和外网ip的某个端口绑定在一起。有些品牌的路由器会将端口映射写作内网映射,请注意区分。
注意:在添加端口之前,请确保你的设备已经处于静态分配(固定)
csgo的默认端口为27015,如保持默认,内网端口请填写27015,如果想要用域名直接访问而不加端口(如csgo.com),则需要在外网端口填写27015,否则connect需要在域名之后添加端口号(如csgo.com:11451)
DDNS(不需要路由器支持)
如果路由器不支持DDNS,则仍有补救之法,但我还是建议你去换一个支持该功能的路由器。
(施工中)