在尝试远程运行时,arping错误{bind:无法分配请求的地址}

问题描述 投票:1回答:1

本地服务器:让我们说local1远程服务器:让我们说remote1

我在local1服务器上有以下shell脚本;

#!/bin/sh

comm1=`arping -c 3 -s 192.168.xxx.xx 192.168.yyy.yy | grep "reply from 192.168.yyy.yy" | awk '{print $2,$3,$4}' | tail -1 | awk '{print $3}'`
comm2="192.168.yyy.yy"
       if [[ "$comm1" == *"$comm2"* ]]
       then
       echo "IP is up and running fine"
       else
       echo "IP is not up and running"
       fi

如果我在本地服务器上运行上面的脚本,我得到了所需的输出,即“IP已启动且运行正常”。

但是,如果我将相同的脚本复制到remote1服务器并尝试从remote1服务器执行local1服务器,它正在执行脚本,但提供以下输出;

bind: Cannot assign requested address
IP is not up and running

所以,remote1服务器能够在local1服务器上执行脚本,但它正在跳过真正的错误,如上所述。

仅供参考,我在remote1服务器上运行以下命令;

ssh [email protected] /root/script.sh

我知道哪里出错或者如何克服这个错误?

sh
1个回答
0
投票

对于远程服务器,您必须切换IP

arping -c 3 -s 192.168.yyy.yy 192.168.xxx.xx

服务器IP以yyy.yy结尾,但您尝试使用xxx.xx作为远程操作系统拒绝的命令(-s)的源IP。

© www.soinside.com 2019 - 2024. All rights reserved.