最近自己用淘汰下来的硬件组了一个本地服务器,打算做成一个MC服务器,在搭建流程中遇到了很多问题,一一解决之后打算发一篇文章来让有同样想利用公网IPv4搭建服务器的网友们更轻松地找到一些问题的解决方案。
以下是从路由器配置到搭建服务器的总体流程和可能遇到的问题——
0.将光猫与路由器的连接方式改为桥接模式
将这一步放在一开始是因为这一步对于用IPv4公网搭建服务器来说是非必要的,具体实现方法也很简单,直接给运营商打电话转人工之后让客服将光猫由路由模式改为桥接模式就行了,随后进入路由器后台使用PPPoE拨号上网就行。
需要特别注意的一点是有些人家里的宽带并不是传统的光猫-路由器设置,而是FTTR组网。FTTR组网在没有额外配置路由器的情况下改桥接模式会直接导致无法上网。
-
检查宽带是否为IPv4地址、向运营商申请公网IPv4地址
既然是用IPv4公网IP搭建服务器,那么首先得确保你的宽带IP为公网IP(外网IP)而不是内网IP。查看宽带IP是否为公网IP的手段如下:
在设备连接互联网的情况下,使用浏览器访问192.168.1.1进入路由器后台;输入路由器/网关背面的用户名或密码之后即可进入(以天翼网关为例)。
进入网关页面后,点击高级设置,再点击网关信息,看到我的WAN IP为223.xxx.xx.xxx。
将显示的WAN IP复制进IP138.com进行查询,如果查询结果为本地局域网IP则不是公网IP,如果能查询到具体物理地址则宽带IP为公网IP。
如果宽带的IP不是公网IP,则需要向运营商申请公网IP。
申请公网IP的方式比较简单,具体方法就是拨打运营商的服务热线后转人工并提出更改到公网IP的需求,具体话术就是“家中安装了企业级监控/给家里配置了Nas服务器所以需要公网IP”。不同运营商获取公网IP政策有区别,据悉联通想获取公网IP很难。我是湖南电信,跟客服打电话说了一声就帮我改了。
客服将局域网IP修改为公网IP后,重启宽带,再次利用上文方法查寻WAN IP显示物理IP地址,就说明你的宽带IP已经是公网IP了。
-
给服务器分配固定内网IP
在获取到公网IP之后,我们需要将服务器的内网IP从DHCP自动分配的动态IP改为静态IP,如果不给服务器分配静态IP则可能会出现因为服务器内网IP改变而无法连接至服务器的情况。
给服务器分配静态IP有两种办法:一种是在Windows设置里进入【网络和Internet】,选择【WLAN】或【以太网】之后将IP设置由DHCP改为手动,之后自行编辑IP地址、子网前缀长度、网关和DNS;另一种方法是直接在网关后台针对设备物理MAC地址进行固定的内网IP分配,推荐使用这种方法。
如果使用Windows系统设置固定IP,需要注意的就是IP要填写路由器/网关能分配的内网IP,譬如192.168.1.55,具体可分配IP的区段可以在网关后台的高级设置->局域网设置中找到。
子网前缀长度需要由上图的【局域网子网掩码】计算获得。具体方式是将局域网子网掩码转为二进制后,把所得字符串中所有的“1”相加,得出的和就是子网前缀长度。如255.255.255.0转为二进制后为11111111.11111111.11111111.0,共有24个1,所以我的子网前缀长度就是24。
网关填写之前查到的WAN IP。
首选DNS和备选DNS填写你想使用的DNS服务器。
上文为在Windows系统中使用固定内网IP的办法,根据我的实际测试并不是很稳定,可能会出各种各样的岔子,所以更推荐直接在网关后台进行静态IP分配。
首先打开192.168.1.1:8080。这个地址下的网关后台显示的各种信息和可调整的各种参数会比单纯的192.168.1.1更多。用户名和密码仍然使用宽带底下小贴纸的就行。
进入后台后,选择【网络】然后点击【DHCP静态IP配置】;
点击【新建】,之后依次填写设备的MAC地址和你想要分配的IP地址。IP地址的可分配区间能在【IPv4配置】选项的DHCP Server下面找到。
填完之后选择应用,再将服务器重新联网,进入cmd使用ipconfig指令,就会发现IP已经变成了你分配的静态IP。需要注意的是你无法用设备给这个设备本身分配IP,需要用另一个设备来操作。
-
建立端口映射
公网中的设备要想访问到服务器,除了需要公网IP之外还需要知道你访问的具体是这个网络中的哪一个设备,所以我们需要在网关的后台设置端口映射。
进入网关后台192.168.1.1之后,点击【高级设置】,之后点击【端口映射】后开始建立映射。
虚拟服务名称可以随便填,局域网IP填写之前给服务器分配好的固定内网IP,服务协议选择TCP或者BOTH都可以,内部端口和外部端口填写的数字要保持一致。请记住这个数字,在之后配置mc服务器的时候要用到。
所有东西填完之后点击添加映射,接着在【映射列表】中查看是否已经添加好了并且保证映射正在生效状态。
-
配置mc服务器
配置mc服务器的部分我不过多赘述,网上大把的教程。这一步需要着重强调的就是将server.properties中的server-port改为前面端口映射时设置的内部/外部端口数字。
-
关闭Windows防火墙
防火墙的存在会阻挡外部对服务器的访问,所以我们需要关闭Windows Defender防火墙。
首先按windows+R,输入control打开控制面板;
将查看方式改为大图标后点击Windows Defender防火墙;
在左侧找到【启用或关闭Windows Defender防火墙】;
全部关闭。
至此Windows防火墙就被关闭了。
-
关闭网关防火墙
不只Windows有防火墙会阻拦外部设备访问,网关也同样有防火墙,同样会阻挡访问,所以我们需要在网关后台关闭网关的防火墙。
首先访问192.168.1.1:8080进入进阶后台,登录后选择【安全】,点击下面的【防火墙】,将【启用】选项勾掉。
之后重启宽带,网关防火墙关闭成功。
-
连接服务器测试
服务器启动之前配置好的mc服务端,自己的设备启动mc客户端,输入IP:PORT搜索服务器。IP就是你的公网IP,PORT就是前面设置的server-port。例如223.xxx.xxx.xxx:1231。如果成功进入世界,则服务器整体配置成功,可以让世界各地的朋友一起畅玩了。如果不想暴露自己的物理IP,可以去买个域名或者申请一些免费的二级域名,然后托管给DNS解析网站,这样就可以用域名对服务器进行访问了。