[20190609更新ipv6双栈]100000pps路由ERL3,路由器折腾第二季

  • s
    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-454GNDGND1DB9(蓝)
    RJ-453TxDRxD2DB9(绿白)
    RJ-456RxDTxD3DB9(绿)
    RJ-457DSRDTR4DB9(棕白)
    RJ-455GNDGND5DB9(蓝白)
    RJ-452DTRDSR6DB9(橙)
    RJ-458CTSRTS7DB9(棕)
    RJ-451RTSCTS8DB9(橙白)


    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:$password@ipv4.tunnelbroker.net/nic/update?hostname=$tunnel_id --silent > /dev/null 2>&1
    调试时,在root权限下直接运行curl https://$username:$password@ipv4.tunnelbroker.net/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=mailtoASSWORD@ipv4.tunnelbroker.net]PASSWORD@ipv4.tunnelbroker.net[/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
  • j
    jckimi
    价格,链接?
  • 真电工
    回复10#jckimi
    价格找马云,我买了一个二手,好像看到数不清买了一个。反正便宜
  • 真电工
    回复9#sngr
    这里也有个测试,方法不太规范,可以做参考http://blog.linitx.com/ubiquiti-edgerouter-performance-testing/
  • j
    jckimi
    回复12#真电工


    你买的链接来看看呢?
  • l
    loopback
    atom+intel网卡就跑的不错了。
  • 真电工
    回复14#jckimi

    已pm,声明:我不是卖家,也不是卖家朋友,请各位朋友自行判断
  • l
    lwd2136
    楼主如果折腾成功我跟入学习
  • 真电工
    回复16#kirito
    呵呵,freebsd活的很有立场,他们绝对不会和我们这些爱好者让步
  • n
    nerolee
    这个真的是只有真电工和喜欢折腾的玩。。。。
    非电工需要这效果,在股市上或者其他地方折腾后,拿2叠票子砸过去即可
  • h
    heavenbow
    这东西挺好用。
    不过我是给公司用,就求速度快稳定,没lz这么多需求
  • K
    Kindle-KWP
    太高端了…
  • l
    loopback
    PHY不是谁都能做的,realtek是taiwan的,用的方案家用没问题,商用一上流量时不时有问题。
  • a
    antliu
    mark一下,家里的vigor用了5年了,改换了
  • 8
    888837
    mark一下..
  • l
    lk999
    mark 学习一下
  • 数不清
    回复14#jckimi


    TB搜型号关键字,300一个。
  • c
    cookbook
    厉害 看后面的需要了
  • 数不清
    设备到手才发现外壳原来是塑料,之前一直以为是金属壳

    通电试用了一下,发热的确不小,设备使用界面还算是直观,基本配置不复杂。

    测速一张:

    speedtest.png
  • 真电工
    回复32#数不清
    第一版是塑料外壳,第二版才是金属,但是里面都一样
    你这网速是在运营商?
  • 数不清
    回复33#真电工


    这温度还能接受,先用着看
    电信光纤入户,百兆下载,五兆上传。
  • j
    jejer
    mark 好玩 iOS fly ~
  • j
    jejer
    v5 iOS fly ~
  • n
    njim
    pm个链接来折腾一下
  • w
    wife811
    回复11#真电工


    这个只能跑在x86上,只为x86活着
  • 数不清
    hk.png

    用户测试:
    9xx Mbps Download / CPU 5%
  • 数不清
  • 数不清
    FreeBSD 10.0 on Ubiquiti EdgeRouter Lite

    http://rtfm.net/FreeBSD/ERL/
  • l
    lwd2136
    回复32#数不清


    这个是建议买还是不买呢
  • 数不清
    回复43#lwd2136


    以当前价位来说值得买,不折腾也够用,要能折腾更好。
  • F
    FanZhen2002
    回复42#数不清


    这个好,看样子也要搞一个玩玩。
  • 真电工
    这个就是软路由啊,只不过有硬件加速的mips平台
  • m
    mewolf
    回复9#sngr


    我有个ar28楼主有兴趣收了么?
  • s
    shadow12
    sophos utm home version 路过