wget解析到与主机不同的IP



我有一个shell脚本,在该脚本中,我使用host获取目标站点的IP,以更新ufw并允许该IP的出站流量。然而,当我对同一个基本URL进行后续wget调用时,它解析为不同的IP,因此被ufw阻止。只是为了测试,我尝试ping URL,它返回了不同的第三个IP。

默认情况下,我们在ufw中阻止所有出站流量,并且只启用我们需要出站的流量,所以我需要脚本来更新正确的IP,这样我就可以wget内容。每个实例中的IP(hostwget(始终相同,但它们彼此返回的值不同,所以我不认为这只是DNS问题。如何获得一致的IP来更新防火墙,以便后续的wget请求成功执行?作为一项测试,我禁用了防火墙,并且能够成功地从URL下载,所以问题肯定是要指向一个一致的IP。

HOSTNAME=<name of site to resolve>
LOGFILE=<logfile path>
Current_IP=$(host $HOSTNAME | head -n 1 | cut -d " " -f 4)
#this echoes the correct value
echo $Current_IP
if [ ! -f $LOGFILE ]; then
/usr/sbin/ufw allow out from any to $Current_IP
echo $Current_IP > $LOGFILE
echo New IP address found and logged >> ./download.log
else
Old_IP=$(cat $LOGFILE)
if [ "$Current_IP" = "$Old_IP" ] ; then
echo IP address has not changed >> ./download.log
else
/usr/sbin/ufw delete allow out from any to $Old_IP
/usr/sbin/ufw allow out from any to $Current_IP
echo $Current_IP > $LOGFILE
echo IP Address was updated in ufw >> ./download.log
fi
fi

在更新防火墙之后,随后的wgetHOSTNAME尝试去到与刚刚更新的不同的IP。

结果发现;www.";。当我解析host时,我不使用www,而当我使用wget时,我使用www,因此他们解析为该特定站点的不同IP。

相关内容

  • 没有找到相关文章

最新更新