Seite 1 von 2
ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 09:39
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
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 10:04
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...
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 10:12
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.
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 10:42
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?
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 10:54
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
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 12:09
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:
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
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 12:27
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
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 12:34
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
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 12:39
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
Re: ddclient DynDns und VPN anbieter
Verfasst: Mo 22. Aug 2011, 12:46
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....