Netgear wndr3700v2 路由器刷OpenWrt打造全能服务器(四)花生壳服务

本文详细介绍如何在OpenWrt路由器上设置花生壳动态域名的IP更新,包括编写Shell脚本、设置定时任务及邮件通知,确保动态域名始终指向最新的公网IP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在第一章中已经提到,在花生壳网站注册一个账号,将会得到一个免费的域名。这一章介绍一下如何更新域名的IP映射。

    花生壳官方网站看到这样一个更新域名IP的方法:

    

    只要将上面的网址中的username,password,yourhostname,ipaddress换成自己注册的,再用浏览器访问一次,花生壳就会把域名映射到自己的ipaddress。

    下面就把这个任务交给路由器来做,同样,首先要用SecureCrt连接到路由器。

     1. 写一个sh脚本

     vi /etc/hotplug.d/iface/25-Oray

    文件内容如下:

#!/bin/sh

USER="username"

PASS="123456"

DOMAIN="username.xicp.net"

URL="http://${USER}:${PASS}@ddns.oray.com:80/ph/update?hostname=${DOMAIN}"

current_ip=$(grep network.wan.ipaddr /tmp/state/network | grep -o -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}")
echo "current_ip=$current_ip"

# get run counts
count=0
if [ -f /count.log ];then
    tmp_count=`cat /count.log`
    count=$(( tmp_count+1 ))
fi

echo "$count" > /count.log

ip_changed=0

if [ $count -gt 60 ];then
    echo "force refresh ip every 60 minites!"
    count=0
    echo "$count" > /count.log
elif [ -f /ddns ]; then
    old_ip=$(cat /ddns | grep -o -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}")
    echo "old_ip=$old_ip"
    if [ ! -z "${old_ip}" ]; then
        echo "old_ip is not empty"
        if [ "${old_ip}" = "${current_ip}" ]; then
            echo "old_ip==current_ip exit;"
            exit
        fi
    fi
    ip_changed=1
fi


echo "wget -O /ddns -q ${URL}"
wget -O /ddns -q ${URL}

# 下面是同时发送新IP到指定邮箱,参考链接先安装msmtp: https://blog.youkuaiyun.com/ke515041/article/details/48194673
#if [ $ip_changed -eq 1 ];then
#    echo "send new ip by email to myself"
#    echo -e "Subject: netgear ip changed\n\nThe address is $current_ip" | sendmail -f yufei_email@163.com yufei_email@163.com
#fi

    大概意思就是:如果发现当前路由器的ip和上一次保存在临时文件里的ip不一样,就访问花生壳网站,更新ip。

      2. 给脚本文件增加执行权限

      chmod a+x /etc/hotplug.d/iface/25-Oray

      3. 给路由器增加定时任务,每隔一分钟执行一次上面的脚本。

 echo "*/1 * * * * sh /etc/hotplug.d/iface/25-Oray >& /mylog">> /etc/crontabs/root

4. 启动路由器的定时任务服务

/etc/init.d/cron restart

5. 查看是否启动成功

ps | grep cront

显示内容如下:

root@OpenWrt:/mnt/web# ps | grep cront

1362 root      1392 S   crond -c /etc/crontabs -l 8

5652 root      1372 S   grep cront

至此,花生壳免费注册的动态域名就可以使用了。

比如,注册获得的域名为:test.xicp.net,那么就可以使用SecureCrt或者Flashxp在任何一台电脑上通过这个域名连接路由器,而不需要一定在局域网内才行。

既然外网电脑都可以访问路由器了,后面的章节将介绍安装一些常用的服务。

下一章介绍OpenWrt系统SVN服务端的安装与配置。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值