PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit ez-ipupdate



Seiten : [1] 2

chaox
18.12.05, 22:00
Hi zusammen!

Also, ich bin kurz vor`m Verzweifeln!
Ich hab `n Account bei DynDns gemacht, ez-ipupdate installiert, aber ich krieg einfach keine Verbindung zu meinem Rechner hin (hab`s mit ssh versucht)!

Habe Kanotix, DSL (sitze hinter `nem Router)!
Hier ist meine config datei, vielleicht kann mir jemand helfen....wäre nett!
Ach ja, bin `n ziemlicher Anfänger was Linux angeht...kann es sein das ich meinen ssh-client erst konfigurieren muß damit ich von außen auf meinen rechner zugreifen kann, oder so? :confused:

Wenn ich von nem anderen rechner auf meine dyndns domain zugreifen will, kommt entweder "connection refused", oder er macht einfach garnichts!

#!/usr/local/bin/ez-ipupdate -c
#
# example config file for ez-ipupdate
#
# this file is actually executable!
#

service-type=dyndns
user=meinName:meinPasswort
interface=eth0
host=meinHost.homelinux.net

# other options:
#address=<ip address>
#cache-file=/etc/ez-ipupdate.cache.eth1
daemon


Ach ja, ich habs auch mit ddclient versucht....aber klappt auch nicht!

maxxle
18.12.05, 22:13
DSL (sitze hinter `nem Router)!


Genau da liegt dein Problem.

Dein Router wählt sich ins Internet ein. Somit hat auch dein Router die IP mit der du nach aussen hin sichtbar bist.

=>
1. Dein Router muss DynDNS unterstützen.
2. Dein Router muss Port-Forwarding vom SSH-Port(22) auf deinen Linux-Rechner machen.
3. Wenn 1+2 erfüllt sind kannst du auch von extern auf deinen Rechner zugreifen.


Alternative wäre theoretisch:
Rechner checkt die IP von deinem Router und gibt die dann per ezipdingens an den DynDNS-Provider weiter. Dann brauchst du nur noch ein Port-Forwarding auf deinem Router

hth...


maxxle

chaox
18.12.05, 22:19
1. Mein Router unterstützt DynDNS, hab es auch bereits eingestellt!
2. Port 22 wird auf meinen Rechner weitergeleitet, hab ich auch eingestellt!

Kann es sonst noch was sein?

Ich meine, ez-ipupdate gibt mir auch
$request successful
zurück wenn ich es starte...also sind die Daten ja schonmal alle korrekt...dann muß es ja am Router oder Linux liegen.....ich muß nicht noch irgendwie den ssh-client konfigurieren damit er nach außen hin offen ist, oder so?

thom01
19.12.05, 05:56
Wenn dein Router mit Dyndns umgehen kann und seine IP beim entsprechenden Dienst anmeldet, brauchst du das ez-Dingens auf dem Rechner ja eigentlich so gar nicht mehr.

Kannst du denn lokal mit ssh auf die IP des Rechners verbinden? Also z.B. ssh 192.168.1.27?

chaox
19.12.05, 11:05
Nein, das funktioniert auch nicht *wunder*

Es kommt immer sofort "Connection refused"

chaox
19.12.05, 11:42
hm, also ich hab jetzt mal in der /etc/hosts.allow den Eintrag
ssh: ALL
hinzugefügt, und sshd gestartet.....jetzt kann ich von meinem Rechner aus über meine dyndns-domain auch auf meinen Rechner zugreifen *juhuuu*, aber von außen anscheinend immer noch nocht! :confused:

thom01
19.12.05, 12:19
Mach mal ein "host [DeineDynDNSAdresse]" (ohne die Klammern und Anführungszeichen, versteht sich). Was kommt da raus? Die externe IP deines Routers oder die interne IP deines Rechners? Hast du den DynDNS-Namen in die /etc/hosts eingetragen (ich schätze mal, nicht)? Wenn doch, mit welcher IP?.

Einstellung auf dem Router (DynDns-Update und Portweiterleitung) kontrolliert und das ez-ipupdate rausgeschmissen?

chaox
19.12.05, 12:30
host [DeineDynDNSAdresse == Es kommt die internet IP meines Rechners raus........*grrr*

Portforwarding auf meinem Router müsste stimmen (TCP Port 22) weitergeleitet, dyndns eingetragen!

Hm, und wie trage ich meine dyndns adresse in die /etc/hosts ein?

maxxle
19.12.05, 12:32
Um den Fehler weiter einzuschränken:

1. Die IP notieren, die dein Router vom ISP bekommt
2. Von extern "ssh <ROUTERIP>"

Das hat den Vorteil, das du das Problem schon mal auf entweder DynDNS oder das Portforwarding einschränken kannst.

chaox
19.12.05, 12:36
Ui, das funktioniert!

Also ssh <Routerip> funzt!

chaox
19.12.05, 12:36
Ok, also muß es am Dyndns liegen?

Also um nochmal zusammenzufassen:

Wenn ich local "ssh bla.homelinux.net" eingebe, klappt es auch, von außen nicht!
Wenn ich "host bla.homelinux.net" eingebe, bekomme ich meine interne IP (also 192.168....).

*verzweifel*

Newbie2001
19.12.05, 13:55
also ich blick das jetzt nicht mehr so ganz durch ?
Steht deine dyndns-addresse denn jetzt in der /etc/hosts oder nicht ("cat /etc/hosts" gibt aufschluss).
Du kannst dich von aussen mittels deiner internet-ip auf deinem rechner einloggen ?
Falls ja, dann geht immerhin portforwarding schonmal.
Du sagtest allerdings wenn ich dich richtig verstehe auch, dass "host bla.homelinux.net" deine internet-ip ausspuckt richtig ?
Wenn deine dyndns-ip nicht in der /etc/hosts steht und "host" daher die ip nicht aus /etc/hosts hat, muss dass ja bedeuten, dass sie vom dns-server kommt, was wiederum den rückschluss zuließe, dass das dyndns-update funktioniert. dann müssten allerdings keine probleme auftreten. also muss irgendwas an den von mir getroffenen aussagen falsch sein.

Klärt mich bitte mal jemand auf ?!

Was steht in /etc/hosts ?
Wo läuft der dyndns-client jetzt (router oder dein rechner) ?
Was sagen die nameserver ? (Wenn man sich bei dyndns einloggt wird auch ganz bequem die ip-addresse mit der man sich eingeloggt hat, mit der ip im dns verglichen, damit kannst du abgleichen ob der dyndns-eintrag aktuell ist)

chaox
19.12.05, 14:01
Also, ich hab meinen Rechner jetzt mal neu gestartet, und merkwürdigerweise:

wenn ich jetzt: $host <meinname.homelinux.net> eingebe, bekomme ich meine Internet-IP (also die vom Router als Ausgabe)....weiß auch nicht warum jetzt plötzlich!

In meiner /etc/hosts hab ich nichts eingetragen, da steht nur standartmäßig localhost drin! Soll ich da was eintragen? (keine ahnung hat)

Ich kann mich von außen mittels der IP auf meinen rechner einloggen, aber nur mit der ip, also müsste Port-forwarding ja ok sein!

Und ich hab in meinem dyndns-fähigen Router auch die richtigen daten eingetragen, allerdings läuft bei mir parallel noch ez-ipupdate, soll ich das lieber killen?

chaox
19.12.05, 14:06
Oh MOMENT!!!!
Wie eben erwähnt, hab ich ja meinen Rechner neu gestartet, und jetzt sieht die sache plötzlich `n bisschen anders aus:
$HOST <bla.homelinux.net> gibt mir meine internet-ip aus, nicht mehr meine interne ??!!
$ssh <meineIP> geht von außen plötzlich NICHT mehr
$ssh <bla.homelinux.net> LOCAL geht plötzlich auch nicht mehr!

jetzt raff ich garnichts mehr :-/

Newbie2001
19.12.05, 14:06
ok, also in die /etc/hosts solltest du am besten garnix eintragen, das verfälscht unsere ergebnisse nur. Ich habe mich nur vorhin gewundert, deswegen habe ich nachgefragt. Also /etc/hosts einfach unverändert lassen.
Den ez-ipupdate auf deinem rechner solltest du auf jedenfall killen, weil der sendet nur die falsche ip-addresse. Denn ez-ipupdate auf deinem rechner kennt die internet-ip deines routers nicht, die kennt nur der router. Man könnte sie natürlich übers internet rausfinden, aber ich nehme an, dass ez-ipupdate das nicht macht (der ddclient kann das hingegen soweit ich weiß).
Also den dyndns-updater nur auf dem router laufen lassen, der sollte dann die aktuelle ip zu dyndns senden (einfach mal auf der dyndns.org webseite einloggen und kontrollieren).

chaox
19.12.05, 14:09
ok, da ich `n ziemlicher Anfänger (wie schon erwähnt) bin, sag mir mal bitte wie ich den ez-ipupdate kille, habs schon mit skill usw. versucht, aber er will nicht :-(

$ps aux | grep ez-ipupdate
ez-ipupd 2621 0.0 0.1 1840 716 ? S 13:53 0:00 /usr/sbin/ez-ipupdate -d -c /etc/ez-ipupdate/default.conf -F /var/run/ez-ipupdate/default.pid

Newbie2001
19.12.05, 14:10
$HOST <bla.homelinux.net> gibt mir meine internet-ip aus, nicht mehr meine interne ??!!


Das ist schonmal sehr gut!



$ssh <meineIP> geht von außen plötzlich NICHT mehr


Wieso ? Bist du ganz sicher, dass du die richtige ip hast und nicht dein router sich reconnected hat und nun ne neue ip hat (==> dyndns-webseite aufrufen und checken)



$ssh <bla.homelinux.net> LOCAL geht plötzlich auch nicht mehr!

==> deine aktuelle internet-ip ist nicht im dyndns-server eingetragen (==> webseite aufrufen und überprüfen)

Läuft der ez-ipupdate bei dir noch ? Wenn ja unbedingt killen!

Newbie2001
19.12.05, 14:12
"kill -9 2621" hast du aber schon probiert oder ?

chaox
19.12.05, 14:14
Also, ich flipp gleich aus....
ich hab eben die dyndns-seite aufgerufen und plötzlich gibt
$host <bla.homelinux.net> wieder meine INTERNE IP aus........
und dafür kann ich wieder mit ssh bla.homelinux.net LOCAL auf meinen rechner zugreifen...HÄ????!!!

Edit: das killen hat geklappt, thx!

chaox
19.12.05, 14:17
Ach ja, auf dyndns.org steht bei meinem Account
"IP in database: " 192.168.....
ist das korrekt?
Oder müsste das nicht die des routers sein????

Newbie2001
19.12.05, 14:22
dein problem ist folgendes. da steht nur deswegen die interne drin, weil du immer den ez-ipupdate client auf deinem rechner hast laufen lassen.
dein router gibt dem dyndns-server zuerst die richtige internet-ip, dann kommt der ez-ipupdate client (welcher die internet-ip nicht kennt sondern nur die interne) auf deinem rechner und überschreibt die richtige internet-ip mit der internen-ip mit der man natürlich nix anfangen kann. deswegen kannst du dich jetzt auch lokal connecten (weil lokal ist diese addresse ja bekannt) aber übers internet geht es nicht (da interne addresse im dns steht)
==> verifizieren, dass der ez-ipupdate client tot ist und dann entweder die internet-connection neustarten und warten bis der router die richtige ip in den dns einträgt oder die internet-verbindung bestehen lassen und die richtige ip auf der webseite per hand eintragen.
Um zu testen ob er bei einem reconnect die ip richtig updatet würde ich allerdings einfach mal deine verbindung trennen und neu herstellen, dann hast du ein sichereres ergebnis

chaox
19.12.05, 14:24
ok, ich versuchs gleich mal!
Wie krieg ich das hin, das der ez-ipupdate nicht automatisch gestartet wird wenn ich den rechner neustarte? Also wie kille ich den ENDGÜLTIG?^^

chaox
19.12.05, 14:29
Hm, also ich den clienten ja jetzt gekillt und JETZT steht auch meine korrekte IP bei dyndns.org, nicht mehr die interne (schonmal sehr gut).

und $HOST <bla.homelinux.net> gibt mir jetzt AUCH die internet-ip wieder (auch sehr gut)

Allerdings klappt weder ein ssh-zugriff von innen, noch von außen :-(

Newbie2001
19.12.05, 14:33
kannst du dich mit "ssh 192.168.x.x" also mit deiner internen-ip connecten ?
Also geht ssh im prinzip oder generell nicht ? Läuft ssh überhaupt ? Ist ssh-zugriff in hosts.allow erlaubt ? läuft ein firewall auf dem rechner, welche blockieren könnte.
Ich weiß nicht welche distribution du hast, aber generell verhindert man das starten eines dienstes entweder durch deinstallation (in deinem fall wahrscheinlich das geschickteste) oder man geht unter /etc in den entsprechenden runlevel ordner /etc/rc[0-6].d und löscht dort den link der auf das init-script in /etc/init.d verweist. Das bedeutet du findest mit cat /etc/inittab heraus mit welchem runlevel du startest und gehst dann in den entsprechenden ordner und löscht den link auf den ddclient. wenn du hingegen eine distri mit grafischen tools (SuSE, Mandrake, usw.) besitzt gibt es wahrscheinlich einen einfacheren weg

chaox
19.12.05, 14:40
Also, ich hab jetzt:

-ez-ipupdate mit dpkg -r deinstalliert!
-Rechner + ROUTER neu gestartet!
-mit ps überprüft ob der ez-ipupdate vielleicht doch nocht läuft == tut er nicht (gut).
-$HOST <bla.homelinux.net> == INTERNET-IP (gut)
-dyndns.org aufgerufen, die IP entspricht dort ebenfalls meiner INTERNET-IP (gut)
-ssh läuft (zum testen gehe ich nämlich per ssh auf den server meiner schule und versuche von da aus wieder per ssh <bla.homelinux.net> auf meinen rechner zu connecten == GEHT NICHT (schlecht)
-als root $sshd gestartet (weiß nicht ob das was bringt)

FAZIT: Kann weder local mit ssh <bla.homelinux.net> connecten
NOCH von außerhalb mit ssh<bla.homelinux.net> ODER mit ssh <routerIP>!

Edit: local mit ssh 192.168... klappt!
Edit2: Firewall unter Kanotix ist deaktiviert

Newbie2001
19.12.05, 14:50
Na gut, dann sind wir jetzt ja schon ein ganzes stück weiter
gibt es denn irgendwelche relevanten firewall meldungen ? z.b. in /var/log/messages, /var/log/firewall oder sonstigen logfiles (jede distribution hat da andere). Du sagtest es sei dir bereits einmal gelungen dich durch eingabe der externen ip mit dem rechner von aussen zu verbinden. wieso geht das jetzt nicht mehr ? was hast du geändert. du sagtest du hättest in der /etc/hosts.allow rumgeschraubt ? sieht die nach wie vor genauso aus (SSH:ALL) ?

chaox
19.12.05, 14:56
Du sagtest es sei dir bereits einmal gelungen dich durch eingabe der externen ip mit dem rechner von aussen zu verbinden. wieso geht das jetzt nicht mehr ? was hast du geändert.

Wenn ich das wüsste...ich hab nur den Rechner neu gestartet, sonst KEINE Änderungen vorgenommen, wie schon gesagt!



du sagtest du hättest in der /etc/hosts.allow rumgeschraubt ? sieht die nach wie vor genauso aus (SSH:ALL) ?

Jep, in der hab ich auch nichts verändert, hier ist sie:


# /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5), hosts_options(5)
# and /usr/doc/netbase/portmapper.txt.gz
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper. See portmap(8)
# and /usr/doc/netbase/portmapper.txt.gz for further information.
#
ssh: ALL
sshd: ALL
#ssh sshd : ALL@ALL : ALLOW
#ALL : 127.0.0.1 LOCAL : ALLOW
#ALL : ALL@ALL : DENY


Ich habe also nichts verändert, was das angeht!.......

Und die Firewall ist generell deaktiviert!

Edit: Ich kann mir das ganze nicht erklären, die IP in dyndns.org stimmt überein mit meiner IP vom Router (zeigen die ja auch an)......also kann es doch nicht an der Auflösung liegen, oder?

Newbie2001
19.12.05, 15:00
schonmal mit sshd: ALL : ALLOW probiert ?
Und ssh läuft auch ganz sicher. also wenn du auf deinem rechner "ssh localhost" eingibst dann kannst du dich verbinden ?

chaox
19.12.05, 15:02
schonmal mit sshd: ALL : ALLOW probiert ?
Und ssh läuft auch ganz sicher. also wenn du auf deinem rechner "ssh localhost" eingibst dann kannst du dich verbinden ?

Jep, $ssh localhost klappt einwandfrei!

Du meinst also so: ?


# /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5), hosts_options(5)
# and /usr/doc/netbase/portmapper.txt.gz
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper. See portmap(8)
# and /usr/doc/netbase/portmapper.txt.gz for further information.
#
ssh: ALL
sshd: ALL : ALLOW
#ssh sshd : ALL@ALL : ALLOW
#ALL : 127.0.0.1 LOCAL : ALLOW
#ALL : ALL@ALL : DENY


EDIT: Hab`s so ausprobiert, kein Unterschied! :-(

Newbie2001
19.12.05, 15:06
richtig. oder noch besser sshd: ALL@ALL : ALLOW
das ist zwar nicht unbedingt eine sichere einstellung aber zu testzwecken ist das ok. die syntax der /etc/hosts.allow wird ja in untenstehendem beispiel erklärt. die logische folgerung ist, dass die dein eintrag
sshd: ALL@ALL : ALLOW heißen muss, wobei ich ziemlich sicher bin , dass sshd: ALL : ALLOW auch genügen sollte. wenn ein zugriff auf den dienst abgelehnt wurde sollte dies allerdings auch den logfiles zu entnehmen sein. mal ne ganz andere frage. der sshd lauscht aber schon auf allen interfaces und nicht nur auf lo oder ? Was ergibt "netstat -nlptu" ?