|
本帖最后由 hetz 于 2020-8-26 22:03 编辑
入了软路由的坑,把家里原来客厅放高清片子的电脑改成软路由,按网上的各种教程折腾了两个星期,终于搞定PVE+ROS+LEDE+黑群晖,实现阿里动态域名解析和端口转发,外网可随时访问黑群晖。本人小白一个,完全照教程操作,走了很多弯路,把经验跟大家分享一下。
一、机器配置,CPU是E3 1235L V5,8G内存,一块NVme 128G固态硬盘做系统盘,一块2T和8T硬盘直通黑群晖。主板有一个Intel I219V千兆网卡,做LAN口,插了一块Intel I350网卡,第一个口做WAN口。
机器运行功耗35W左右。原来是用华硕AC88U路由器做主路由,开机功耗在16W左右,还有蜗牛星际做黑群晖,开机功耗也有30W左右。现在只用AC88U做无线路由器,平时可以关掉,蜗牛星际也不需要了。两相对比,功耗也能接受。
二、PVE、ROS、LEDE、黑群晖的安装,网上教程很多,可以自行百度,或者到值得买网站去找找,只要能安装起来都没问题。
其实我原来准备是装ESI的,但是安装时总是卡死,换了多个版本和多种方法都不行,后来换PVE一次性就装好了。
三、重点是ROS和LEDE的设置,网上有很多的教程,不同的教程虽然都能设置好,都能上网,但是阿里动态域名解析、端口转发、启用https等,很多教程是在LEDE里设置的,没法实现端口转发,或者在内网里能用域名访问,到外网后就不能访问了。这里介绍我最后使用的教程,可以完美使用。
1、ROS和LEDE的设置可以百度, “VLOG | routesOS(ROS)+LEDE双软路由奶妈级配置教程-双软路由篇”,一步一步设置就行。
ROS和LEDE设置的关键是,在ROS里网关指向LEDE后台地址,在LEDE里网关指向ROS地址。两边的DNS服务器保持一致。
在有的教程里说要把LEDE里的DHCP服务取消,但那个教程的设置我端口转发等实现不了。所以还是按照这个教程保持LEDE里的DHCP服务,并且勾选上动态DHCP和强制。
在LEDE的网络->接口 里删除wan,只保留一个lan。
在LEDE的网络->防火墙里只保留lan,按下图设置。
2、ROS+LEDE如何端口映射,百度“ROS软路由 | ROS动态IP映射端口”,用第二种设置方法,这里很重要,我用其他的教程就转发不了。
如果你需要其他端口,比如5001、5005等,按上述教程,在ROS里的NAT、 script、schedule里一个一个端口分别添加。
3、阿里动态域名,在ROS里添加脚本。
System->Scripts,点+号,添加以下脚本,命名为 aliyunddns
:local id "AAAAA"
:local secret "ceTeEsexWHxlu8CYOawOvioQzl3fxx"
:local domain "aaaa.cn"
:local record "www"
:local pppoe "pppoe-out1"
:local ipaddr [/ip address get [/ip address find interface=$pppoe] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]
:global aliip
:if ($ipaddr != $aliip) do={
:local result [/tool fetch url="http://u.myxzy.com/alidns/?id=$id&secret=$secret&domain=$domain&record=$record&ip=$ipaddr" as-value output=user];
:if ($result->"status" = "finished") do={
:if ($result->"data" = "0") do={
:set aliip $ipaddr
:log info "alidns update ok";
} else={
:log info "alidns update error";
}
}
}
上面脚本里红色部分根据自己实际情况变更,其中id、secret替换成阿里云提供的。domain为你的域名, record是主机记录www, pppoe 后面是你的拨号名称pppoe-out1。
上述脚本添加后,再添加一个脚本,换个命名,把record是主机记录改为“@”,其他不变。
因为在阿里云控制台里是这样两条解析,这样访问域名时可以有www,也可以不加www,都能访问到。你如果有其他子域名,也可以再添加一个脚本。
添加脚本后,创建定时任务
System->Scheduler,点+号,任务名aliyunddns,StarTime为startup,Interval为00:01:00表示1分钟一次,在底下的On Event直接执行脚本名称,输入刚才的 aliyunddns,保存。
:execute script="5001"
有多条域名脚本,添加多条定时任务,与上面的脚本相对应。
检查是否操作成功,点击左侧的 Log,等1分钟可以看到有Log提示 alidns update ok
点击左侧IP->Address 可以看到我们的外网IP,可以和阿里云查看做对比。
4、添加阿里ssl,实现https访问
申请阿里的免费ssl,网上教程很多,自己百度。
下载证书,可以选择其他,解压后得到pem和key后缀的两个文件,把pem后缀改为crt,两个文件名也可以改的简单一点。
在ROS的Files 里把这两个文件上传。
在ROS里选 System->Certificates->Import,把两个上传的文件导入。
你就可以用https配合域名和端口访问了。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|