ddclient DynDns und VPN anbieter

gifftstaub
IPC Neuling
Beiträge: 37
Registriert: Mi 20. Apr 2011, 18:26
Kontaktdaten:

ddclient DynDns und VPN anbieter

Beitrag von gifftstaub »

Hallo zusammen,

Ich habe folgendes Problem.

Debian Server ist mit einem VPN anbieter mittels OpenVPN verbunden, jedoch gibt es ab und an mal das Problem das die dyndns addy nicht erreichbar ist!

Wenn die Verbindung zum VPN Anbieter steht baut sich ein tap0 auf, den ddclienten habe ich Konfiguriert.

ddclient.conf

Code: Alles auswählen

protocol=dyndns2
use=if, if=tap0
server=members.dyndns.org
login=benutzername
password=passwort'
meine-dyndns.com
unter /etc/default sieht der ddclient so aus.

Code: Alles auswählen

# Configuration for ddclient scripts 
# generated from debconf on Mon Aug 22 09:42:09 CEST 2011
#
# /etc/default/ddclient

# Set to "true" if ddclient should be run every time a new ppp connection is 
# established. This might be useful, if you are using dial-on-demand.
run_ipup="false"

# Set to "true" if ddclient should run in daemon mode
# If this is changed to true, run_ipup must be set to false.
run_daemon="true"

# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
daemon_interval="300"
Der Debian Server hängt an einer Fritzbox 7272v3.

Ich hoffe es kann mir einer Weiter helfen.

gruß
giffti
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von feissmaik »

Was verstehst du unter "DynDNS nicht erreichbar"?
Wird die DynDNS nicht mit der tap0 IP aktuallisiert oder kannst du dich nur nicht zu dieser verbinden?

Und was sagt das ddclient log dazu? (grep ddclient /var/log/*)


Zum Verständniss:
Du nutzt VPN über einen Drittanbieter, versteh ich das richtig?
Und der Sinn dahinter ist das du von diesem Drittanbieter eine extra IP zugewiesen kriegst mit der du dann anstatt deiner eigenen, über deine DynDNS erreichbar sein willst?

Ist es normalerweise nicht so, das du wegen VPN über Drittanbieter dann beim surfen etc die ganze Zeit automatisch über tap0 gehen würdest und nicht über eth0? ...glaub ich zumindest das das so is... afaik wird bei herstellung der VPN Verbindung alle anfragen intern auf tap0 umgeleitet dh wenn du "wget" machst nutzt er die VPN IP und nicht die von eth0 oder was auch immer... Das regelt VPN soweit ich weiss also bräuchtest du nur von use=if, if=tap0 auf use=web umstellen


Bei nem echten VPN also ohne Drittanbieter sieht das aber anders aus...
Du musst nicht kämpfen um zu siegen
gifftstaub
IPC Neuling
Beiträge: 37
Registriert: Mi 20. Apr 2011, 18:26
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von gifftstaub »

Hi,

Also der VPN Anbieter ersetzt meine IP gegen eine von denen.

Das ist so Korrekt.

Code: Alles auswählen

Zum Verständniss:
Du nutzt VPN über einen Drittanbieter, versteh ich das richtig?
Und der Sinn dahinter ist das du von diesem Drittanbieter eine extra IP zugewiesen kriegst mit der du dann anstatt deiner eigenen, über deine DynDNS erreichbar sein willst?
Wenn ich das von use=if, if=tap0 auf use=web umstelle dann Funktioniert alles und dann kommt auf ein mal diese Error Meldung.

/var/log/syslog:Aug 22 09:20:53 Debian ddclient[1851]: WARNING: cannot connect to checkip.dyndns.com:80 socket: IO::Socke t::INET: connect: No route to host
/var/log/syslog:Aug 22 09:21:09 Debian ddclient[1851]: WARNING: cannot connect to checkip.dyndns.com:80 socket: IO::Socke t::INET: connect: No route to host
/var/log/syslog:Aug 22 09:21:18 Debian ddclient[1851]: WARNING: cannot connect to checkip.dyndns.com:80 socket: IO::Socke t::INET: connect: No route to host
/var/log/syslog:Aug 22 09:24:23 Debian ddclient[12169]: WARNING: cannot connect to checkip.dyndns.com:80 socket: IO::Sock et::INET: connect: No route to host
/var/log/syslog:Aug 22 09:24:41 Debian ddclient[12169]: WARNING: cannot connect to checkip.dyndns.com:80 socket: IO::Sock et::INET: connect: No route to host
/var/log/syslog:Aug 22 09:24:56 Debian ddclient[12169]: WARNING: cannot connect to checkip.dyndns.com:80 socket: IO::Sock et::INET: connect: No route to host

Ich habe mir hier ein VPN Zugang gemietet.

https://www.vpntunnel.se/de/how-vpn-works.php

Dazu habe ich die Linux Firewall an tap0 meine Ports für das CS Weitergeleitet.

Erst wenn der Tunnel steht dann können sich meine Clieten auf mein CS Server Verbinden, das Funktioniert so weit alles richtig gut bis auf ddclient.
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von feissmaik »

mmh die Meldung kommt warscheinlich wenn du dein 24h disco hast und dich neu einwählen musstest - dann muss sich dein VPN auch wieder neu verbinden

use=web ... versucht ja die IP über das ansurfen einer bestimmten Seite herraus zu finden - Das problem dabei ist warscheinlich das du einen LAN-Server nutzt und wenn der Router sich neu einwählt kriegt das dein LAN-Server erst dann mit wenn er ein Datenpaket raus schicken will

Kommt auch drauf an wie du dein VPN konfiguriert hast



Schonmal den DDNSupdater stattdessen probiert?


//EDIT:
Dazu habe ich die Linux Firewall an tap0 meine Ports für das CS Weitergeleitet.
hm? was hast du Extra eingestellt?

Btw dir ist aber bewusst das dadurch
1) dein CS nicht erreichbar ist wenn dieser Drittanbieter mal Probleme hat
2) solange deine Clients nicht auch VPN nutzen, das ganze irgendwie nicht mehr wirklich was bringt weil die Übertragung zu deinen Clients nicht über VPN geht?
Du musst nicht kämpfen um zu siegen
gifftstaub
IPC Neuling
Beiträge: 37
Registriert: Mi 20. Apr 2011, 18:26
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von gifftstaub »

Ich habe die Firewall so Konfiguriert weill der VPN anbieter alle Ports offen hat.
# Generated by iptables-save v1.4.8 on Sun Aug 21 09:26:13 2011
*filter
:FORWARD ACCEPT [0:0]
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Accept traffic from internal interfaces
-A INPUT ! -i tap0 -j ACCEPT
# Accept traffic with the ACK flag set
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
# Allow incoming data that is part of a connection we established
-A INPUT -m state --state ESTABLISHED -j ACCEPT
# Allow data that is related to existing connections
-A INPUT -m state --state RELATED -j ACCEPT
# Accept responses to DNS queries
-A INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT
# Accept responses to our pings
-A INPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
# Accept notifications of unreachable hosts
-A INPUT -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT
# Accept notifications to reduce sending speed
-A INPUT -p icmp -m icmp --icmp-type source-quench -j ACCEPT
# Accept notifications of lost packets
-A INPUT -p icmp -m icmp --icmp-type time-exceeded -j ACCEPT
# Accept notifications of protocol problems
-A INPUT -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT
# Allow connections to our SSH server
-A INPUT -p tcp -m tcp --dport 12003-j ACCEPT
# Allow connections to our IDENT server
-A INPUT -p tcp -m tcp --dport auth -j ACCEPT
# Respond to pings
-A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
# Allow DNS zone transfers
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
# Allow DNS queries
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
# Allow connections to webserver
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# Allow SSL connections to webserver
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# Allow connections to mail server
-A INPUT -p tcp -m tcp -m multiport -j ACCEPT --dports 25,587
# Allow connections to FTP server
-A INPUT -p tcp -m tcp --dport 20:21 -j REJECT
# Allow connections to POP3 server
-A INPUT -p tcp -m tcp -m multiport -j ACCEPT --dports 110,995
# Allow connections to IMAP server
-A INPUT -p tcp -m tcp -m multiport -j ACCEPT --dports 143,220,993
# Allow connections to Webmin
-A INPUT -p tcp -m tcp --dport 10000:10010 -j ACCEPT
# Allow connections to Usermin
-A INPUT -p tcp -m tcp --dport 20000 -j ACCEPT
# Debian-VPN-UDP
-A INPUT -p udp -m udp --dport 12001 -j ACCEPT
# Debian-VPN-TCP
-A INPUT -p tcp -m tcp --dport 12002 -j ACCEPT
# OScam-Webif
-A INPUT -p tcp -m tcp --dport 85 -j ACCEPT
Und so sieht die Netztwerkkarte aus.

Code: Alles auswählen

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 192.168.178.26
        netmask 255.255.255.0
        broadcast 192.168.178.255
        gateway 192.168.178.1
        post-up iptables-restore < /etc/iptables.up.rules
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von feissmaik »

Naja wegen der Firewall; eigentlich brauchst du auf deinem LAN-Server keine gesonderte Firewall einrichten ... Das der VPN-Anbieter alle Ports "offen" hat bedeutet denk ich mal nur, dass du einen Port nicht extra von denen öffnen lassen musst oder das die nur bestimmte Bereiche erlauben etc - du kannst den jeweiligen Port halt selber bestimmen

Ich würde es also lieber erstma genau testen bevor ich für irgendwas ne Firewall einrichte ;)

eth0 ist hierfür aber eigentlich auch uninteressant - an dessen Konfiguration ändert sich denk ich mal trotz VPN nichts, oder?

Wie gesagt, ich vermute zZt das sich deine VPN nach der Router-Zwangstrennung nicht neu verbindet - dh wie die VPN Konfiguration aussieht, das wollte ich eigentlich wissen :)

Dabei handelt es sich ja denk ich mal um einen LAN-Server wie ich hier blind vermutet habe, oder?
Das hiese, sobald VPN eine verbindung hergestellt hat werden alle Datenpakete die von diesem LAN-Server "verschickst" über das VPN-device getunnelt/umgeleitet... Wenn du dann entweder selber die Internetverbindung trennst oder das eben die Zwangstrennung erledigt, muss der VPN-Dienst auch die Verbindung zum VPN Anbieter neu herstellen ansonsten kommt halt "no route to host" weil die jeweilige Internet-Addresse über tap0 nicht erreicht werden kann, das tap0 hat dann ja garkeine Verbindung mehr

Dh du musst nach einer Zwangstrennung - oder allg. nachdem du eine neue IP von deinem ISP gekriegt hast - die VPN Verbindung auch neu aufbauen...

Dazu habe ich hier 2 Scripte für die crontab aber funktion kann ich nicht garantiern:
Spoiler
Show
1)

Code: Alles auswählen

#!/bin/bash
./openvpn --daemon --config client.ovpn
while true
do
 if !(ping -c 1 192.168.179.10) # IP aus fremdem Netz anpingen
 then
  killall -9 openvpn
  sleep 5
  cd /var/tmp/
  ./openvpn --daemon --config client.ovpn
  cd /
 fi
sleep 300
done
2)

Code: Alles auswählen

#! /bin/sh

#uncomment the line for debug_out you want to use
#use /dev/stdout only when not calling from cron
debug_out=/dev/null
#debug_out=/dev/stdout
#NEXTHOP is a host at the other site of the VPN
NEXTHOP=star_pc.xxxtech.com
OPEN_VPN_CMD="/etc/init.d/openvpn restart"
PING=/bin/ping

logger_opts="-t $0"
if [ "$debug_out" = "/dev/stdout" ]
then
        logger_opts="$logger_opts -s"
fi

pckts_rcvd=`$PING -c 8 -q -W 2 $NEXTHOP | grep transm | awk '{print $4}'`
echo "host: $NEXTHOP, pckts_rcvd: $pckts_rcvd" >$debug_out
if [ $pckts_rcvd -eq 0 ]
then
        echo "Connection with $NEXTHOP lost, resetting" | logger $logopts
        $OPEN_VPN_CMD > $debug_out
else
        echo "Connection with $NEXTHOP up, no action" | logger $logopts
fi
Btw was ich gerade lese gibts da eigentlich auch eine Einstellung für, default 120sec dh nach 2min müsste VPN die Verbindung eigentlich selber versuchen neu aufzubauen:
--ping n Falls der OpenVPN-Tunnel n-Sekunden lang nicht benutzt wird, wird ein ping an den VPN-Partner gesendet.
--ping-restart n Falls innerhalb von n Sekunden kein Ping oder Datenpaket vom VPN-Partner empfangen wurde, wird der OpenVPN-Tunnel neu gestartet.
--keepalive n m ist eine Abkürzung für “--ping n --ping-restart m
also zb: keepalive 10 30
Du musst nicht kämpfen um zu siegen
gifftstaub
IPC Neuling
Beiträge: 37
Registriert: Mi 20. Apr 2011, 18:26
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von gifftstaub »

Laut dem VPN Anbieter solte die openvpn.config so Eingebaut werden.

Code: Alles auswählen

float
client
dev tap
proto udp
nobind

; Cert
ca /etc/openvpn/keys/ca.crt
ns-cert-type server
cipher BF-CBC	#Blowfish

;Vpn server

remote-random
remote melissa.vpntunnel.se 1194
remote melissa.vpntunnel.se 10010
remote melissa.vpntunnel.se 10020

;Auth
auth-user-pass passwort.txt #passwd

persist-key
persist-tun

; Logging
comp-lzo
verb 3
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von feissmaik »

ach gottchen - mag ja sein das der Anbieter diese Config vorgibt - aber normalerweise versteht "man" unter Linux-Server son ding im Internet was perm online is.... Meinste nich, man kann sich seine VPN Config auch selber basteln und kommt dann trotzdem ans Ziel?


wie gesagt - wenn sich dein ROUTER neu einwählt, kriegt dein LAN-SERVER davon nichts mit und die VPN Verbindung muss dann eben neu hergestellt werden weil sich deine Internet-IP geändert hat...



....wennde das nicht verstehen willst kann dir warscheinlich keiner wirklich helfen und so langsam hab ich auch kein nerv mehr weilde irgendwas anderes postest wonach aber keiner gefragt hat oder was auch immer... für mich unverständlich wieso du die firewall config postest wenn ich aber nur frage, wieso du die nutzt... oder das du deine eth0 config postest obwohl ich nach der vpn config gefragt hatte etc
Du musst nicht kämpfen um zu siegen
gifftstaub
IPC Neuling
Beiträge: 37
Registriert: Mi 20. Apr 2011, 18:26
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von gifftstaub »

Allso fasse ich mal zusammen.

1. Die Firewall auf dem Debian Deinstallieren.
2. die CS Port im Router Normal am Lan Server Weiterleiten.
3. In der Cron die Scrips Einbauen.
4. ddclienten config Umstellen.

Ich habe mich noch nie damit beschäftigt gehabt ein openvpn zu Konfigurieren! darum frage ich ja nach einer Lösung.

gruß
gifti
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: ddclient DynDns und VPN anbieter

Beitrag von feissmaik »

....trotzdem postest mir die etho cfg obwohl ich nach der vpn cfg fragte oder das du mir die firewall postet obwohl ich nur frage warum du die nutzt....

genauso wie du jetzt meinst das ich gesagt hätte, firewall deinstalliern.... ich sagte das man sowas vorher testen sollte bevor mans einfach "macht" ... oder das du die Scripts nehmen sollst hab ich auch nich gesagt - da oben steht das es eigentlich auch über VPN gehen müsste (wieso muss ich mich immer wieder wiederholen?)...... du weisst also weder ob du es brauchst oder ob du es nicht brauchst weildes einfach nur gemacht hast und genau das hab ich bemängelt genauso wie ich eben glaube das du nicht ganz verstehst wofür VPN is und das dass quasi wie nen 5. Rad am Wagen is wenn deine Clients alle kein VPN haben - nicht mehr und nicht weniger....
Du musst nicht kämpfen um zu siegen
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste