解决了raspbian clone no-ip冲突



我用SD卡复印机克隆了raspbian SO。在那个SO中,我配置了no-ip web服务器重定向(no-ip duc)。

当我在其他位置开始克隆时,它会从它的原始双胞胎窃取ip重定向。

使用原始SO与以太网,并配置无ip duc与以太网,我想出了用wifi启动克隆SO来解决问题,但它不起作用!

问题是:如何防止克隆so(启动时)窃取原始so的ip重定向。有人有办法吗?坦克你。

我找到了一个解决方案(但可能存在更简单的方法)。

概念:在crontab中添加一个bash脚本,检查路由器的mac地址是否与指定的路由器匹配。

bash脚本是(注:chmod +x):

#!/bin/bash
# SCRIPT DOES IF ROUTER MATCH EXPECTED MAC ADDRESS
# -- EDITABLE PART --
# function todo if TRUE
function_MATCH () {
echo "MAC adresses match!"
}
# function todo if FALSE
function_MISMATCH () {
echo "it's not as expected!"
}

# CHANGE VALUE WITH YOUR ROUTER MAC ADDRESS
EXPECTED="55:55:55:55:55:55"
# -- END EDITABLE PART --
# get "arp -a" string of router:
arp=$(arp -a 192.168.1.1)
# extract MAC adress
MAC=${arp##*at }
MAC=${MAC% [*}
if [ "$MAC" = "$EXPECTED" ];
then function_MATCH
else function_MISMATCH
fi

这是一个通用函数回调(function_MATCH或function_MISMATCH)。要使用此脚本仅在路由器匹配所需服务时才激活no-ip服务,请将function_MATCH()更改为以下参数:

function_MATCH () {
echo "MAC adresses match!"
sudo noip2
}

然后,保存脚本(在您喜欢的地方)并通过在终端中调用:

来编辑crontab
$ crontab -e

最后,在crontab中调用script,并在末尾添加。

例如(注意添加正确的脚本路径):

@reboot sleep 60 && /home/user/scripts/router_verificator.sh

注意:no-ip服务需要一个连接来更新ip重定向。从so启动60秒后进行验证,防止无连接可用。

我知道,这很复杂。如果有人有更聪明的解决方案…坦克你。

最新更新