Portál AbcLinuxu, 3. června 2024 08:47


Dotaz: if up script pro dyndns

beer avatar 3.4.2017 11:56 beer | skóre: 15
if up script pro dyndns
Přečteno: 180×
Odpovědět | Admin

Vytvořil jsem si ifup script pro dynamické dns. Poraďte prosím proč nefunguje. Umístěný je v /etc/network/if-up.d/dynv6, práva má 755. Xubuntu 16.04 s network managerem a systemd.



#!/bin/bash
# Reload dynv6 when an interface comes up
PATH=/sbin:/usr/sbin:/bin:/usr/bin


ipv6=$(ip a | grep -s -i -o '200<1-2>\:*' | head -n 1)
hostname="mojehostname.dynv6.net"
token="mojeheslo"




curl -m 30 "https://dynv6.com/api/update?hostname=$hostname&ipv6=$ipv6&token=$token"


exit 0

Když ho spustím ručně, tak funguje. Rád bych, aby se spustil vždy, když změním síť.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

beer avatar 3.4.2017 12:01 beer | skóre: 15
Rozbalit Rozbalit vše Re: if up script pro dyndns
Odpovědět | | Sbalit | Link | Blokovat | Admin

oprava zdrojového kódu



#!/bin/bash
# Reload dynv6 when an interface comes up
PATH=/sbin:/usr/sbin:/bin:/usr/bin


ipv6=$(ip a | grep -s -i -o '200[1-2]\:[a-f0-9\.:]*' | head -n 1)
hostname="mojehostname.dynv6.net"
token="mojeheslo"




curl -m 30 "https://dynv6.com/api/update?hostname=$hostname&ipv6=$ipv6&token=$token"


exit 0
beer avatar 4.4.2017 16:34 beer | skóre: 15
Rozbalit Rozbalit vše Re: if up script pro dyndns

Nikdo neporadí, jak to rozchodit při změně wifi sítě?

3.4.2017 12:32 NN
Rozbalit Rozbalit vše Re: if up script pro dyndns
Odpovědět | | Sbalit | Link | Blokovat | Admin
Reload dynv6 when an interface comes up
Rekl bych, ze skript dela presne co ma.
beer avatar 3.4.2017 12:53 beer | skóre: 15
Rozbalit Rozbalit vše Re: if up script pro dyndns

Když se přepnu na jinou wifi, tak se nespustí. Možná se spustí, když wifi vypnu a zapnu, nebo když zapojím ethernet a pojedu přes něj a pak se přenu na wifi, ale samotná změna wifi sítě ho nespustí.

3.4.2017 12:56 NN
Rozbalit Rozbalit vše Re: if up script pro dyndns
when an interface comes up
beer avatar 3.4.2017 13:22 beer | skóre: 15
Rozbalit Rozbalit vše Re: if up script pro dyndns

To je tam z historických důvodů, použil jsem soubor /etc/network/if-up.d/miredo, přepsal miredo na dynv6, a obsah souboru nahradil za to, co jsem předložil. Zatímco u miredo se při změně wifi sítě reloadne miredo, zde to neplatí.


#! /bin/sh
# Reload Miredo when an interface comes up

set -e

# Don't bother to reload when lo is configured.
if [ "$IFACE" = lo ]; then
	exit 0
fi

# Only run from ifup.
if [ "$MODE" != start ]; then
	exit 0
fi

# Miredo only cares about (underlying) IPv4 interfaces.
#if [ "$ADDRFAM" != inet ]; then
#	exit 0
#fi

# Actually, due to this bug:
#  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475188
# exclude IPX and IPv6 explicitly instead.
if [ "$ADDRFAM" = "ipx" ] || [ "$ADDRFAM" = "inet6" ]; then
ip -6 route add default dev teredo;
ipv6=$(ip a | grep -s -i -o '200[1-2]\:[a-f0-9\.:]*' | head -n 1) && curl -m 30 "https://dynv6.com/api/update?hostname="mojehostname"&ipv6=$ipv6&token="mojeheslo"; exit 0
fi

# Is /usr mounted?
if [ ! -e /usr/sbin/miredo ]; then
	exit 0
fi

# Is the miredo service running?
if ! invoke-rc.d --quiet miredo status >/dev/null; then
	exit 0
fi

invoke-rc.d --quiet miredo reload || true

Jak to předělat lépe? Ne všude chci používat miredo, tam kde mám nativní ipv6 konektivitu nebo 6to4 to nemá smysl.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.