Files
my-vault/00_Inbox/Clippings/2023/10/UBNT-EdgeRouter-XImplementationPPPoE-IPv6-Minad.md
T

95 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
page-title: "用UBNT EdgeRouter X实现PPPoE拨号与IPv6 - Minaduki's Blog"
url: https://www.minaduki.cn/2022/04/16/ubnt-edgerouter-x-pppoe-and-ipv6/
date: "2023-10-17 20:37:41"
---
## Step 0:前言
疫情原因,学校开始了可能是近两年最严格的一次封校,进不了学校就只好在家里看看实验室文档,玩玩电脑,效率自然是不高的,于是就想着整点活干干,虽然和学校的事情并没什么相干,但是一来积累点经验,二来也可以减轻摸鱼的罪恶感。
一来二去,还是盯上了出租屋的网络,本来的网络环境也就一般,入户一个PT622电信光猫,光猫拨号,然后由于光猫没有WiFi房东还接了一个小米路由器4Q,这下不仅有复古风格的全百兆接口,更有现代乃至后现代风格的NAT叠叠乐拓扑,属实难绷。
不过话又说回来,其实网络本来不一定就要用顶级的配置,我始终觉得,符合需求并具有一定的拓展空间,就是最佳的方案,所以我现在若是像去年复习的时候一样每天到家玩会手机就睡,这套方案倒也没什么大不了的,不是自家的房子也不用考虑什么拓展;但是现在家里有了两个电脑,这百兆的内网带宽就有些捉襟见肘了,剪个视频传素材都能卡,再加上双重NAT导致和无耻联机都费劲,所以确实应该稍微改造一下。
正好手头有前几天从臧老板坑蒙拐骗来的一台UBNT EdgeRouter X,久仰优倍快的大名,今天就来配置看看。
## Step 1:光猫改桥接
鉴于寒假里的经验,找电信师傅肯定是行不通的,况且这也不是我自己的宽带,所以最好还是留下能够恢复如初的口子。
PT622这款光猫还是比较古老的,在论坛上很快就找到了漏洞,可以用备份配置文件的方式破解:
在用普通用户登录光猫后,打开`/cgi-bin/upgrade.asp`页面,点击页面中的ROMFILE BACKUP按钮,在下载的`romfile.cfg`文件里,搜索`web_passwd`字段,就能够找到telecomadmin的超级密码。
> 家里光猫的passwd文件还在紧锣密鼓的破解中,但是显然用CPU爆破的话性能不够,目前在尝试用HashCat调用CUDA使用恰当的正则表达式猜测,如果后续有结果会更新。
登陆光猫后,定位到网络->宽带设置->Internet设置,连接名称选`4_INTERNET_B_VID_`,将模式改为Bridge,其他不用管,确认即可。如果有必要,建议先备份宽带的用户名和密码。
> 参考:[再发一次友华PT622光猫里面的密码,方便外面的人查找](https://www.right.com.cn/FORUM/forum.php?mod=viewthread&tid=934706#pid9110653 "再发一次友华PT622光猫里面的密码,方便外面的人查找")
## Step 2:配置主路由
UBNT的设备确实比较高端,似乎还更鼓励用户通过命令行的方式对设备进行配置,不过好在今天的配置项足够简单,用Web UI就可以完成。
对于PPPoE这样的基本操作,UBNT的EdgeOS提供了几个Wizard,可以配置基本的组网方式,包括多个LAN或者链路聚合等情况,普通上网只需要选择Basic Setup,选择PPPoE并输入账号密码即可。为了使用IPv6,所以我这里选上了Enable DHCPv6 Prefix Delegation,并设置前缀长度为60,然后完成向导并重启路由器。
重启后,还需要修改路由器的配置树,启用`interfaces / ethernet / eth0 / pppoe / 0 / ipv6 / address / autoconf``interfaces / ethernet / eth0 / pppoe / 0 / ipv6 / enable`两个条目,即点击树中该项目右侧的加号,然后应用修改,稍等片刻就能获取到IPv6地址了。
> 参考:[七海网络教学 1: EdgeRouter 启用IPv6](https://www.bilibili.com/video/av90572075 "七海网络教学 1: EdgeRouter 启用IPv6")
## Step 3:配置UPnP和硬件加速
使用EdgeOS的UPnP Wizard,添加一个Internal Interface为switch0External Interface为pppoe0的UPnP转发,即可完成UPnP的配置。
不过根据一些文章的说法,UPnP服务并不安全,更推荐的做法是使用更为现代的UPnP2,EdgeRouter支持UPnP2,但是仅能通过CLI开启。
> UPnP2就很安全吗?
> 其实也未必,有不少研究表示UPnP2也有可以利用的漏洞。事实上,在引入任何“自动”的工具之前,都应该仔细权衡利弊,因为一旦选择了便利性,就必然会牺牲安全作为代价,风险控制和损害管制是设计一个系统时不可缺少的细节。
首先,删除已有的UPnP配置项:
```
configure
delete service upnp
commit
save
exit
```
然后,配置UPnP2
```
configure
set service upnp2 listen-on switch0
set service upnp2 wan pppoe0
set service upnp2 secure-mode enable
set service upnp2 nat-pmp enable
commit
save
exit
```
重启后,可以使用`show upnp2 rules`查看配置结果。
> Web UI自带的Web Shell登录进去要卡一段时间,是正常现象,不是出问题了。
> 而且这玩意儿重启好慢啊,可能是因为MIPS架构的吧。
>
> 参考:[UPnP with EdgeRouter: Dont do it! · GitHub](https://gist.github.com/plembo/c7f596ce6e690c6c022a6153c674f471 "UPnP with EdgeRouter: Don't do it! · GitHub")
> [Ubiquiti EdgeRouter 配置 UPnP2 啟用方法](https://www.sakamoto.blog/ubiquiti-edgerouter-upnp2/ "Ubiquiti EdgeRouter 配置 UPnP2 啟用方法")
另外,UBNT的设备内置了用于转发加速的硬件,按照网友的测试,如果使用软件转发仅有百兆水平,而开启硬件加速就可以跑满。但硬件加速并不是默认开启的,需要手动通过命令行启用:
```
configure
set system offload hwnat enable
commit
save
```
按照官方推荐,启用后最好重启,可以使用`show ubnt offload`命令查看硬件加速是否加载成功。
> 参考:[EdgeMax 如何开启 IP offload 进行硬件加速](https://help.ui.com.cn/articles/115000117142/ "EdgeMax - 如何开启 IP offload 进行硬件加速")
> [EdgeRouter拨号200M宽带一定务必打开PPPoE offload](https://www.chiphell.com/thread-1233957-1-1.html "EdgeRouter拨号200M宽带一定务必打开PPPoE offload")
## Step -1:尾声
其实这篇文章的篇幅实在是不太长,但是为了记录经验,所以还是写了下来。而且这个篇幅不应该作为独立的一篇,更适合作为Operation Reloaded的一个额外的部分附在最后,不过想了想,我还是把它单独发了,一方面是久了没写东西,需要写点“要发出来的”文章熟悉熟悉感觉,而不是写一堆只有自己看得懂的半吊子流水账屯在草稿箱里,另一方面,我欠的债也属实有点多,除了一直在规划的Operation Rebirth记录和百T纪念之外,社团里我还欠了一篇远程访问的推送没写(欠了一年多了),把这篇发出来,也算是给自己提供下继续的动力吧。