局域网内获取公网IP脚本

公司没有固定 IP,每次 VPN 过去前都要先电话问一下那边的 IP 是多少,非常不方便,在不花钱的情况下只能曲线解决了。

思路很简单,从提供在线查询 IP 的网站上获取路由当前的 IP,然后和上一次存储的 IP 地址进行对比,不一样的话就覆盖上一次的记录并将现在获取到的 IP 以邮件的形式发送出去。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh
 
IPFILE="extip.txt"
SENDTO=ADMINISTRATOR MAIL
 
if [ -f $IPFILE ]; then
    SAVEDIP=`cat $IPFILE`
else
    SAVEDIP="0"
fi
 
extIP=`wget -O - -q http://www.3322.org/dyndns/getip`
 
if [ "$SAVEDIP" = "0" -o "$SAVEDIP" != $extIP ]; then
    echo $extIP > $IPFILE
    mail -s "External IP Update" $SENDTO < $IPFILE
    cat $IPFILE
else
    echo "No change"
fi

将脚本扔到 crontab 里定时运行。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.