Inadyn as new DynDNS Service
This commit is contained in:
106
Linux/Inadyn/README.md
Normal file
106
Linux/Inadyn/README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# Inadyn Installation on AlpineLinux
|
||||
|
||||
This is made with the following example for DYNDNS Provider desec.io
|
||||
|
||||
domain: mydomain.dedyn.io
|
||||
token: XXXXXXXXXX
|
||||
|
||||
Change this in the config file (and maybe duplicate it for mutiple entries)
|
||||
|
||||
>custom mydomain.dedyn.io {
|
||||
> username = mydomain.dedyn.io
|
||||
> password = 'XXXXXXXXXX'
|
||||
> checkip-server = checkipv4.dedyn.io
|
||||
> checkip-path = /
|
||||
> checkip-ssl = true
|
||||
> ddns-server = update.dedyn.io
|
||||
> ddns-path = "/update?username=%u&password=%p&myipv4=%i"
|
||||
> ssl = true
|
||||
> hostname = mydomain.dedyn.io
|
||||
>}
|
||||
|
||||
```bash
|
||||
# Use Alpine Edge Repositories
|
||||
cat <<EOF >/etc/apk/repositories
|
||||
https://dl-cdn.alpinelinux.org/alpine/edge/main
|
||||
https://dl-cdn.alpinelinux.org/alpine/edge/community
|
||||
EOF
|
||||
|
||||
# Update Alpine Linux
|
||||
apk update
|
||||
apk upgrade -a
|
||||
|
||||
# Install default Tools (used by ansible f.e.)
|
||||
apk add nano python3 openssh-server tzdata
|
||||
|
||||
# Configure Timezone (Change)
|
||||
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
|
||||
#ln -s /usr/share/zoneinfo/Europe/Vienna /etc/localtime
|
||||
|
||||
# Make ssh Server autoboot
|
||||
rc-update add sshd
|
||||
service sshd start
|
||||
|
||||
# Install Inadyn as DynDNS Updater
|
||||
apk add inadyn
|
||||
cat <<EOF >/etc/inadyn/inadyn.conf
|
||||
# How often the IP is checked. The value denotes seconds
|
||||
period = 300
|
||||
|
||||
### Custom provider example
|
||||
custom dedyn1 {
|
||||
username = mydomain.dedyn.io
|
||||
password = 'XXXXXXXXXX'
|
||||
checkip-server = checkipv4.dedyn.io
|
||||
checkip-path = /
|
||||
checkip-ssl = true
|
||||
ddns-server = update.dedyn.io
|
||||
ddns-path = "/update?username=%u&password=%p&myipv4=%i"
|
||||
ssl = true
|
||||
hostname = mydomain.dedyn.io
|
||||
}
|
||||
|
||||
#custom dedyn2 {
|
||||
# username = 2nddomain.dedyn.io
|
||||
# password = 'XXXXXXXXXX'
|
||||
# checkip-server = checkipv4.dedyn.io
|
||||
# checkip-path = /
|
||||
# checkip-ssl = true
|
||||
# ddns-server = update.dedyn.io
|
||||
# ddns-path = "/update?username=%u&password=%p&myipv4=%i"
|
||||
# ssl = true
|
||||
# hostname = 2nddomain.dedyn.io
|
||||
#}
|
||||
EOF
|
||||
chmod 600 /etc/inadyn/inadyn.conf
|
||||
|
||||
# Adjust initd script to have syslog output for debugging
|
||||
cat <<EOF >/etc/init.d/inadyn
|
||||
#!/sbin/openrc-run
|
||||
name=$RC_SVCNAME
|
||||
description="DynDNS client"
|
||||
cfgfile="/etc/$RC_SVCNAME/$RC_SVCNAME.conf"
|
||||
command="/usr/sbin/$RC_SVCNAME"
|
||||
command_args="-s --syslog -f $cfgfile"
|
||||
command_user="$RC_SVCNAME"
|
||||
supervisor="supervise-daemon"
|
||||
command_args_foreground="--foreground"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use logger dns
|
||||
after bootmisc
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkpath --directory --owner $command_user:$command_user --mode 0755 \
|
||||
/run/$RC_SVCNAME /var/cache/$RC_SVCNAME
|
||||
$command --check-config -f $cfgfile
|
||||
}
|
||||
EOF
|
||||
|
||||
rc-update add inadyn
|
||||
|
||||
# Reboot to have everything nice and fresh
|
||||
reboot
|
||||
```
|
||||
Reference in New Issue
Block a user