[20190609更新ipv6双栈]100000pps路由ERL3,路由器折腾第二季
- shangyu7真电工
- 真电工这个路由器爽点在于:
NAT速度超牛;
基于debian(vyatta core 6.3);
类似cisco的console界面(带console口,支持tab自动完成);
价格超低;
没有无线(你没看错,更灵活)
还有一个聊胜于无的web config 界面可以自己开发;
目前已知不爽地方:
1.41版本固件才有web config wizard;
无风扇,开机久了发热量较大;//经过夏天高温考验,没问题
文档不丰富,至少比ros少多了;//仍然存在
二手货不带电源;存储才2g;//不是问题
没有看到支持机架式安装;//觉得稍微遗憾
debian包管理比较糟糕;//目前没遇到问题
学习曲线比较陡峭;//熟悉了还好
界面不友好;//仍然存在,家用不是特别大的问题
没有像ros一样的winbox管理端口(ros的winbox可以完成95%的设置工作,是我用过最好用的管理软件)
适用人群
有一定网络基础及linux基础,并且不满足于普通家用路由器的禁锢,想自己定义路由器的功能。比如dnscrypt,ROS上没有支持,这个路由同样也不支持,但你可以通过自己或别人编译支持,由于debian社区的活跃性及深厚积累,这种支持比openwrt应该更广泛。
这种做法优点是灵活度增加了,但同时稳定性可能下降。相比之下,ROS优点之一我认为就是稳定。
拆解图
http://www.smallnetbuilder.com/l ... iti-edgerouter-lite,网友数不清高清大图看这里https://www.hi-pda.com/forum/redi ... 002830&ptid=1436530]77#,
从做工看出还是比较符合低价定位的,电路板比较简洁甚至节省用料,有3个网络变压器还算良心,cpu用一大铝块辅助散热,没有看到电解电容器。cpu是 Cavium OCTEON Plus dual-core CN5020,以太网PHY芯片Atheros AR8035(3片)。亮点:存储用usb,在图的左上角,将来可能扩展成更大的存储。不知道是不是类似openwrt的启动方式?
性能
从第二页的测试来看,结果比asus RT-AC66U稍逊一筹。成绩和价格定位是相吻合的。
这玩意成绩有多厉害呢,比如512byte包测试,VIA C7 1.5G大概成绩23Kpps,它成绩705Kpps,是C7的30倍。
网友数不清的实际性能测试:https://www.hi-pda.com/forum/redi ... 569943&ptid=1436530]40#[
稳定性
下面评论看比较鼓舞人心:25Mb/s下载速度, 开机时间达到311天
发热量
综合美国亚马逊等网站的评论,对稳定性还是比较嘉许的。发热量也是比较明显的,这点比不上routerboard rb951G
[20150104补充],用红外测温仪测量,室温18摄氏度,路由器41.2摄氏度,无线ap 28摄氏度,交换机22摄氏度。建议动手能力强的参照数不清教程换散热器
----------------------------------------------------------------------------------
DIY一根Console线
路由支持console口,要2个东西:usb转串口,console线。
----------------------------------------------------------------------------------
理论准备
线序业界标准cisco:
http://www.cisco.com/en/US/docs/ ... pend.html#wp1011026
实例:
http://blog.sina.com.cn/s/blog_50516ddc0100c21c.html
----------------------------------------------------------------------------------
实践:
console线弄个网线加串口,电烙铁热缩管伺候,线序如下RJ-45 4 GND GND 1 DB9 (蓝) RJ-45 3 TxD RxD 2 DB9 (绿白) RJ-45 6 RxD TxD 3 DB9 (绿) RJ-45 7 DSR DTR 4 DB9 (棕白) RJ-45 5 GND GND 5 DB9 (蓝白) RJ-45 2 DTR DSR 6 DB9 (橙) RJ-45 8 CTS RTS 7 DB9 (棕) RJ-45 1 RTS CTS 8 DB9 (橙白)
usb转串口必须FT232+MAX232方案,不求最好但求最好玩。找出已买的usb转串口,擦了一下灰,上路。
焊接搞定。实测工作正常。图片待续。成功!
----------------------------------------------------------------------------------
初印象
吐槽下申通,到现在三天了,广东到福建居然还没到。做console线,最近工作变动,可能无法一直折腾了。第四天,终于到货了。
第一感觉小巧(相对桌面交换机),按http://bbs.ubnt.com.cn/forum.php ... 8037&extra=page%3D1配置成功,不过把wan口调到了eth0,用网线连接调试的,web页面配置易用性不算好,经常要重启才能生效。更加坚定了在console口配置的决心。
[20150112]初始配置脚本可以看这里https://www.hi-pda.com/forum/redi ... 03&ptid=1436530
配置难易程度和routeros差了一个等级,routeros如果打100分,edgerouter我只能勉强打60分,不过如果不折腾随便用的话,确实不错。
今天又发现没有和routeros一样的web登陆认证上网,没有好用的acl控制黑白名单。
到手固件版本为1.5,下面的例子不加说明,均以此为例。新增:对1.6同样有效
----------------------------------------------------------------------------------
1.7版本已经内置支持changeip,这部分内容已经过时,本楼最后一段有最简实现方式,推荐。[原创]如何增加DDNS支持changeip
1.5版本不支持changeip ddns,找遍互联网也没看到如何增加,下面是教程
有小问题,介意的话不要做。问题:实际可以更新,show dns dynamic status正常,但是show dns changeip status命令出错。
1、给root用户增加密码
sudo passwd root yourpassword ,不推荐,会破坏vyatta的安全模型,我是因为喜欢winscp+ultraedit直接编辑文本,vyatta默认root没有密码,winscp无法登陆,才出此下策,建议大家用vi编辑。只要记住vi编辑dd删除行,i进入编辑,wq保存退出,q!不保存退出就可以通杀了。
2、到sourceforge下载最新的ddclient包,解压到任意路径(1.6版本不用这步)
3、winscp用root用户登录,把解压的包里ddclient(大小约130kb),拷贝到/usr/sbin/,然后sudo chmod 755 /usr/sbin/ddclient,更改权限。
4、编辑/opt/vyatta/sbin/目录下vyatta-dynamic-dns.pl,在约124行,增加一行:
case "changeip" {$service="changeip";}
5、然后进入下列路径
/opt/vyatta/share/vyatta-cfg/templates/service/dns/dynamic/interface/node.tag/service,编辑node.def,找到第5行和第18行,增加changeip,目的是让系统认这个service,编辑后是这样的:
service_array=(afraid dnspark dslreports dyndns easydns namecheap sitelutions zoneedit changeip)
----------------------------------------------------------------------------------------------------
上述2步的脚本版本
#!/bin/sh
#sed -i '/case "afraid" {$service="freedns";}/a\\ case "changeip" {$service="changeip";}' /opt/vyatta/sbin/vyatta-dynamic-dns.pl
#sed -i "s/array=(afraid dnspark dslreports dyndns easydns namecheap sitelutions zoneedit)/array=(afraid dnspark dslreports dyndns easydns namecheap sitelutions zoneedit changeip)/g" /opt/vyatta/share/vyatta-cfg/templates/service/dns/dynamic/interface/node.tag/service/node.def
6、修改/var/www/wizard/feature/.DDns,修改wizard-run第38行:slist="{\"options\":[\"afraid\",\"dnspark\",\"dyndns\",\"namecheap\",\"zoneedit\",\"dslreports\",\"changeip\",\"easydns\",\"sitelutions\"]}"
这样web界面直接可以配置changeip。
这步我写不出脚本,里面有特殊字符
7、用securecrt等ssh客户端登陆路由
输入conf,按tab回车,输入
set service dns dynamic interface pppoe1 service changeip host-name XXX.changeip.org
set service dns dynamic interface pppoe1 service changeip login yourusername
set service dns dynamic interface pppoe1 service changeip password yourpassword
commit
save
---------------------------------------------------------------------------
脚本:
#!/bin/bash
#add changeip count
run=/opt/vyatta/sbin/vyatta-cfg-cmd-wrapper
/opt/vyatta/sbin/vyatta-cfg-cmd-wrapper begin
$run set service dns dynamic interface pppoe1 service changeip host-name XXX.changeip.org
$run set service dns dynamic interface pppoe1 service changeip login yourusername
$run set service dns dynamic interface pppoe1 service changeip password yourpassword
$run commit
$run save
exit
8、在同一界面输入show dns dynamic status(show dns changeip status会得到Specified configuration path is not valid但是ping回应的ip就是路由器ip),输入exit.
9、输入sudo ifconfig -a,看到外网ip,7和8结果应该一致
(用http analyzer分析可以看到请求了https://192.168.1.1/api/edge/feature.json)
---------------------------------------------------------------------------------
20150109,最简更新changeip方法
1.6好像偶尔ddclient失效,用下面语句解决
#!/bin/bash
#本脚本从Eric Ste-Marie的脚本变种而来
#原脚本:http://www.changeip.com/clients/ste-marie.txt
USER=username
PASSWORD=password
/usr/bin/curl -k -u $USER:$PASSWORDhttps://www.changeip.com/update.asp?cmd=update\&set=1\&offline=0 2>&1
-----------------------------------------------------------------------------------
无法解析域名的解决方法,参考http://www.ttlsa.com/linux/curl-6-couldnt-resolve-host/
20150703更新
最大的原因可能是ipv6的dns排在第一位,影响了域名解析,把ipv6 dns 删除,然后sudo ip ro flush cache,重刷下路由缓存,过二十秒钟左右就可以解析了 - 真电工QOS参考:http://cyberparse.co.uk/2014/02/ ... -voip-applications/
set traffic-policy shaper DownStream description "DownStream QoS policy"
set traffic-policy shaper DownStream bandwidth 12000kbit
set traffic-policy shaper DownStream class 10 description "RTP"
set traffic-policy shaper DownStream class 10 bandwidth 25%
set traffic-policy shaper DownStream class 10 ceiling 100%
set traffic-policy shaper DownStream class 10 match VOIP-RTP ip dscp 46
set traffic-policy shaper DownStream class 20 description "SIP"
set traffic-policy shaper DownStream class 20 bandwidth 5%
set traffic-policy shaper DownStream class 20 ceiling 100%
set traffic-policy shaper DownStream class 20 match VOIP-SIP ip dscp 24
set traffic-policy shaper DownStream class 30 description "HTTP and HTTPS"
set traffic-policy shaper DownStream class 30 bandwidth 30%
set traffic-policy shaper DownStream class 30 ceiling 100%
set traffic-policy shaper DownStream class 30 match http ip protocol tcp
set traffic-policy shaper DownStream class 30 match http ip destination port 80
set traffic-policy shaper DownStream class 30 match https ip protocol tcp
set traffic-policy shaper DownStream class 30 match https ip destination port 443
set traffic-policy shaper DownStream class 40 description "dns query"
set traffic-policy shaper DownStream class 40 bandwidth 5%
set traffic-policy shaper DownStream class 40 ceiling 100%
set traffic-policy shaper DownStream class 40 match http ip protocol udp
set traffic-policy shaper DownStream class 40 match http ip destination port 53
set traffic-policy shaper DownStream default bandwidth 35%
set traffic-policy shaper DownStream default ceiling 100%
set traffic-policy shaper DownStream default queue-type fair-queue
set traffic-policy shaper UpStream description "UpStream QoS policy"
set traffic-policy shaper UpStream bandwidth 512kbit
set traffic-policy shaper UpStream class 10 description "RTP"
set traffic-policy shaper UpStream class 10 bandwidth 50%
set traffic-policy shaper UpStream class 10 ceiling 100%
set traffic-policy shaper UpStream class 10 match VOIP-RTP ip dscp 46
set traffic-policy shaper UpStream class 20 description "SIP"
set traffic-policy shaper UpStream class 20 bandwidth 10%
set traffic-policy shaper UpStream class 20 ceiling 100%
set traffic-policy shaper UpStream class 20 match VOIP-SIP ip dscp 24
set traffic-policy shaper UpStream class 30 description "HTTP and HTTPS"
set traffic-policy shaper UpStream class 30 bandwidth 30%
set traffic-policy shaper UpStream class 30 ceiling 100%
set traffic-policy shaper UpStream class 30 match http ip protocol tcp
set traffic-policy shaper UpStream class 30 match http ip destination port 80
set traffic-policy shaper UpStream class 30 match https ip protocol tcp
set traffic-policy shaper UpStream class 30 match https ip destination port 443
set traffic-policy shaper UpStream class 40 description "dns query"
set traffic-policy shaper UpStream class 40 bandwidth 5%
set traffic-policy shaper UpStream class 40 ceiling 100%
set traffic-policy shaper UpStream class 40 match http ip protocol udp
set traffic-policy shaper UpStream class 40 match http ip destination port 53
set traffic-policy shaper UpStream default bandwidth 35%
set traffic-policy shaper UpStream default ceiling 100%
set traffic-policy shaper UpStream default queue-type fair-queue
set interfaces ethernet eth2 traffic-policy out DownStream
set interfaces ethernet eth0 traffic-policy out UpStream
commit
save
--------------------------------------------------------
1.7版本新增了smartqos,这几天准备测试 - 真电工[20150705更新最简版本]wan口ip地址变动后he tunnel ipv6 更新
---------------------------------------------------------
直接参考这个:http://pastebin.com/9W6b2Pvr
脚本
#!/bin/sh
curl https://$username:$[email protected]/nic/update?hostname=$tunnel_id --silent > /dev/null 2>&1
调试时,在root权限下直接运行curl https://$username:$[email protected]/nic/update?hostname=$tunnel_id,看到good 200字眼就成了。
---------------------------------------------------------
---------------------------------------------------------
下面第一部分内容已经过时,但依然有一定参考意义。不想看直接跳过看本楼第二部分参考:http://community.ubnt.com/t5/Edg ... 4985/highlight/true,
http://www.excaliburtech.net/archives/198
http://onebadpixel.com/blog/2014 ... ing-a-tunnelbroker/
修正获得ip脚本参考:如何获得本机外网ip:http://www.if-not-true-then-false.com/2010/linux-get-ip-address/
用winscp在/config/scripts/下建立he-tunnel-update文件夹,进入/config/scripts/he-tunnel-update,把下面三个文件拷贝过来,权限设为755,注意名称按每段脚本上面,最后securecrt下运行
cd /config/scripts/he-tunnel-update
./tunnelip.sh
原版脚本有一段不对,还有一些不太完美,我锦上添花,修改了下
完整的代码:
---------------------------------------------------------
---------------tunnelip.sh-------------------------------
#!/bin/bash
#Tunnel ip change script, dragon2611 - A botch job I'm sure
#Define which one is the wan interface,get current directory
wan=pppoe1
currentdir=$(cd "$(dirname "$0""; pwd)
#first get the ip
# thanks tohttp://www.catonmat.net/blog/gol ... sses-from-ifconfig/
/sbin/ifconfig $wan | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}' > /config/wanip.txt
# based off of scripts posted by ubnt-stighttp://forum.ubnt.com/showthread.php?p=440833&posted=1#post440833
cd $currentdir
$currentdir/changetunip.sh
$currentdir/henet.sh
---------------------------------------------------------
------------------changetunip.sh-------------------------
#!/bin/vbash
new_ip=$(
source /opt/vyatta/etc/functions/script-template
configure
set interfaces tunnel tun0 local-ip $new_ip
commit
exit
)
---------------------------------------------------------
---------------------henet.sh----------------------------
#!/bin/bash
LOG="/tmp/hetunel.log"
USERNAME="111"
PASSWORD="aaa"
HE_TUNNELID="fff"
rm -f $LOG
curl https://$USERNAME:$[url=mailto[email protected]][email protected][/url]/ipv4_end.php?tid=$HE_TUNNELID
---------------------------------------------------------
运行结果:+OK: Tunnel endpoint updated to:
前面是在wan口获得ipv6地址,下面例子显示如何传到lan
https://forums.he.net/index.php?topic=1549.0
---------------------------------------------------------
DNSMASQ穿墙部分内容整合,直接跳到https://www.hi-pda.com/forum/redi ... 36&ptid=1436530 - jckimi价格,链接?
- 真电工回复10#jckimi
价格找马云,我买了一个二手,好像看到数不清买了一个。反正便宜 - 真电工
- jckimi
- loopbackatom+intel网卡就跑的不错了。
- 真电工
- lwd2136楼主如果折腾成功我跟入学习
- 真电工回复16#kirito
呵呵,freebsd活的很有立场,他们绝对不会和我们这些爱好者让步 - nerolee这个真的是只有真电工和喜欢折腾的玩。。。。
非电工需要这效果,在股市上或者其他地方折腾后,拿2叠票子砸过去即可 - heavenbow这东西挺好用。
不过我是给公司用,就求速度快稳定,没lz这么多需求 - Kindle-KWP太高端了…
- loopbackPHY不是谁都能做的,realtek是taiwan的,用的方案家用没问题,商用一上流量时不时有问题。
- antliumark一下,家里的vigor用了5年了,改换了
- 888837mark一下..
- lk999mark 学习一下
- 数不清
- cookbook厉害 看后面的需要了
- 数不清设备到手才发现外壳原来是塑料,之前一直以为是金属壳
通电试用了一下,发热的确不小,设备使用界面还算是直观,基本配置不复杂。
测速一张: - 真电工
- 数不清
- jejermark 好玩 iOS fly ~
- jejerv5 iOS fly ~
- njimpm个链接来折腾一下
- wife811
- 数不清
用户测试:
9xx Mbps Download / CPU 5% - 数不清
- 数不清
- lwd2136
- 数不清
- FanZhen2002
- 真电工这个就是软路由啊,只不过有硬件加速的mips平台
- mewolf
- shadow12sophos utm home version 路过