ipv4的公网IP弄起来还是比较贫苦,所以不管是搭建私人NAS还是长途登岸主机都总是必要进行内网穿透。一般的方案都是用花生壳这类的商用服务,然而这些服务一方面又贵又慢另有流量限定,另一方面还要进行把三代信息都盘出去的实名认证
1G到5G一个月。。。。够干嘛的
现在姑且利用ipv6可以环球ping的特性提供一种实现内网穿透的方法,现在只是用于长途登岸和控制,大概之后可以用于更多的服务器功能。我的方案非常业余而且粗糙,望各位大佬不吝赐教。
根本背景是电信的光猫在安装的时间往往会直接利用 路由模式 而且 直接启用自带的路由器 ,所以要先破解路由器得到路由器的修改权限,将ipv6访问控制的防火墙关闭,把主机的ipv6地址暴露在公网。同时由于这个ipv6地址并不是固定的,利用ddns服务要钱要存案又违背我的初衷,所以利用一个脚本定期将主机的ipv6地址更新到我本身的GitHub仓库内里。
起首登岸这个网站http://test-ipv6.com/查抄一下主机接入的网是否支持ipv6:
这里是10/10分,支持
任意找台毗连光猫自带的路由器网络的电脑,在浏览器输入192.168.1.1登岸电信光猫自带的路由器:(地址大概因人而异,请以光猫反面信息为准)
你大概会看见这个界面
然而直接登岸这个用户是不够的,由于我们必要进入超等管理员系统才可以修改光猫自带路由器的防火墙。通常来说你可以用这个密码来登岸:
如果这个密码不可用,那么请参考这篇文章来获取路由器超等管理员的密码。
http://www.xgiu.com/dianxin-guangmao-jiemi
获取密码之后,直接将密码输入密码栏然后登岸即可,你应该可以看到这个界面:
说明已经成功进入了光猫的后台,可以对光猫进行任何修改了。
告诫:在对光猫进行任何修改之前建议往光猫中插入一枚U盘进行备份,否则自行修改的配置很有大概无法改回来也无法利用。
在这里选择备份
然后将光猫的防火墙的ipv6 session选项关闭:
记得要保存!!
告诫:在这步之后你的局域网相称于暴露在外,有肯定的网络安全风险
在这之后,从外部网络应该就可以ping到主机了:
然而这还不够,通常来说ipv6地址也并不是固定的,那么当地址重新分配的时间,就没有办法再长途找到主机了。也就是说大概过上两个月这个地址就连不上了。
对此,接纳一种简单粗暴的方法。写一个通过crontab来定时运行的shell脚本,将主机的ipv6地址写入一个文本文件,然后通过git推送到github上面。当ipv6的地址改变时,直接上github看新的主机地址就可以了。
起首任意找个位置建一个文件夹ServerControl,然后在内里初始化一个git仓库:
- mkdir ServerControl
- cd ServerControl
- git init
复制代码 在git中添加一个长途仓库:
- git remote add <仓库名> <仓库的ssh地址>
复制代码 然后创建一个文件夹RemoteControl,进入内里并且新建脚本GitGetIp.sh和存放ipv6地址的IpConfig.txt
- touch README.md
- mkdir RemoteControl
- cd RemoteControl
- touch IpConfig.txt
- touch GitGetIp.sh
复制代码 文件结构大概是如许:
脚本GitGetIp.sh,内容如下:
- #!/bin/bash
- cd /home/a24/ServerControl/RemoteControl
- date >> IpConfig.txt
- ifconfig >> IpConfig.txt
- cd /home/a24/ServerControl
- git add .
- git commit -m "_______New_______"
- git push ServerGit
复制代码
运行这个脚本将会将ifconfig命令获取到的网络地址命令写入IpConfig.txt这个文本文件里,然后将整个文件夹都推到github仓库中。但是,在IP地址变化之后你并不能登入主机运行这个脚本,因此我们必要让这个脚本自动运行。(可以直接用DDNS,但是这个方案的好处是不消申请域名也不消实名认证也不消耗钱)
这里利用crontab命令:
然后根据提示任意选择一个文件修改配置,这里以选择第一个文件为例:
在最后一行加上
- 05 14 * * * sh /home/<你的用户名字>/<脚本路径>/ServerControl/RemoteControl/GitGetIp.sh
复制代码 这代表在天天的14点05分运行脚本GitGetIp.sh。值得注意的是,如果想要实行bash脚本,命令中的sh不能漏。
至此,你应该就可以天天在github你的仓库里看到你的长途主机的ip地址了,
红框内里的就是你的主机的ipv6地址,可以在cmd里以这个地址来进行长途ssh毗连
第一次登岸要输入yes和密码
大概用putty:
常见问题:
外网ping不通:
外网的登岸者先在这里http://test-ipv6.com/查抄一下是不是支持ipv6的网:
这是不支持的状态
通常来讲手机网络都是支持ipv6的,因此你可以利用手机热点:
然后就可以ping通了:
外网可以ping但是ssh会出现timeout报错:
在调整防火墙这个步骤时大概开启了 ipv6 session防护功能,取消勾选然后重新保存就可以了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |