Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Mistofelees - 19.12.09 - klo:17.03

Otsikko: Kotipalvelin ja ulkoinen IP-osoite. Ratkaisu.
Kirjoitti: Mistofelees - 19.12.09 - klo:17.03
Ainakin minun pitää päästä päivittäin, monesti montakin kertaa omalle kotipalvelimelle taloverkon ulkopuolelta. Käytän tähän ainoastaan SSH/SFTP/SCP:tä. Ongelmia tulee, jos ISP joutuu muuttamaan kotipisteiden IP-osoitteita. Tätä varten on olemassa monenkinlaisia temppuja. Omaan tarpeeseeni kehitin mahdollisimman yksinkertaisen ratkaisun. (Mitä, eikö sinulla ole kotiserveriä ?!)

- Talon ulkopuolisessa verkossa olevalle serverille tehdään yksi sivu: osoite.shtml, jonka sisältönä on ainoastaan yks tagi:
<!--#echo var="REMOTE_ADDR"-->
Tämä tulostaa selaimen ruudulle sivua lukevan työaseman osoitteen.
Haetaan crontab:n ohjaamana tämä osoite wget:llä ja verrataan sitä edellisenä päivänä haettuun osoitteeseen. Mikäli osoitteet ovat erilaiset, lähetetään sähköpostia omaan postilaatikkoon. Postin lähettämiseen käytetään samaa ssmtp -pakettia, joka on jo ladattu serveriin backup-järjestelmän tiedotuksia varten. Backupista olen kirjoittanut jo aiemmin.

Crontabiksi käy vaikka seuraava, joka liipaisee tarkistuksen kolmen tunnin välein joka päivä:
 07 */3 * * * /home/bin/hae_IP/hae_IP.sh 2>> /var/log/cron_root.err 1>>/dev/null

Ohessa listaus käyttämästäni scriptistä
Scriptissä sisällä oleva sähköpostiosoite sekä palvelun tarjoava www-osoite kannattaa vaihtaa. Aion kyllä pitää tuon www-sivun tuolla, mutta en takaa sitä.

------------<hae_IP.sh>-------------
#!/bin/bash
# This script wgets a certain html file from a server outside the home net
# The file contains only an environment tag <!--#echo var="REMOTE_ADDR"-->
# While fetched with wget, the file contains the IP address of home
# Compare this to a day old version and sen a message, if the file has changed.

RECEIVER=mistofeles@postipalvelin.fi
MESSAGE=temp.tmp;
# ------------- system commands used by this script --------------------
ECHO=/bin/echo;
CAT=/bin/cat;
SENDMAIL=/usr/sbin/sendmail;
# ------------- the script itself --------------------------------------
# Copy previous address to another file:
mv osoite.shtml old_IP;
# Get the new value:
wget -q http://www.saunalahti.fi/orfeus/osoite.shtml

# Compare values = files:
cmp -s osoite.shtml old_IP;
if (( $? )) ; then {
        $ECHO "To: $RECEIVER" > $MESSAGE;
        $ECHO -n "Subject: Uusi koti-IP: " >> $MESSAGE;
        $CAT osoite.shtml >> $MESSAGE;
        $ECHO "" >>$MESSAGE;
        $CAT osoite.shtml >> $MESSAGE;
        $ECHO " = Koti-ADSL-liittyman uusi ulkoinen osoite." >>$MESSAGE;
        $CAT $MESSAGE | $SENDMAIL $RECEIVER;
} fi;
------------</hae_IP.sh>-------------
Otsikko: Vs: Kotipalvelin ja ulkoinen IP-osoite. Ratkaisu.
Kirjoitti: Jiku - 19.12.09 - klo:17.48
käyhän se noinkin, mutta eikö dynaaminen nimipalvelu olisi paljon vaivattomampi tapa?
esimerkiksi dy.fi (http://www.dy.fi) -palveluun on helppo päivittää osoite automaattisesti.
joissain adsl-modeemeissa on suoraan tuki dynaamisille nimipalveluille.
itse päivitän crontabilla ajamalla skriptin:
Koodia: [Valitse]
#!/bin/bash
wget --delete-after --no-check-certificate --no-proxy --user=<käyttäjätunnus@domain> --password=<salasana> https://www.dy.fi/nic/update?hostname=<tunnus>.dy.fi
 
Otsikko: Vs: Kotipalvelin ja ulkoinen IP-osoite. Ratkaisu.
Kirjoitti: Mistofelees - 01.01.10 - klo:18.58
käyhän se noinkin, mutta eikö dynaaminen nimipalvelu olisi paljon vaivattomampi tapa?
esimerkiksi dy.fi (http://www.dy.fi) -palveluun on helppo päivittää osoite automaattisesti.

En yhtäkkiä keksinyt, miten saan ssh:n toimimaan ulkoa sisään dy.fi:n kautta toimien.
Toisaalta minulla ei ole tarkoitusta asetaa talon sisäistä www-palvelinta näkymään ulospäin.
SSH/SFTP/SCP ovat täysin riittävät työkalut, kun haluan hakea dokumentteja kotiserveriltä, eikä kenelläkään muulla ole sinne asiaa.
Otsikko: Vs: Kotipalvelin ja ulkoinen IP-osoite. Ratkaisu.
Kirjoitti: mrl586 - 01.01.10 - klo:23.34
Toimiiko tämä?
Koodia: [Valitse]
ssh tunnus@osoite.dy.fi