基于官方原版OpenWrt的双线接入(移动、长城)及IPv6 DDNS详细设置方法
前面发了两篇文章,分别介绍了《一次意外后的折腾—矿渣newifi 3路由器折腾记(改散热、屏蔽并增加电容)》和《移动宽带—中兴光猫F2355配置方法(含桥接)》,有值友在评论中问我,OpenWrt如何配置实现的双线接入和IPv6,这篇文章将我的配置方法分享给大家,希望能够帮助大家实现自己想要的功能,减少不必要的折腾,节约时间。
首先声明一下,这篇文章中的绝大部分操作都可以在互连网上搜索到,甚至有很多大神的教程比我下面写的要详细,功能要更加完善。我只是根据我自己的需求进行了简单的、够用的参数设置,这篇文章多数是搬运,少数自己的总结,有些参数没有细究过“为什么这样”、“还可以怎样更优”等问题,毕竟不是专业搞这方面研究的,仅仅是家里网络刚好有需求,所以现学现卖而已,因此希望各位值友勿喷勿杠。
本文章共有6600余字,主要从以下几部分叙述:
一、功能需求
二、使用硬件
三、使用软件/固件
四、为何选择官方原版OpenWrt
五、为何一定需要IPv6
六、为何需要双线接入
七、具体设置方法
1.更新软件包(或插件)列表
2.安装或卸载软件包(或插件)
3.更改luci界面为中文并设置时区
4.双线接入
5.IPv6 DDNS
6.更改访问端口
7.IPv4设备的远程访问
8.USB设备挂载
9.简单的远程下载(Aria2)
八、总结
一、功能需求:
1.路由器远程访问(IPv6 DDNS);
2.移动、长城宽带双线接入;
3.家中部分IPv4设备的远程访问;
4.简单的远程下载功能。
二、使用硬件:
1.中兴光猫F2355;
2.newifi d2路由器(完成官方原版OpenWrt 19.07固件安装);
3.PC机/手机一台;
4.U盘1个;
5.网线若干。
三、使用软件/固件:
1.官方原版OpenWrt 19.07;
2.浏览器。
四、为何选择官方原版OpenWrt
选择官方原版OpenWrt无非从以下几个方面考虑:
1.原生支持IPv6(能够满足这一点的固件不多,不得不再提一下某Link,买newifi d2之前买了个该品牌的信号放大器,硬是只能转发IPv4,不能转发IPv6。所以有IPv6需求的,或考虑后续IPv6设备兼容升级的值友一定要注意);
2.能够持续更新,运行相对稳定;
3.能够双线接入。
目前newifi d2支持的固件相当多,互联网上的大神们也不断在更新基于OpenWrt的定制固件。本人有点洁癖,就像以前有N多版本的Windows XP系统时(番茄花园、雨林木风等等),我只使用微软原版操作系统一样(跟是不是正版无关),这次我只选择官方原版的OpenWrt固件。萝卜青菜各有所爱,不是说大神的固件不好,而是我确实无爱,这篇文章也是写给那些选择官方OpenWrt的网友参考的。
五、为何一定需要IPv6
目前公网IPv4地址相当紧缺,电信和联通宽带用户获取IPv4地址可能比较方便,但对于长城宽带来说,我尝试拨10次号能有一次获取到公网IPv4地址就不错了,而且拨号在线时间长了,长城宽带会强制下线,再分配给一个内网地址。移动宽带就更不用说了,10086会直接告诉用户,他们只有内网地址,没有办法分配公网IPv4地址。
在这样的一个情况下,我这个移动和长城宽带的用户,想实现远程访问家庭内部设备就无法依靠IPv4的DDNS,只能转向IPv6。
目前电信、联通及移动均开通了IPv6服务,我们平时在使用手机流量上网时,手机往往会有一个IPv6地址(移动是2409开头的),只要家中的设备能够实现IPv6的DDNS,那么在手机端就可以很方便的访问该设备了。
六、为何需要双线接入
每个人的双线接入都是因为自己的现状和需求决定的,很多大神做双线接入和多拨是为了网速更快,延迟更低等原因。我们家对延迟并不敏感,不玩游戏、也早就过了大量挂机下载的年纪,现在的带宽对于我们从ADSL拨号上网时代过来的人来讲,足够了,另外也不想为了延迟更低而花精力去不断更新路由表,在《一次意外后的折腾—矿渣newifi 3路由器折腾记(改散热、屏蔽并增加电容)》中也曾经提到双线接入的原因,其实归结起来很简单,不想让宽带浪费掉,哪怕做个备份也好,一条链路故障了不影响上网就好。
七、具体设置方法
在进行以下操作之前,请确认路由器可以连接至互联网,否则很多操作无法进行。比较简单的方法是建立一个临时的拨号连接。
1.更新软件包(或插件)列表
选择“System”-“Software”菜单,在相应界面上点击“Update lists…”按钮。
建议使用SSH进行软件包的相关操作,因为官方原版连接的库在国外(http://downloads.openwrt.org/),连接速度较慢,使用Luci界面进行操作时,更新过程中是否有错误,以及何时完成更新,均不可见。而使用SSH连接后,用命令行的方式进行更新及软件包的安装比较直观。(国内有很多openwrt.org的镜像,实际使用下来效果不是很好,有的镜像网站访问较快,但好像同步的时间间隔较长,导致软件包的版本和官方版本有些区别)
软件包列表更新指令为:
opkg update
注意:执行opkg update的时候如果出现错误,可运行指令:
rm -f/var/lock/opkg.lock
后,再执行
opkg update
2.安装或卸载软件包(或插件)
更新软件包列表后,选择“System”-“Software”菜单,在“Download and install package”文本框中输入要安装的软件包名称后,按回车键或点击“...”按钮,如果只知道软件包名称的一部分,可在“Filter”文本框中输入相应信息,在过滤后的软件包列表中选择需要的软件包进行安装。
建议使用SSH访问路由器后,使用命令行方式进行软件包的安装。
软件包安装指令为:
opkg install xxxx
软件包卸载指令为:
opkg remove xxxx
3.更改luci界面为中文并设置时区
(1)安装软件包:luci-i18n-base-zh-cn和luci-i18n-firewall-zh-cn
(2)选择“System”-“System”菜单,进入“Language and Styles”选项卡,在“Language”下拉列表中选择“中文(Chinese)”选项。
(3)选择“系统”-“系统”菜单,进入“常规设置”选项卡,在“时区”下拉列表中选择“Asia/Shanghai”选项,单击下方的“Save & Apply”按钮,等待操作执行完毕。
(4)关闭luci界面,并再次进入即可看到中文界面。
4.双线接入
(1)安装软件包:luci-i18n-mwan3-zh-cn
(2)选择“网络”-“接口”菜单,进入“接口”页面。
(3)删除除“LAN”之外的其他接口,单击右下方的“保存并应用”按钮。
(4)选择“网络”-“交换机”菜单,进入“交换机”页面,并按照下图增加一个ID为3的VLAN,单击右下方的“保存并应用”按钮。
(5)再次选择“网络”-“接口”菜单,进入“接口”页面,单击“添加新接口”按钮,进入“添加新接口”页面。
(6)在“协议”下拉框中选择“PPPoE”,名称编辑框中输入第一个连接的名称(这里取WAN),“接口”下拉列表中选择“eth0.2”,单击“创建接口”按钮。
(7)在出现的“接口>>WAN”页面中按照如下图所示进行配置(WAN接口这里配置了移动宽带,请忽略“状态”栏中的信息),其中用户名和密码编辑框中,分别输入第一条线路的宽带账号和密码。设置完成后,单击“保存”按钮。
(8)再次选择“网络”-“接口”菜单,进入“接口”页面,单击“添加新接口”按钮,进入“添加新接口”页面。
(9)在“协议”下拉框中选择“PPPoE”,名称编辑框中输入第二个连接的名称(这里取WAN1),“接口”下拉列表中选择“eth0.3”,单击“创建接口”按钮。
(10)在出现的“接口>>WAN1”页面中按照如下图所示进行配置(WAN1接口这里配置了长城宽带,请忽略“状态”栏中的信息),其中用户名和密码编辑框中,分别输入第二条线路的宽带账号和密码。设置完成后,单击“保存”按钮。
(11)在“接口”页面分别单击“WAN”和“WAN1”接口对应的“编辑”按钮,在出现的配置页面中选择“防火墙”选项卡,在“创建/分配防火墙区域”下拉列表中均选择如下图所示选项,并单击“保存”按钮。
(12)返回“接口”页面后,单击“全局网络选项”选项卡,删除“IPv6 ULA 前缀”编辑框中的内容,单击“保存并应用”按钮,等待操作执行完毕。
(13)此时“接口”页面会显示如下图的接口信息,如果WAN口对应的位置有IP地址显示,则证明拨号成功了。如果没有对应IP地址显示,则拨号不成功,可以选择点击“重启”按钮尝试再次拨号。如果运营商开通了IPv6服务且光猫设置正确,则会在有IPv6的接口上多增加一个“虚拟动态接口”,如图中“WAN_6”所示。
注:不知道是什么原因,我的长城宽带基本上一拨就能成功,移动宽带拨号有时也是一拨就能成功,但很多时候需要大概3分钟,所以 请耐心等待一下看。
(14)在“接口”页面单击“LAN”接口对应的“编辑”按钮,按照如下图中所示进行配置,单击“保存并应用”按钮,等待操作执行完毕。
(15)选择“网络”-“负载均衡”菜单,进入“MWAN - 接口”页面,删除全部接口。
(16)在左下角“添加”按钮旁边的编辑框中输入接口名称后,单击“添加”按钮,添加相应的MWAN接口(名称要与接口列表中的名称对应,这里以WAN或WAN1为例)。
(17)在出现的“MWAN接口配置-WAN”页面上,勾选“已启用”选择框,在“跟踪的主机或IP地址”中增加检查地址(MWAN会通过 ping 此主机或 IP 地址来确定链路是否在线,具体参数可在该页面的下部进行设置)。在添加IP地址前,最好先确认一下是否能ping通,以免出现链路在线但ping不同设置的地址,MWAN判断为离线的情况。该页面的其他参数我使用了默认参数,单击“保存”按钮。
(18)按照第(17)步骤设置“MWAN接口配置-WAN1”页面上的参数,单击“保存”按钮,如果配置正确的话,在“MWAN-接口”页面上显示的列表中,每条链路对应的跃点数将与“接口>>WAN”/“接口>>WAN1”页面上对应的“使用网关跃点”设置相同。
(19)选择“成员”选项卡,根据自己的需要设置每一个MWAN 接口的跃点数(即接口优先级)和所占比重,单击“保存”按钮。因为我主要使用移动宽带,所以将移动宽带对应的跃点数设置为“1”,权重设置为“5”,而长城宽带作为备用链路,所以将其跃点数设置为“2”,权重设置为“1”。
(20)选择“策略”选项卡,将在“成员”中设置的两个成员设置为一组策略,单击“保存并应用”按钮。在一组策略中,MWAN会根据如下方式进行操作:
a.拥有较低跃点数的成员将会被优先使用
b.拥有相同跃点数的成员把流量进行负载均衡
c.进行负载均衡的成员之间拥有较高比重的成员将会被分配到更多流量
(21)由于移动宽带有IPv6而长城宽带没有IPv6,因此上述负载均衡仅对IPv4进行了设置,这样有可能导致路由器 连接的终端设备IPv6无法使用,所以需要将MWAN的脚本文件“/lib/mwan3/mwan3.sh”手动进行如下修改:
找到内容
IPT6="/usr/sbin/ip6tables -t mangle-w"
将该行注释掉后再加上或者直接改为
IPT6="/bin/true"。
(22)重启路由器,即可完成双线接入。在重启之前应确保页面的右上角无"未保存的配置"提示。
注:本文中的MWAN设置比较简单,因为只需要实现“以移动宽带为主,移动长城双线接入互为备份”的简单目的。如果大家需要更多功能,互联网上有很多教程,请自行搜索。
5.IPv6 DDNS
经过对比多个IPv6 DDNS服务提供商,我最终使用的是dynv6.com,个人感觉有几个特点:
完全免费;
简单易用;
速度还行;
OpenWrt的“DDNS 服务提供商”列表中包含。
具体如何申请,这里不再赘述,大家可自行搜索完成。下面言归正传,介绍一下dynv6.com 的IPv6 DDNS在OpenWrt中如何设置。
(1)安装软件包:“luci-i18n-ddns-zh-cn”。
(2)选择“服务”-“动态DNS”菜单,进入“动态 DNS-概览”页面。有时会出现错误页面,一般退出登录后,再尝试一次就好了。(不知道是19.07版本的问题,还是newifi d2固件的问题,亦或者是这个版本软件包的问题,以前的18.06版本的软路由从没出现过这种情况)
(3)单击“myddns_ipv6”对应的“编辑”按钮,在“详情: myddns_ipv6”-“基础设置”页面中按照下图进行设置。“域名”编辑框中输入申请的DDNS域名,“密码”编辑框中输入token。(相应信息可以登录dynv6.com后,在域名对应的“Instructions”中找到)
(4)切换至“高级设置”选项卡,按照如下图所示参数设置“IP地址来源”和“接口”选项。
(5)切换至“计时器设定”选项卡,按照自己的需求设置参数,也可使用系统默认参数,单击“保存并应用”按钮。我设置了检查时间周期为“10分钟”,强制更新的周期为“30分钟”。
(6)此时转至“概览”页面,可以看到名称为“myddns_ipv6”的配置项已经启动,如下图所示。如果未启动,可以勾选对应的“已启用”选择框,并单击“启动”按钮。
(7)选择“网络”-“防火墙”菜单,在“防火墙”页面中,切换至“通信规则”选项卡,单击左下方的“添加”按钮,在弹出的“防火墙-通信规则-未命名规则”页面中进行如下图所示设置。
(8)切换至“高级设置”选项卡,在“限制地址”下拉列表中选择“仅IPv6”选项。单击“保存”按钮,在“防火墙-通信规则”页面上,单击“保存并应用”按钮。
(9)此时,使用具有IPv6地址的终端(如手机),打开浏览器并在地址栏中输入你的域名,就可以打开Luci管理界面,其效果与输入“192.168.1.1”的效果相同。
注:也许有的地区运营商封掉80端口,或者你觉得80端口不安全,没关系,请移步本文章的“6.更改访问端口”部分。
6.更改访问端口
一方面运营商可能会封掉一部分常用端口如80,21等,另一方面对于我们个人用户来讲在安全防范措施有限的情况下,如果必须保持某些端口打开,那么更改常用服务的端口号不失是一种低成本的提高安全性的措施。
(1)更改SSH端口
选择“系统”-“管理权”菜单,切换至“SSH访问”选项卡,在“端口”编辑框中输入自己所需的端口即可。(默认:22)
(2)更改Web端口
a.使用SSH工具登录路由器;
b.输入“vi /etc/config/uhttpd”命令,使用vi编辑器,编辑uhttpd文件;
c.修改“list listen_http 0.0.0.0:80”和“list listen_http [::]:80”中的80为指定端口号,保存退出;
d.按照“5.IPv6 DDNS”部分的第(7)-(8)步进行操作,打开防火墙相应端口;
e.此时通过“动态域名:指定端口”即可访问Luci管理页面。
7.IPv4设备的远程访问
如何访问家庭局域网中存在只能使用IPv4的设备呢?(比如主路由器下有一个西数的My Cloud存储设备(192.168.1.10),该设备不支持IPv6,但现在又希望远程访问其管理页面进行配置)可以通过以下步骤进行操作。
(1)安装软件包:“socat”和“coreutils-nohup”。
(2)选择“系统”-“启动项”菜单,切换至“本地启动脚本”选项卡。
(3)在“exit 0”之前插入如下启动脚本,并单击“保存”按钮。
Sleep 120
nohup socat TCP6-LISTEN:8110,reuseaddr,fork TCP4:192.168.1.10:80&
nohup socat UDP6-LISTEN:8110,reuseaddr,fork UDP4:192.168.1.10:80&
注:nohup的作用是让指令在后台运行,如果不加nohup,则在命令支持后台运行的情况下其会正确执行,如果不支持后台运行,则该命令不会运行。
Sleep 120 指令是防止socat命令运行太早,系统还未启动完成,不具备运行条件。
(4)按照“5.IPv6 DDNS”部分的第(7)-(8)步进行操作,打开防火墙8110端口;
(5)重启路由器后即可通过“动态域名:8110”访问IP地址为192.168.1.10的My Cloud设备。
(6)如果不想立即重启路由器,可以通过SSH连接路由器,在命令行中输入以下指令完成操作。(该操作成功后,如果路由器重启,设置将不起作用)
socat TCP6-LISTEN:8110,reuseaddr,fork TCP4:192.168.1.10:80&
socat UDP6-LISTEN:8110,reuseaddr,fork UDP4:192.168.1.10:80&
8.USB设备挂载及网络共享
在使用OpenWrt时,可能会用到简单的下载功能,通过USB端口接入的USB存储设备扩展存储空间成为必须的选择。本部分将介绍如何实现USB存储设备的挂载和网络共享。
(1)按照次序依次安装如下软件包:
//USB
kmod-usb-core #USB核心
kmod-usb-ohci #USB 1.0
kmod-usb-uhci #USB 1.1
kmod-usb-storage
kmod-usb-storage-extras
kmod-usb2 #USB 2.0
//文件系统
kmod-fs-ext4 #ext4文件系统支持
kmod-fs-vfat # FAT16 / FAT32文件系统支持
ntfs-3g #NTFS文件系统支持
//挂载
mount-utils #卸载工具
block-mount #挂载工具
//磁盘管理
fdisk
注意:“kmod-fs-ntfs”为NTFS只读文件系统支持内核模块,如果已经安装了该软件包,必须要卸载,否则在写NTFS磁盘文件时会报错。一定要安装“ntfs-3g”软件包,该软件包为NTFS可写文件系统支持包。此外“USB3.0”貌似已经内置在固件中了。
(2)在USB端口插入USB存储设备,选择“系统”-“挂载点”菜单,在“挂载点”页面中找到“挂载点”分组,并单击对应的“添加”按钮。此时会出现“挂载点-存储区”页面
(3)在“UUID”下拉列表中选择自己插入的设备,在“挂载点”下拉列表中选择该设备的挂载目录,可以在“自定义”编辑框中输入自己所需的目录。勾选“已启用”选择框,单击“保存”按钮。
(4)此时在“挂载点”页面中的“已挂载的文件系统”中会显示刚刚挂载的设备信息,单击该页面下方的“保存并应用”按钮,完成操作。
(5)安装软件包“luci-i18n-samba-zh-cn”。
(6)选择“服务”-“网络共享”菜单,在“网络共享”页面中进行自己所需设置,我的设置如下图所示,其中“路径”部分使用的挂载点的根目录,表示共享该USB存储设备的根目录。
9.简单的远程下载(Aria2)
OpenWrt的下载工具用的比较多的是Transmission和Aria2,我比较了一下,个人还是倾向于使用Aria2,因此以Aria2为例来说明简单远程下载的配置。
(1)安装软件包:“luci-i18n-aria2-zh-cn”和“webui-aria2”,OpenWrt会自动安装其依赖的软件包“aria2”、“luci-app-aria2”。
(2)选择“服务”-“Aria2”菜单,在“Aria2-设置”页面中的“基本选项”部分按照下图进行设置,单击“保存并应用”按钮。
注意:“配置文件目录”编辑框中的内容一定要将默认目录更改为一个非临时文件夹路径,否则路由器重启后,已下载和正在下下载的任务会丢失。
(3)切换至“RPC”选项卡,可以更改Aria2的端口号,我使用的是默认端口号。
(4)单击“Aria2-设置”页面中的“WebUI-Aria2”按钮,可以打开“Aria2 WebUI”页面,如果连接成功,会提示“通过RPC连接到Aria2成功……”信息。
上述设置后,在家庭局域网中Aria2就可以使用了,但通过IPv6远程访问还有一点问题,还需要再进行以下操作。
(5)按照“7.IPv4设备的远程访问”部分介绍的方法,增加一个对应“192.168.1.1:6800”的外部端口“8168”。
(6)在“Aria2 WebUI”页面中选择“设置”-“连接设置”菜单,在“连接设置”页面中,“端口”编辑框输入“8168”,“主机”编辑框输入IPv6动态域名,单击“保存连接配置”按钮。
(7)此时使用具有IPv6地址的终端,可以远程访问“Aria2 WebUI”页面,对下载进行管理了。
八、总结
通过上面的设置,OpenWrt已经基本满足了第一部分描述的功能需求,一般家用也足够了,短期内应该不会再折腾了。其他一些诸如“科学上网”、“去广告”之类的功能,因为我没有太强烈的需求,也就没有去关注。
ToogL
校验提示文案
ksww1986
校验提示文案
[已注销]
校验提示文案
bearyue
校验提示文案
70ff
校验提示文案
三明治爹妈
校验提示文案
昊昊汤汤
校验提示文案
就一神经病
校验提示文案
丸瓜督
校验提示文案
woodyzz
校验提示文案
maxbbs
校验提示文案
平克-佛洛依德
校验提示文案
值友2701094715
校验提示文案
davy990
校验提示文案
Burukku
校验提示文案
lyzhu
校验提示文案
沐萦琊
校验提示文案
值友9012220761
校验提示文案
值友7303471278
校验提示文案
值友7750054115
校验提示文案
Narx
校验提示文案
nikdu
校验提示文案
heartrick
校验提示文案
值友1429169673
校验提示文案
值友7704614480
校验提示文案
值友7750054115
校验提示文案
值友7303471278
校验提示文案
沐萦琊
校验提示文案
值友9012220761
校验提示文案
lyzhu
校验提示文案
Burukku
校验提示文案
davy990
校验提示文案
值友2701094715
校验提示文案
平克-佛洛依德
校验提示文案
maxbbs
校验提示文案
恶意韭菜
校验提示文案
woodyzz
校验提示文案
丸瓜督
校验提示文案
就一神经病
校验提示文案
昊昊汤汤
校验提示文案