Homeserver + Dyn DNS

serthy
Halli hallo smile

Ich bräuchte mal eben eure Unterstützung weil ich nicht weiterkomme.
Und zwar: ich habe als test eine kostenlose domain bekommen: codzom.eu von linevast.de.
Mit dem onlinepanel von linevast habe ich die Domain mit cname records auf den codzom.bplaced.net webspace account aufgeschalten. Dazu habe ich die linevast Nameserver benutzt. Auf codzom.eu liegt zur Zeit eine Wordpress Homepage.
Nun habe ich hier als Einstieg zu Linux die neueste Ubuntu Version installiert (mit Desktop) und erfolgreich einen CoD2 Server gestartet (was alleine schon einen Tag für mich Neuling gedauert hat.. smile Ich kann auch schon über LAN auf den Server connecten, das geht soweit.
Nun Versuche ich drei Dinge zu bewerkstelligen:
1. man soll per /connect connect.codzom.eu in CoD2 auf den Server beitreten können (oder über eine IP, erst einmal nicht allzu wichtig),
2. man soll über server.codzom.eu die Serverconsole sehen können (irgendwie, wei nicht ob das geht, auch andere Programme wären dafür möglich)
3. über Putty und putty.codzom.eu von anderen Rechnern draufzugreifen können.

Dazu brauche ich ja eine feste IP --> Dyn DNS Anbieter.
Okay ich habe mich bei http://freedns.afraid.org angemeldet.
Um aber codzom.eu als Domain hinzuzufügen soll ich die Nameserver auf deren Nameserver wieder ändern. Das will ich ja aber nicht, da ich nur zwei Subdomains mit DynDNS verknüpfen will.

Wie gehe ich dabei genau vor?
Ich suche schon seit Stunden und finde nur Tutorials und Anleitungen die das wichtigste (was zu einfach zu sein scheint) weglassen oder schon etwas mehr Wissen voraussetzen.

Könnt ihr mir vielleicht weiterhelfen?


#Edit 1:

Soo ich habe gute Neuigkeiten! Der cod2 server klappt soweit Augenzwinkern
so genau kann ich zwar leider nicht sagen woran es lag aber fürs erste geht es.
Und ich habe spdns.de ausprobiert und das im router eingetragen. Dann auf der domain HP ein cname record auf die spdns.de url gelinkt. Nun kann ich mit /connect connect.codzom.eu auf den server joinen.
Die subdomain werde ich noch entfernen damit es noch einfacher wird Augenzwinkern
Morgen kommt dann die Putty sache und wenn möglich ein console panel dran. Ich plane auch noch ein browser interface und einen TS3 server aber eins nach dem anderen smile

#Edit 2:
Mit Putty komm ich schon einmal per lokaler IP auf den Server. Aber ich glaube man kann, wenn man webspace und gameserver getrennt hat nicht über die selbe url dann einmal auf die Homepage und ein anderes mal auf den server connecten.
Der Ts3 server läuft nun auch, habe noch einmal mit den subdomains rumgespielt und muss erst einmal abwarten bis sich alles aktualisiert hat
Grüße Serthy
Kelli

Zitat:

Original von serthy
Soo ich habe gute Neuigkeiten! Der cod2 server klappt soweit Augenzwinkern
so genau kann ich zwar leider nicht sagen woran es lag aber fürs erste geht es.

DNS ist langsam. Je nach Provider kann das 48 Stunden dauern eh der Broadcast einmal duch das Netz ist.
Und auch dann musst du beim testen aufpassen das du nicht dauernd den cache deines AVM Routers z.B. befragst. Zum testen am besten gezielt die NS befragen, z.B.
dig @8.8.8.8 opferlamm-clan.de
dig @ns5.kasserver.com opferlamm-clan.de
dig @a.nic.de opferlamm-clan.de

(Googles 8er war bei meinen Tests immer der schnellste bei Updates)

Zitat:

Original von serthy
Nun Versuche ich drei Dinge zu bewerkstelligen:
1. man soll per /connect connect.codzom.eu in CoD2 auf den Server beitreten können (oder über eine IP, erst einmal nicht allzu wichtig),
2. man soll über server.codzom.eu die Serverconsole sehen können (irgendwie, wei nicht ob das geht, auch andere Programme wären dafür möglich)
3. über Putty und putty.codzom.eu von anderen Rechnern draufzugreifen können.

Das verstehe ich nicht. Ist das immer der selbe "Server" bei dir zu Hause?
Dann wird das nichts werden bzw macht es keinen Sinn.
connect.codzom.eu --[cname] --> connect.spdns.tld --[ipv4]---> 192.168.255.255
server.codzom.eu --[cname] --> connect.spdns.tld --[ipv4]---> 192.168.255.255
putty.codzom.eu --[cname] --> putty.spdns.tld --[ipv4]---> 192.168.255.255

Bei http oder pop3 wird der ursprünglich "angewählte Name" ausgewertet weil er Teil der Anfrage ist. Aber bei telnet / ssh / rdp / icmp {insertfunnyprotocolhere) funktioniert das nicht.
Du siehst dann bei allen drei Domains das selbe Ergebnis. ipv6 würde helfen Augenzwinkern

Zitat:

Original von serthy
2. man soll über server.codzom.eu die Serverconsole sehen können (irgendwie, wei nicht ob das geht, auch andere Programme wären dafür möglich)

Wenn du nur die Ausgabe sehen willst am einfachsten per netcat
tail -f /games/cod/console.log | nc -l 8080 (Uffpassen rcon Passwörter in manchen Memorydumps)
Wenn du live auch Befehle eingeben willst wird es nur geringfügig komplizierter, aber dafür gibt es doch schon extra das rcon Protokoll und entsprechende Werkzeuge...

Btw - wenn du bei codzom.eu direkt den A Record ändern kannst - dann bau dir doch einen eigenen DynDNS Client der direkt connect.codzom.eu einmal am Tag aktuallisiert.
serthy
Hey erstmal Danke für die ausführliche Antwort! smile

Zitat:

Das verstehe ich nicht. Ist das immer der selbe "Server" bei dir zu Hause? Dann wird das nichts werden bzw macht es keinen Sinn.

Hehehe ich glaub das macht tatsächlich auch keinen Sinn. Ich hatte sowas wie dyn dns für ports im sinn, aber das geht nicht.


Zitat:

Wenn du nur die Ausgabe sehen willst am einfachsten per netcat tail -f /games/cod/console.log | nc -l 8080 (Uffpassen rcon Passwörter in manchen Memorydumps)

Ich schau mir mal netcat an, mal sehn was es so ist, danke für den Tipp!

Zitat:

Wenn du live auch Befehle eingeben willst wird es nur geringfügig komplizierter, aber dafür gibt es doch schon extra das rcon Protokoll und entsprechende Werkzeuge...


Ich habe mir eben mal so ein rcon php script zusammengestellt, klappt soweit ganz gut Daumen hoch Fehlt nur noch etwas schmackes und CSS




Zitat:

Btw - wenn du bei codzom.eu direkt den A Record ändern kannst - dann bau dir doch einen eigenen DynDNS Client der direkt connect.codzom.eu einmal am Tag aktuallisiert.

Mhh wie macht man das genau?

ist das der richtige weg:

dyndns.serthy.com/index.php:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
<?php
    if( $_GET['username'] == 'username' && $_GET['password'] == 'password' )
    {
        $fileHandle fopen'link.html' 'w+' );

        if( $fileHandle )
        {
            $ip $_GET['ip'];

            fputs$fileHandle '<html><body><a href="ftp://' $ip '">ftp://' $ip '</a><p>' $ip '<body><html>' );

            fclose$fileHandle );
        }
    }
?>
Kelli

Zitat:

Original von serthy

Zitat:

Btw - wenn du bei codzom.eu direkt den A Record ändern kannst - dann bau dir doch einen eigenen DynDNS Client der direkt connect.codzom.eu einmal am Tag aktuallisiert.

Mhh wie macht man das genau?

ist das der richtige weg:

dyndns.serthy.com/index.php:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
<?php
    if( $_GET['username'] == 'username' && $_GET['password'] == 'password' )
    {
        $fileHandle fopen'link.html' 'w+' );

        if( $fileHandle )
        {
            $ip $_GET['ip'];

            fputs$fileHandle '<html><body><a href="ftp://' $ip '">ftp://' $ip '</a><p>' $ip '<body><html>' );

            fclose$fileHandle );
        }
    }
?>

Das schreibt die eigene IP in eine lokale Datei mit ein wenig html drumherum (und mit eingbauten XSS Feature smile ) ?!
Nein, also im allgemeinen hat man ja bei dem Domain Anbieter ein Login und ein Web-Formular in dem man die IP Adresse einträgt auf die der A Record zeigen soll.
Wenn da kein Captcha davor ist kann man das ja automatisieren. Dann sparst du dir den Umweg über xyz.dyndns.cba Mir würde jetzt nicht als erstes php einfallen für den Job, aber am Ende ist das egal.
Du hast natürlich recht, der Rechner muss dann laufen, und Mensch braucht einen cronjob der das täglich erledigt, sowas machen die meisten DSL Router nebenbei, und die laufen sowieso immer.
War so eine spontane Idee von mir, aber das muss nicht unbedingt praktikabel sein. Zunge raus
Deichgraf

Zitat:

Du hast natürlich recht, der Rechner muss dann laufen, und Mensch braucht einen cronjob der das täglich erledigt, sowas machen die meisten DSL Router nebenbei, und die laufen sowieso immer.


Richtig, aber läuft der Linux Recher (Server) nicht, braucht man theoretisch auch kein DynDNS...

Bei freeDNS findest du neben deinem Dynamic DNS Eintrag ein "quick crom" Script like this:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
################################################################################
# This is a crontab example for DEINE.DNS.org - (uid: ICH)
# Generated 2014-04-14 11:08:21 PST @ https://freedns.afraid.org/
################################################################################
# NOTES:
# * Works on Mac/Linux/*BSD/*NIX type systems
# * Updates automatically each 5 minutes
#
# INSTRUCTIONS:
# 1) To install, goto a system console, then type: 'crontab -e' (without 
#      apostrophe's) then paste the bottom last line/entry from this file (all
#      on 1 line) and then save
# 2) To list installed crontabs (verifying installation), type: 'crontab -l'
# 3) To verify updates are occuring, wait 5 minutes, then 'cat /tmp/freedns_DEINE_DNS_HIER.log'
# 4) To read more about how crontab works, check out 'man -a crontab' or search 
#      the web for 'installing a crontab' or 'cron' (same thing)
# 
# SOME THOUGHTS:
# - This example is for simplicity, and ultra compatibility
# - I urge you to make updates only when a IP change occurs if you know how 
#      (such as on ifup), or by polling your router status/snmp device first.
#      I wrote a client/daemon 'lastip2.phps' listed on the clients page that 
#      can pull a router status page - however it requires some skill and
#      knowledge of your particular network to set it up properly
# - This below generated example avoids updates when seconds is between :55
#      and :05 to prevent a thundering herd of updates at the minute
# - PATH line may optional, or not! Depends on your system, you may need it 
#      somewhere (at the top) of your cron entry if you don't have one already 
#      defined, include in your path where 'wget' and 'sleep' commands live on 
#      your system
# - You can also run this @reboot, which is great for cloud image / instances, 
#      (no 'sleep' needed if @reboot)
# - 'fetch', 'wget' or 'curl' all basically do the same thing, and should 
#      interchangeably work - you may prefer or use one of those.  There is also
#      'lynx -dump', or 'w3m -dump' - I am sure there are many more!
# 
# Have a better method, or directions? Send it to me!

################################################################################
# Things to check if if doesn't work...:
################################################################################
# Do you need to install wget?  As root, try:
# pkg_add -r wget; apt-get install wget; yum install wget
# 
# Run a manual freedns dynamic update right from your console to check for 
# errors, here's some examples (you can use/modify any update line that works
# within your cron):
# 
# Example #1:
# wget --no-check-certificate -O - https://freedns.afraid.org/dynamic/update.php?Vldjhadskasjhdakjbdeskjbskdjsckkjskdjchskcjhcksjhcsk
# 
# Example #2:
# curl https://freedns.afraid.org/dynamic/update.php?Vldjhadskasjhdakjbdeskjbskdjsckkjskdjchskcjhcksjhcsk
# 
# Example #3:
# fetch -o - https://freedns.afraid.org/dynamic/update.php?Vldjhadskasjhdakjbdeskjbskdjsckkjskdjchskcjhcksjhcsk

# You might need to include this path line in crontab, (or specify full paths)
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

1,6,11,16,21,26,31,36,41,46,51,56 * * * * sleep 19 ; wget --no-check-certificate -O - https://freedns.afraid.org/dynamic/update.php?Vldjhadskasjhdakjbdeskjbskdjsckkjskdjchskcjhcksjhcsk >> /tmp/freedns_DEINE_DNS_HIER.log 2>&1 &



Wenn ich das richtig sehe, must du das nur einmal ausführen (als root) dann aktualisiert der Server deine DynDNS ab Sofort alleine...

Gruß
Deichi
Kelli

Zitat:

Original von Deichgraf

Bei freeDNS findest du neben deinem Dynamic DNS Eintrag ein "quick crom" Script like this:

Ja, Nein.
Das hat er ja schon, und leitet seine Nicht DynDNS Domain auf die DynDNS Domain um.

Zitat:


Um aber codzom.eu als Domain hinzuzufügen soll ich die Nameserver auf deren Nameserver wieder ändern. Das will ich ja aber nicht, da ich nur zwei Subdomains mit DynDNS verknüpfen will.


Mein naiver Plan war ja aus den UN-Dyn-Dns bei linevast.de einen Dyn zu machen, um den Umweg über cname wegzusparen Augenzwinkern
serthy
also so denke ich mir das grade wie man das mit einfachem php umsetzt:
der Router macht eine Anfrage bei jedem IP wechsel über die Update-URL der auf ddns.serthy.com verweist und ip, password und username übergibt. ddns.serthy.com überprüft dann die Daten und speichert die neue IP in nem file. Dann bei jeden anderen Aufruf auf ddns.serrthy.com oder andere subdomains wird dann auf die IP im file weitergeleitet, wodurch man dann auf meinem Server landet.


Ein weiteres Problem:
bei der Engabe in meinem Speedport W900V der Update-URL (.php?system=dyndns&hostname=<domain>&myip=<ipaddr>) etc wandelt er jedesmal die Sonderzeichen in HTML um (&amp; &gt; etc), deshalb funktioniert bei mir momentan der spdns.de DDNS service nicht. Mache ich da was falsch?
Kelli

Zitat:

Original von serthy
bei der Engabe in meinem Speedport W900V der Update-URL (.php?system=dyndns&hostname=<domain>&myip=<ipaddr>) etc wandelt er jedesmal die Sonderzeichen in HTML um (&amp; &gt; etc), deshalb funktioniert bei mir momentan der spdns.de DDNS service nicht. Mache ich da was falsch?

Du machst nichts falsch. Der Speedport macht dummfug.
Versuche mal url encoding
php?system%3Ddyndns%26hostname%3D%3Cdomain%3E%26myip%3D%3Cipaddr%3E

http://www.w3schools.com/tags/ref_urlencode.asp
http://meyerweb.com/eric/tools/dencoder/
Deichgraf
Du bist bei freedns.afraid.org? Dann darfst du nicht "DynDNS" im Router wählen als Anbieter. Ich bin auch bei freedns.afraid.org, mein Update Parameter sieht so aus:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
https://freedns.afraid.org/dynamic/update.php?<ganz_vieles_wirres_zeugs>==



Und der funzt....

Du weist das du deinen Speedport zu einer ganz normalen Fritz!Box flashen kannst?
serthy
Das problem ist wahrscheinlich der Router, warum er mir die URL zerhaut (in HTML Schreibweise umwandelt beim Speichern) ist mir Schleierhaft. Aktuelle Firmware ist drauf und habs auch in verschiedenen Browsern Getestet.

Ja ich hatte schon vor einiger Zeit mal davon gelesen das man den Speedport fritzen kann, aber solange er einigermaßen läuft und mir mal ein Tag nichts sinnvolles einfällt grosses Grinsen kann ich das ja mal in Angriff nehmen Augenzwinkern

Edit: der freedns Account wird jetzt vom Router akzeptiert und auch in den Logs steht kein Fehler mehr
allerdings kann ich nicht mit der dyndns subdomain connecten.. (noch nicht, ich werd wohl einen Tag warten müssen)