OPENWRT多拨后利用ddns-go给多路vwan指定子域名

2022-12-14 14:42:55 1点赞 43收藏 7评论

购买理由

首先,感谢浙江电信,提供4拨功能,方便用户根据需求适当提升性能。当然,我只用了3拨(因为光猫跑死了)。

Openwrt多拨使用的是Syncdial(luci-app-syncdial),

OPENWRT多拨后利用ddns-go给多路vwan指定子域名

DDNS使用的是luci-app-ddns-go,参考:https://gitee.com/gavin56/ddns-go

这是单域名设置的界面。

OPENWRT多拨后利用ddns-go给多路vwan指定子域名

切换页面至DDNS-GO后

OPENWRT多拨后利用ddns-go给多路vwan指定子域名

也可以地址栏直接输入路由器ip+默认端口9876进入设置界面。

我就是用的Ali的解析,其他的可以参考这个:https://sysin.org/blog/ddns-go/

这里改用网卡获取。

OPENWRT多拨后利用ddns-go给多路vwan指定子域名

OPENWRT多拨后利用ddns-go给多路vwan指定子域名

到这里单域名设置完成了。

下面是硬核部分:多开DDNS-GO。

这里我要开3个DDNS-GO服务。

在openwrt中,DDNS-GO以服务形式安装,路径为/etc/init.d/ddnsgo,配置文件地址为:/etc/ddns-go/ddnsgo-config.yaml。

复制配置文件为/etc/ddns-go/ddns-go1.yaml和/etc/ddns-go/ddns-go2.yaml

OPENWRT多拨后利用ddns-go给多路vwan指定子域名


cat /etc/init.d/ddnsgo如下:

#!/bin/sh /etc/rc.common

#

# Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com>https://github.com/sirpdboy/luci-app-ddns-go

#

# This file is part of ddns-go .

#

# This is free software, licensed under theApache License, Version 2.0 .

#

START=99

USE_PROCD=1

PROG=/usr/bin/ddns-go

CONFDIR=/etc/ddns-go

CONF=/etc/ddns-go/ddnsgo-config.yaml

get_config() {

config_get_bool enabled $1 enabled 1

config_get_bool logger $1 logger 1

config_get port $1 port 9876

}

ddnsgo_prepare() {

pgrep -f /usr/bin/ddns-go | xargs kill -9 >/dev/null 2>&1

logger -t ddns-go -p warn "ddns-go is stop."

}

init_yaml(){

[ -d $CONFDIR ] || mkdir -p $CONFDIR 2>/dev/null

cat/usr/share/ddns-go/ddnsgo-default.yaml > $CONF

}

stop_service() {

ddnsgo_prepare

}

start_service() {

ddnsgo_prepare

config_load ddnsgo

config_foreach get_config ddnsgo

[ x$enabled == x1 ] || return 1

[ -s ${CONF} ] || init_yaml

logger -t ddns-go -p warn "ddns-go is start."

echo "ddns-go is start."

procd_open_instance

procd_set_param command $PROG -l :$port-f 300 -c "$CONF"

[ "x$logger" == x1 ] && procd_set_param stderr 1

procd_set_param respawn

procd_close_instance

}

service_triggers() {

procd_add_reload_trigger "ddnsgo"

}

修改如下:

#!/bin/sh /etc/rc.common

#

# Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com>https://github.com/sirpdboy/luci-app-ddns-go

#

# This file is part of ddns-go .

#

# This is free software, licensed under theApache License, Version 2.0 .

#

START=99

USE_PROCD=1

PROG=/usr/bin/ddns-go

CONFDIR=/etc/ddns-go

CONF=/etc/ddns-go/ddns-go1.yaml

get_config() {

config_get_bool enabled $1 enabled 1

config_get_bool logger $1 logger 1

config_get port $1 port 9877

}

ddnsgo_prepare() {

pgrep -f /usr/bin/ddns-go | xargs kill -9 >/dev/null 2>&1

logger -t ddns-go -p warn "ddns-go is stop."

}

init_yaml(){

[ -d $CONFDIR ] || mkdir -p $CONFDIR 2>/dev/null

cat/usr/share/ddns-go/ddnsgo-default.yaml > $CONF

}

stop_service() {

ddnsgo_prepare

}

start_service() {

#ddnsgo_prepare

config_load ddnsgo

config_foreach get_config ddnsgo

[ x$enabled == x1 ] || return 1

[ -s ${CONF} ] || init_yaml

logger -t ddns-go -p warn "ddns-go is start."

echo "ddns-go is start."

procd_open_instance

procd_set_param command $PROG -l :9877-f300 -c "$CONF"

[ "x$logger" == x1 ] && procd_set_param stderr 1

procd_set_param respawn

procd_close_instance

}

service_triggers() {

procd_add_reload_trigger "ddnsgo"

}


另存为/etc/init.d/ddnsgo1,再用端口号9878相应生成一个/etc/init.d/ddnsgo2。

命令行输入

/etc/init.d/ddnsgo1 enabled

/etc/init.d/ddnsgo2 enabled

这样,就能用9876;9877;9878三个端口号,打开配置页面。

OPENWRT多拨后利用ddns-go给多路vwan指定子域名

3条vwan就能有3个v4的公网ip和3个v6的公网ip,总共6个公网ip,小伙伴们各种应用造起来吧。


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
7评论

  • 精彩
  • 最新
  • 0571的,收藏一波。
    顺便问下,ipv6有地址,不能上网是为啥,运营商没开吗?

    校验提示文案

    提交
    80端口被封了

    校验提示文案

    提交
    浙江240e开头才能上外网

    校验提示文案

    提交
    收起所有回复
  • 能把几个公网IP解析到一个域名上吗?

    校验提示文案

    提交
    你给域名一个五岔路口,他只能傻在原地,哪也去不了

    校验提示文案

    提交
    收起所有回复
  • 请教一下,这个可以用在哪些场景? 我弄了5拨

    校验提示文案

    提交
  • 我30拨也可以 [皱眉]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
目录
43
扫一下,分享更方便,购买更轻松