软路由编译及ipv6、多播设置流程

软路由从入门到编译设定流程,稳定使用ipv6及多播,从入门到编译汇总一下所有相关教程及流程。

前提及环境

  1. 网络布局如下图:
    网络布局
    网络布局

    图片出自底部youtube链接,可以看下他的那两个视频,看完会对软路由及搭建流程有个明晰的思路1

  2. 具体硬件:软路由为占美-1037u-双网口工控小主机,路由器为小米R2d路由器
    无线路由器和软路由
    无线路由器和软路由
  3. 宽带为电信300兆宽带,电信光猫(已经改为桥接)
  4. 文本编译的固件版本为lean的11月份的lede,OpenWrt版本为R9.10.24 / LuCI Master (git-19.299.52050-0b735ea),内核版本为4.19.81

采购

首先要认清自己的需求吧,市面上一般的千兆硬路由器,都能满足我们日常上网需求,只是由于不可描述原因,访问外网的数据需要经过加密解密,而这个步骤实在电脑和手机终端执行的,如此一来效率变得很低,就算是一台高配,也不如一台配置低却专门干一件事的小主机来的快,所以软路由只让他当软路由,不要扩展太多,太多了也影响效率,如果有需求,可以单独扩展,专项专用。选择cpu主要看线程,越多越好,本文用的这个便宜cpu,能满足500Mb的带宽的外网需求,如果是正常上网,1000Mb对于软路由来说,对我用的这个便宜U来说也没问题,如果没有加密解密,不用软路由也影响不大。而我们也不需要这么高的外网速度,因为外网是按流量收费的,天天跑满,荷包也抗不住。软路由不建议花过多钱,除了晒下速度,多投入带来的提升并不明显了。不建议投入超过500元,这样出坑也容易,也不建议跑虚拟机。

本文配置配用:软路由一台400元(两个千兆口就行,内网不要走软路由,网卡不要渣型号)、5口千兆交换机一台50元、高质量的0.5米网线若干条、u盘两个(一个pe环境,一个用来装其他的lede,要么用来体验其他版本lede,要么作为备份系统,主系统挂了之后,立即用这个顶上)

安装

一般商家会预装一个系统,你可以要求他装哪一个系统,推荐lean的lede,他们一般会用eSir编译的版本,出来只有100多兆很清爽,预装的系统回来练练手,熟悉了就可以自己编译出来一个附和自己需求的。2

点我观看安装视频教程

需要的工具:
1. 微pe U盘启动
2. 镜像写盘工具

另外,如果没有软路由的话,推荐用自己电脑虚拟一个lede,单网卡就能上网,体验科学环境下速度和原来路由器下的速度区别。用img转虚拟机文件软件很方便装到虚拟机里

编译其实没那么难

本来不想折腾,因为esir发布的最新版里没有ipv6,所以就自己动手编译了,编译的好处是按自己需求装,清爽,还能保证安全性,编译出来只有100多兆。而且也不难,往上有很丰富的教程,按照教程跟着做一遍就行了。

入门教程:

推荐先看下esir的油管视频:
先看四个how to教程就行了:
part1:编译系统
part2:软件包单独添加插件
part3:离线增加插件
part4:多次编译

安装步骤:

编译其实很简单,跟着项目地址里一步一步做就行了,或者这个blog文章,里面步骤说的很清楚,还有一些插件介绍。

需要IPv6的,确保以下几项被选中:

支持 iPv6:
Extra packages  --->  ipv6helper  (选定这个后下面几项自动选择了)
Network  --->  odhcp6c
Network  --->  odhcpd-ipv6only
LuCI  --->  Protocols  --->  luci-proto-ipv6
LuCI  --->  Protocols  --->  luci-proto-ppp

几个没有被默认选中的常用插件:

  1. luci-app-ttyd网页命令终端,输简单命令还是蛮有用的
  2. luci-app-wol支持网络远程唤醒
  3. luci-app-syncdial多播
  4. luci-app-mwan3负载均衡
  5. luci-app-netdata实时监控

单独编译的插件

有些需要的插件编译时没安装,现成的ipk文件又和自己的版本不兼容,如果不会单独编译,先重新选中自己没装的插件,然后二次重新编译,到生成目录里找,如果不知道在哪个目录用,用查找命令,以netdata实时监控插件为例,在lede目录,输入find ./ -name netdata*.ipk,把找到的文件上传到软路由里离线安装。
单独编译的步骤如下,以luci-app-mwan3helper为例:

  1. 进入lede目录
  2. make package/lean/luci-app-mwan3helper/compile V=s,中间那个luci-app-mwan3helper换成你插件的名字,不知道的可以到package/lean/目录里面找
  3. 运行find ./ -name netdata*.ipk命令,一般都有三个文件,上传到软路由里
  4. 用opkg install 对应的ipk文件名字,就装上啦

esir的视频教程

注意事项及错误处理:

  1. 虚拟机网络适配器设为网桥连接,路由器全局上网
  2. 在清晨或者网络不拥堵的时段,全局科学环境下编译,否则会有很多东西下不完整或者下不动
  3. 推荐用ssh登陆ubuntu系统,操作起来方便,推荐xshell,用自带的Xftp很容易查看上传下载文件,不要用root账户登陆。
  4. 最好安装一个screen守护安装过程,防止长时间离开电脑,导致ssh断链或者电脑自动睡眠。3
  5. 出错一般是下载文件文件不完整,导致报错,例如4
    make[3]: Entering directory `/home/admin/openwrt/lede/package/lean/openwrt-fullconenat'
    touch /home/admin/openwrt/lede/build_dir/target-x86_64_musl/linux-x86_64/fullconenat-2018-12-15-d4daedd0/.prepared_c3d2744078ea94ecfd6014d7d4b9070a_6664517399ebbbc92a37c5bb081b5c53_check
    . /home/admin/openwrt/lede/include/shell.sh; xzcat /home/admin/openwrt/lede/dl/fullconenat-2018-12-15-d4daedd0.tar.xz | tar -C /home/admin/openwrt/lede/build_dir/target-x86_64_musl/linux-x86_64/fullconenat-2018-12-15-d4daedd0/.. -xf -
    tar: This does not look like a tar archive
    tar: Exiting with failure status due to previous errors
    make[3]: *** [/home/admin/openwrt/lede/build_dir/target-x86_64_musl/linux-x86_64/fullconenat-2018-12-15-d4daedd0/.prepared_c3d2744078ea94ecfd6014d7d4b9070a_6664517399ebbbc92a37c5bb081b5c53] Error 2
    make[3]: Leaving directory `/home/admin/openwrt/lede/package/lean/openwrt-fullconenat'
    time: package/lean/openwrt-fullconenat/compile#0.39#0.23#0.77
    make[2]: *** [package/lean/openwrt-fullconenat/compile] Error 2
    make[2]: Leaving directory `/home/admin/openwrt/lede'
    make[1]: *** [/home/admin/openwrt/lede/staging_dir/target-x86_64_musl/stamp/.package_compile] Error 2
    make[1]: Leaving directory `/home/admin/openwrt/lede'
    make: *** [world] Error 2

    出现上面的错误,一般都是下载过程中出错没有下载完整,只需要找到对应的文件删掉之后,重新运行make download V=s,有一个快速的检测方法,打开xshell的新建文件传输,到错误目录,然后按文件大小排序,一般文件大小只有几十byte的都删掉,都是没有下载成功的。确保全局上网环境没有问题,重新运行上面的命令。如果哪个文件下不下来,在这个网盘里面找

    删除不完整文件
    删除不完整文件
  6. 生成的文件在’lede/bin/targets/x86/64’位置,用上图文件下载需要的格式到本机
  7. 第一次编译的可以在虚拟机上或者装到u盘上,没问题了再部署到硬盘里。

工具下载

1.ubuntuISO下载

ipv6设置

尽量在管理界面完成配置,不容易出错,方便备份及还原。
以本机两个网口为例设置:

  1. 删除自动生成的wan6接口
  2. 接口页面删除IPv6 ULA 前缀
  3. lan口设置:
    1. 一般配置 – 基本配置:
      基本配置
      基本配置
    2. 一般配置 – 高级配置:使用内置的 IPv6 管理打勾
    3. DHCP 服务器 – IPv6 设置(通告里的dns服务器别写):
      IPv6 设置
      IPv6 设置
  4. wan口设置:使用内置的 IPv6 管理打勾
  5. 网络 – Turbo ACC 网络加速:设置全部选中:
    Turbo 设置
    Turbo 设置
  6. 负载均衡 – 策略 – 备用成员,修改为“默认(使用路由表)”,不改这个ipv6检测网站测不出来,如果设置期间出现打不开网页,调回原来的不可达选项,正常后,再选回来。

防火墙设置

端口映射和常规路由器的端口映射一样。

这里设置ipv6,主要是为了直连,不用穿内网,由于是直连速度要快的多。
防火墙设置很简单,参考这个文章lan口设置 -- DHCP服务器 -- ipv6设置那里我没按他那个,我这里会出现点问题,请按本文设置。ddns参考本文下面的链接更简单。

说下测试是否成功的方法吧,由于怎么设置我都没法外网ping到内网,所以用下面几个方法测试是否成功,最快的方法是用手机在移动网络里测试(如果开着梯子先关闭),直接用ipv6地址测试,随后再绑定域名:

  1. ping测试,路由器防火墙已经默认允许ping了,先ping软路由公网ip看有问题没,然后ping内网设配,如果是win10的话,在防火墙里的ICMPv6-In和ICMPv4-In的公用允许连接。手机的ping软件推荐这个,功能很丰富
  2. 手机装Microsoft Remote Desktop,windows里面开允许远程访问,看能否用ipv6地址直接连上
  3. 安装nigix,是否能用ipbv6地址直接打开80端口,配置其他不同的端口,看能不能打开,别懒省事用everything内置的http服务测试,死活访问不了,以前的硬路由测试没问题,换成软路由打不开,结果白折腾了一天,换成用nigix架设才成功。
  4. 手机装wol,是否能远程唤醒,需要绑定一个动态域名到地址,要不然软件不支持填ipv6格式的地址,填域名没问题。

ddns设置

我用的是dynv6,免费,可以设置多个域名,更新的脚本也很简单,以前硬路由的时候就用的这个,方便各个平台使用,参考这篇文章设置

多播设置

现在应该限制越来越多了,不同地区不一样,我这里一天只能成功一次,而且只能两个。重启或者重连后,只能等第二天。

多播 设置
多播 设置

总结

建议多备份,成功一项,备份一项,哪里出错,改不回去了,调到出厂设置,最后导入最新的可用配置。

最后测试放图

ipv6 test
ipv6 test

Leave a Reply

Your email address will not be published. Required fields are marked *