OPENWRT多拨后利用ddns-go给多路vwan指定子域名
购买理由
首先,感谢浙江电信,提供4拨功能,方便用户根据需求适当提升性能。当然,我只用了3拨(因为光猫跑死了)。
Openwrt多拨使用的是Syncdial(luci-app-syncdial),
DDNS使用的是luci-app-ddns-go,参考:https://gitee.com/gavin56/ddns-go
这是单域名设置的界面。
切换页面至DDNS-GO后
也可以地址栏直接输入路由器ip+默认端口9876进入设置界面。
我就是用的Ali的解析,其他的可以参考这个:https://sysin.org/blog/ddns-go/
这里改用网卡获取。
到这里单域名设置完成了。
下面是硬核部分:多开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
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三个端口号,打开配置页面。
3条vwan就能有3个v4的公网ip和3个v6的公网ip,总共6个公网ip,小伙伴们各种应用造起来吧。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
值友7736933919
顺便问下,ipv6有地址,不能上网是为啥,运营商没开吗?
校验提示文案
骑乌龟追兔子
校验提示文案
果什么果
校验提示文案
大熊本熊
校验提示文案
大熊本熊
校验提示文案
骑乌龟追兔子
校验提示文案
果什么果
校验提示文案
值友7736933919
顺便问下,ipv6有地址,不能上网是为啥,运营商没开吗?
校验提示文案