家庭里如何搭建一个互联网可访问的服务器
先决条件
一台电脑(我的是我女朋友的电脑被我征用了,装了个虚拟机,装了centos7在里面),公网IP(二三两种方法需要)。
方法一、花生壳客户端(没有公网ip,直接映射内网指定端口)
1.申请一个花生壳,并注册域名
2.vmware中装一个centos7,配置好ip(222.222.221.197),装好jdk+tomcat环境(用本机也可以),启动tomcat。这里的linux系统用的是桥接模式(这里必须用桥接模式,不然花生壳访问不到虚拟机)。
3.下载花生壳客户端,配置ip映射(路由器局域网内某台ip的某个端口映射到花生壳指定的ip和端口上)
4.配置好后在主机上访问一下,OK没问题。
把22端口映射到外网就可以远程了。
方法二、路由器使用花生壳域名动态解析(如果ip每次拨号都变就用这种)
注意!!!路由器的ddns是动态解析公网ip,不是映射内网功能!!!ip一定要是公网才可以(找运行商啦,让他给个呗),我用的是电信,光猫改为桥街模式(我的被我搞炸了,报修来了人修的)后,用拨号连接就可以啦。
需要访问那台局域网内ip的指定端口只需要映射一下端口就可以通过域名访问啦
结果如下,域名:port-->公网ip:port-->映射的内网ip:端口
方法三、万网域名绑定公网ip(公网ip每次不变的情况下)
直接从万网或者百度阿里腾讯这些域名供应商,买一个域名在里面配置一下公网ip
天坑!!!
运营商是把80等一些端口屏蔽了,所以配置好后本机测试没问题,换个非局域网的网络环境发现不行。各种找原因,无意间发现直接ping 公网ip:80是不通的,ping ip:22却是通的,网上查了一下原来是被屏蔽了。花生壳和百度的工单服务还是不错的,虽然没找出来原因。
排查方法
ping 公网ip #测试公网ip是否通
ping 域名 #看看是否绑定成功,不成功找对应的域名服务商(就是上面的花生壳和万网啦)
nslookup 域名 #查看域名绑定的公网ip是不是你的公网ip
telnet ip/域名 端口 #telnet 80或者8080等端口不行换个其他的端口(换个虚拟服务器映射的外网端口)试试,比如22,9080(映射到外网端口9080),这就可能是被运营商屏蔽端口了。或者是服务器屏蔽掉了。
另外路由器的ddns动态解析ip地址也不是很好,经常访问不了,要在路由器上重新登录ddns才可以,因为ip一直变,有时多个域名可能绑定不同的ip。
---------------------------------------这是一条分割线---------------------------------------
二次更新
1.本人用第二种方法搭建,发现经常连不上,于是乎nslookup查看下,发现绑定的ip经常变,oray解析不过来,路由器的ddns经常掉线重连。
解决方案:买了个花生棒(和路由器上的ddns登录一样,这个只不过在硬件上登录账号动态解析ip,端口映射仍然在路由器上)。这个我怀疑是我的路由器太差了。
2.花生棒买来了,ddns账号一直重连解决了,发现每过几分钟三种灯一起闪,炫酷倒是挺炫酷(意思是获取不到ip,也就是ip重拨了,等一会就好了)。怎么会没两分中就换一个ip呢?电信网的48小时断网重新拨号改成48秒了?然后打了客服问了一下(嗯~声音很甜),帮我查看了下后台记录,发现我是正常离线,根本不是被迫下线。那问题就在我这咯!我的路由器每过一段时间就会重新拨号!!!我发现路由器的几个指示灯闪的很凶,把VMware关掉,嗯?好了?看样子是虚拟机问题嘛,我用的桥接模式增大了路由器的压力?我关掉虚拟机试了下,一天ip都没变,看样子确实是虚拟机问题。然后我改了下NAT模式连接,发现路由器也不会重启,还原了下虚拟网络编辑的默认设置,再次用桥接模式登录。发现好了!!!路由器不重启了!!!指示灯也不疯狂闪了!!!因为发现多连一个设备没事,桥接到一个网卡上路由器就会崩溃,打算专门给虚拟机配一个8187的无线网卡(之前破解wifi密码买的,linux用绝对没问题了),嘿!竟然找不到linux版本的驱动!!!费了好半天力气找到8187驱动官网,还没试,试过的评论下哦。
三次更新
桥接模式用了两天后,在女朋友看电影的情况下,路由器依然炸掉了。网上看了下让虚拟机直接用物理网卡,而不是用虚拟网卡的方法(其实就是桥街模式)
选中复制物理网络连接状态,从而使用物理网卡而不是虚拟网卡。
编辑-》虚拟网络编辑器,选中要用的网卡
四次更新
找到根本原因了,上次写教程ip账户名密码都没打码,被黑了,服务器在三天时间内上传流量达到160G(里面其实就是个tomcat+mysql,啥也没有)。有趣的是木马根本杀不掉,删掉文件后隔一段时间又会自动生成。于是只能新建一个虚拟机实例了。木马的那台我还留着,以备后面研究。大家以后写教程一定要注意打码。
![微信公众号二维码](https://images.cnblogs.com/cnblogs_com/aeolian/1679458/o_wechat_gzh_qrcode.jpg)