Unifi Network定时重连PPPoE

我家里的网络使用了 Unifi 系列的全套产品进行搭建,到目前为止已经无故障运转超过了两年时间,这期间无论是硬件的性能和稳定性,还是软件的易用性,整体都是非常令人满意的。

网络拓扑
网络拓扑结构

然而 LAN 内部建设得再好,也禁不住上游网络的乱折腾,运营商的光纤接入服务里,貌似会有一个来自局端的超时重启规则,现象就是如果你长时间保持在线,如果超过一个时间阈值(各地各家运营商断网时长不等),你的WAN网络就会被断开一小会,然后重新分配 IP 地址,如果恰好你正在愉快的玩游戏或者开视频会,那就会相当令人不爽。

遇到这个问题的网友非常多(例1234 …… 更多案例可自行搜索:运营商定时断网),据说是因为 IPv4 地址池不够用,电信运营商通过这种手段,定期释放 IP,也有地区客服解释说是为了安全原因等等。

解决这个问题的方法有几种:

第一种是交钱,去找运营商申请固定公网 IP 的服务,这玩意死贵且不说,还颇有一种向恶势力低头交保护费的感觉。

第二种是动嘴,打电话投诉,运营商不处理就投诉到工信部,但据网友们的处理结果来看,有成功也有失败,取决于地方土政策。

第三种是动手,我们变被动为主动,配置一下自己家的网络服务,使其在每天凌晨的空闲时段,通过 PPPoE 自动断开并重新连接,刷新这个计时器即可。

今天就以我的设备为例,提供个方法:

一,打开你的命令行终端,SSH 连接到网关地址,如:
ssh admin@192.168.1.1
然后输入ssh密码即可,注意,SSH连接的网关地址,不是控制器地址。
如果在 SSH 连接设备这方面有疑问,可以参考Unifi的官方说明:
1,Unifi – 网络入门 – 如何使用 SSH 建立连接
2,UniFi – 控制器、 Cloud key 和其他设备的帐户和密码

二,创建一个脚本,用于断开/重连 PPPoE,如下:
切换目录:
cd /config/scripts
并创建脚本文件:
sudo vim pppoe-redial.sh
输入以下内容:

#!/bin/vbash
run=/opt/vyatta/bin/vyatta-op-cmd-wrapper
myip=`ip -f inet addr | egrep pppoe | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} '`
echo "Current IP address is $myip"
$run disconnect interface pppoe0
echo "Wait 10 seconds..."
sleep 10
$run connect interface pppoe0
sleep 10
newip=`ip -f inet addr | egrep pppoe | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} '`
echo "The IP address has been updated to $newip"
echo "All done."

最后按 {Esc} 输入 :wq 保存退出 vim 即可。

三,给刚才创建的脚本文件添加可执行属性
sudo chmod +x pppoe-redial.sh
测试一下是否正常运行:
./pppoe-redial.sh
正常的话,应该输出类似如下内容:

Current IP address is 123.123.123.123
Bringing interface pppoe0 down…
Wait 10 seconds…
Bringing interface pppoe0 up…
The IP address has been updated to 234.234.234.234
All done.

四,设置计划任务,每天凌晨 4:00 自动执行脚本
依次输入以下命令并等待其完成:

configure
set system task-scheduler task pppoe-redial crontab-spec '00 4 * * *'
set system task-scheduler task pppoe-redial executable path /config/scripts/pppoe-redial.sh
commit
save
exit

如果你想改成别的时间周期也可以,具体可以参考 Crontab 定时任务

五,如果将来不需要了,可以使用以下命令删除这个计划任务:

configure
delete system task-scheduler task pppoe-redial
commit
save
exit

至此,全部操作完成。

# Unifi 不重启设备定时断开自动重新连接 PPPoE 更换 IP 地址

参考链接:
1,EdgeMax – PPPoE 自动断线重播
2,ER-X PPPOE拨号每隔96小时定时断线重拨
3,UniFi – USW-Leaf CLI 命令对比
4,UniFi 企业无线

留下评论

电子邮件地址不会被公开。 必填项已用*标注