我们在客户位置有数十个处于活动状态的 Ubiquiti Edgerouter-X。它们负责每分钟 ping 一个 IP。这是通过 cronjob(使用 crontab -e 设置)完成的,只要固件未更新,就可以正常工作。
当固件更新到较新版本时,cronjobs 将“重置”为默认值。经过一番研究后,我发现我应该使用system task-schedulercronjob 来代替。所以我ping.sh在 中创建了一个文件/config/scripts/,将权限设置为0755并执行了chmod +x ping.sh. 这是文件的内容ping.sh(用于测试目的)
#!/bin/bash
echo "Ping Pong!"
echo "Ping Pong!!" >> result.txt
Run Code Online (Sandbox Code Playgroud)
当我手动执行脚本时,./ping.sh脚本工作正常,它回显Ping Pong!并Ping Pong!!写入result.txt. 当我尝试使用它执行脚本时,system task-scheduler它什么也不做。我尝试了 2 个任务计划程序配置并在以下之后重新启动了 Edgerouter commit; save;:
show system task-scheduler task
task ping-task {
crontab-spec "* * * * *"
executable {
path /config/scripts/ping.sh
}
}
Run Code Online (Sandbox Code Playgroud)
和 …
我的电脑有一个 VPN 正在运行,但我有一个 SSH 隧道将端口8000上的流量转发到它的路由器 (Ubiquiti Edgemax),我可以通过它路由流量以绕过 VPN。
我有一个服务在这台机器的两个端口上运行,9001并且9002需要能够从 Internet 获取传入连接。我已经为路由器设置了类似的 SSH 隧道。
当我从互联网端口扫描路由器的 IP 时,它说这些端口已关闭。当我查找文章时,人们关心的是在我实际上走另一条路时转发端口(例如,到我的客户端机器)。我想我需要打开9001和9002路由器本身的防火墙。
如何在 Ubiquiti Edgemax 上为这两个端口打开防火墙?