[BoomTips] RouterOS with PPPoe 动态IP 遥控修改 Linux VPS GRE隧道Remote Address
为对端无法安装RouterOS , 又需要起GRE隧道的环境设计的脚本.
RouterOS 可以设置在每次 PPPoe UP的时候运行脚本 , 或可以定时执行 , 重复修改相同地址 , 系统判定无需修改 , 因此网络不会停顿 .
使用此方法可以抛弃DDNS . 同样适用于两头RouterOS的场景 .
Step 1 : Linux SSH 生成密钥
推荐使用 PEM格式 , RouterOS对key的格式支持有限 .
Step 2 : Linux SSH 服务使用密钥登录
这一步根据自己的系统不同自行查看网络教程.
Step 3 :
由于RouterOS的ssh指令发送功能不支持密码登录 , 使用脚本前 , 先将 VPS 密钥对下载 , 上传并导入 RouterOS .
此功能在 system - user - ssh private keys菜单下.
Step 4 :
在 system scripts 里添加以下脚本 , 根据实际修改 .
为对端无法安装RouterOS , 又需要起GRE隧道的环境设计的脚本.
RouterOS 可以设置在每次 PPPoe UP的时候运行脚本 , 或可以定时执行 , 重复修改相同地址 , 系统判定无需修改 , 因此网络不会停顿 .
使用此方法可以抛弃DDNS . 同样适用于两头RouterOS的场景 .
Step 1 : Linux SSH 生成密钥
ssh-keygen -t rsa -m PEM
推荐使用 PEM格式 , RouterOS对key的格式支持有限 .
Step 2 : Linux SSH 服务使用密钥登录
编辑 /etc/ssh/sshd_config
这一步根据自己的系统不同自行查看网络教程.
Step 3 :
由于RouterOS的ssh指令发送功能不支持密码登录 , 使用脚本前 , 先将 VPS 密钥对下载 , 上传并导入 RouterOS .
此功能在 system - user - ssh private keys菜单下.
Step 4 :
在 system scripts 里添加以下脚本 , 根据实际修改 .
:global ipaddr [/ip address get [/ip address find interface=PPPoe名称] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]
/system ssh-exec address=Linux服务器IP user=root command="ip tunnel change gre设备名 remote $ipaddr"