服务器多IP取出对外IP

服务器多IP取出IP:

ip_file='/etc/ssh/ip.pid'

function Get_rip(){

if [[ -f $ip_file ]] && [[ `cat $ip_file |wc -l` -eq 1 ]];then
        RIP=`awk -F \= '{print $2}' $ip_file`
else

HOSTIPS=(`/sbin/ip addr |egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'|egrep -v '255|127\.0\.0\.1'`)


# 取默认网关IP的前三位 以和 IP 做比对
DEGAWAY1=`route -nee |grep 'UG' |awk '{print $2}'|awk -F \. '{print $1"."$2"."$3}'`
DEGAWAY2=`netstat -r | grep 'default' |awk '{print $2}'|awk -F \. '{print $1"."$2"."$3}'`
if [[ "${DEGAWAY1}" == "${DEGAWAY2}" ]];then
        DEGAWAY=${DEGAWAY2}
else
        DEGAWAY=${DEGAWAY1}
fi
echo ${DEGAWAY}


# 取能连接外网的IP
for ip in ${HOSTIPS};
do
        ip3=`echo ${ip} |awk -F \. '{print $1"."$2"."$3}'`
        if [[ "${ip3}" == "${DEGAWAY}" ]];then
                if [[ $(ping -c 2 223.5.5.5 &>/dev/null ; echo $?) -eq 0 ]];then
                        RIP=${ip}
                else
                        echo "IP ERROR"
                        exit 1
                fi
        fi
done
echo "RIP=${RIP}" > $ip_file
fi
}

Get_rip

Centos版本

VERSION1=`uname -r|awk -F \. '{print $1}'`
VERSION2=`uname -r|awk -F \. '{print $2}'`
VERSION3=`uname -r|awk -F \. '{print $3}'|awk -F \- '{print $1}'`
if [[ ${VERSION1} -eq 2 ]] && [[ ${VERSION2} -le 6 ]] && [[ ${VERSION3} -lt 30 ]];then
        REPO="http://repo.zabbix.com/zabbix/3.0/rhel/5/x86_64/zabbix-release-3.0-1.el5.noarch.rpm"
        SYS=5
elif [[ ${VERSION1} -eq 2 ]] && [[ ${VERSION2} -ge 6 ]] && [[ ${VERSION3} -ge 30 ]];then
        REPO="http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm"
        SYS=6
elif [[ ${VERSION1} -eq 3 ]] ;then
        REPO="http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm"
        SYS=7
else
        echo "CHECK VERSION ERROR "
        exit 2
fi
echo ${REPO}
echo ${SYS}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,047评论 19 139
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,247评论 0 8
  • 直接上代码,你不一定能全部答对,有兴趣看一下 你猜出来最后那两个应该输出什么了吗?反正我是做错了,答案在最后边,求...
    高校邦MOOC阅读 315评论 0 1
  • 这是牛牛的Annie第75篇原创文章,感恩你的点击。也希望我的文字,能让你发掘出一些本属于你自己,心灵深处的思考 ...
    牛牛的Annie阅读 132评论 0 0
  • 活在世上,被世俗绑架,这就是你可悲的人生。 你在乎很多:别人的眼光、父母的意见、朋友的想法、世界的反对。你永远为别...
    Aurora_HoMin阅读 272评论 0 1

友情链接更多精彩内容