Lähiverkkokysymyksiä

Noniin, elikkä olisi kasa kysymyksiä liittyen lähiverkkoon, tiedostojen jakoon, etähallintaan jne.

Tavoitteena siis olisi saada ohjattua konetta B koneelta A lähiverkon yli (netin läpi ei ole tarvis eikä mieluiten edes suotavaa) sekä lukea koneella B tiedostoja jotka sijaitsevat koneen A levyllä (kirjoitusoikeutta ei tarvitse).

Molemmissa koneissa on linux, molemmissa on nettiyhteys ja toinen IP-osoite lähiverkkoa varten. Koneet eivät siis ole NATin takana. Samaan lähiverkkoon on ehkä tulossa yksi Windows-kone jos se nyt vaikuttaa johonkin.

Osittain tämä onkin jo hanskassa, esimerkiksi ssh:lla pääsen kyllä käpistelemään toista konetta mutta pikkuisen kyselisin mielipiteitä ja vinkkejä toteutukseen ettei tule tehtyä ihan sutta ja sekundaa. Manuaaleja ja helppejä on kyllä tullut lueskeltua, mutta niissä on niin paljon tietoa ettei niistä uppoa päähän yhdellä tai kahdella lukemiskerralla kaikkea tarvittavaa.

  1. Koska tuolle etäkäytettävälle koneelle ei tarvitse päästä ssh:lla kuin lähiverkon kautta, tuota ssh:ta varmaan voisi jotenkin viritellä turvallisemmaksi. Eli teen varmaan palomuuriin säännön, että ssh sallitaan vain lähiverkosta? Pitäisikö jotain muuta kenties huomioida? Onko ssh:n asetuksissa jotain mitä kannattaisi ottaa huomioon?

  2. Mitenkäs tuo tiedostonjako kannattaisi toteuttaa? Jos minulla on esimerkiksi /home/user/jako1 ja /home/user/jako2 joista pitäisi toisella koneella päästä lukemaan tiedostoja. Käsittääkseni tuon voi toteuttaa useammallakin tavalla, mutta koska verkkoon saattaa tulla windows-kone niin tuo varmaan pitäisi tehdä samballa jos vaikka tulevaisuudessa tarvitsee päästä windowsillakin tiedostoihin käsiksi? Vai toimiiko nfs-jaot windowsillakin ja kuinka helposti?

  3. Entäs, jos haluaisinkin hallita tuota toista konetta graafisesti? VNC tulisi nyt itselle ensimmäisenä mieleen, mutta voinko jotenkin muuten käyttää muutamia X-ohjelmia toiselta koneelta käsin? Tämä nyt ei niin kovin tarpeellinen ominaisuus ole, mutta eipähän tarvitsisi juosta toiseen huoneeseen toiselle koneelle tuon takia.

Hei,

  1. Palomuurisääntö on yksi ratkaisu, mutta sshd:kin osaa tuon (mikä ettet toteuttaisi molempia?). Laitat vaan /etc/ssh/sshd_config -tiedostoon ListenAddress -rivin joka viittaa lähiverkkoliityntäsi osoitteeseen. Eli jos lähiverkko-osoitteesi olisi vaikkapa 192.168.5.2, rivi näyttäisi tältä:
    [font=monospace]ListenAddress 192.168.5.2[/font]

  2. NFS on hyvä ratkaisu Linux-koneiden (ja ylipäätään Unix-koneiden) välille. Mikään ei estä sinua asentamasta sekä NFS:ää sekä Sambaa. NFS on Linuxissa hieman Sambaa paremmin kotonaan.

  3. Voit ajaa X-ohjelmia suoraan -DISPLAY kone:näyttö -parametrilla, mutta se vaatii hieman säätöä, jotta ratkaisu olisi millään tapaa turvallinen. Ohjeet tähän löytyvät vaikkapa täältä.. Fiksumpaa on kuitenkin tunneloida X-ohjelmat ssh:n kautta. Tällöin liikenne kulkee salattuna, ja ssh huolehtii yksityiskohdista. Komennat vain:
    [font=monospace]ssh -X etäkone ohjelma[/font]
    Lisätietoja aiheesta löytyy wikin ssh-sivulta.

Kiitoksia… Pitääpä iltasella ottaa pari asennusolutta ja koittaa taas saada näprättyä projektia vähän matkaa eteenpäin. Jos vaikka aloittaisi tuolla ssh:n virittelyllä ja jos vielä jaksaa, niin voisi tuon NFS:n saloihin koittaa päästä sisälle.

Luultavasti siis lisää kysymyksiä on tiedossa… :wink:

Kysymyksiin löytyy vastauksia wikistä, tiedän kun olen itse yrityksen ja erehdyksen taktiikalla asioita opiskellut ja jotain kokemuksistani koittanut kirjoittaa. Ennen asennusoluita kannattaa tarkistaa varmuuskopioiden ajantasaisuus ;).

Juu, tosta vasta tulille laitettavasta koneesta ei niin väliä olekaan, kun oikeastaan kaikki varmuuskopioitava on nämä asetukset ja säädöt mitä siinä koittaa saada toimimaan. Toisesta koneesta sentään on aika hyvin backupit tallessa.

SSH on nyt konffattu kuntoon ja kaikki toimii loistavasti (tosin kerkisin välillä vähän liikaakin kiristämään tietoturvaa kun ei päässyt minnekään ssh:lla).

En saa tuota NFS:ää toimimaan. Wikiä ja man-pageja on luettu mutta en ole keksinyt mikä tuossa oikein on. Heittää tällaista herjaa clientin puolella (Ubuntu):

Warning: rpc.idmapd appears not to be running.
All uids will be mapped to the nobody uid.
mount: unknown filesystem type ‘nfs4’

Mikähän tuohon auttaisi? Serveripuolella konffaus näytti onnistuvan, ainakaan mitään herjoja ei tullut ja yksi testihakemisto näyttäisi olevan nätisti jaossa. Vai pitäisiköhän suosiolla ruveta kikkailemaan sitä sambaa?

Niin, ja tulipahan samalla mieleen… Mitenkäs saa peruskäyttäjän kirjautuessa graafisella puolella ajettua jonkun sellaisen skriptin joka vaatii root-oikeudet? Peruskäyttäjänä saan kyllä käynnisteltyä skriptin mutta sudo kun haluaa salasanan eikä sitä vissiin saa komentoriviltä annettua?

Huomautukseksi vielä, että kyllä tuo tiedostojen jako onnistuu ssh:nkin kautta. Edellytyksenä tällöin, että koneella, jonka tiedostoja halutaan etäkäsitellä, on sshd ajossa, ja että käyttäjällä on jokin käyttäjätunnus molemmilla koneilla. Käytännössä yhteyden voi ottaa jollain seuraavista tekniikoista:

[ul][li]http://linux.fi/index.php/Scp[/li]
[li]http://linux.fi/index.php/SFTP[/li]
[li]http://linux.fi/index.php/FISH[/li][/ul]


NFS vaatii koko joukon erilaisia taustapalveluita toimiakseen. Virheilmoituksen mukaan rpc.idmapd-palvelu ei ole ajossa, vaikka ilmeisesti pitäisi.


Mitä sen skriptin pitäisi tehdä? Jos root-oikeuksille todella on tarvetta, voit käyttää esimerkiksi seuraavia tapoja: laita käyttäjä sopivaan ryhmään, jolle sitten annat s-bitin avulla oikeudet ajaa skripti root-oikeuksin, tee expect-kielellä skripti, joka syöttää rootin salasanan sitä tarvitsevalle ohjelmalle tai määritä sudon avulla, että käyttäjä saa ajaa sen tietyn skriptin ilman salasanaa. Näistä viimeksimainittu on mielestäni paras ja myös tietoturvallisin vaihtoehto. Käytännössä /etc/sudoersiin tulisi siis lisätä jotain seuraavanlaista:

kayttajatunnus ALL=(root) NOPASSWD: /usr/local/sbin/skripti

Oletko muuten harkinnut, että sen root-oikeuksia vaativan skriptin voi myös laittaa ajoon heti koneen käynnistyessä ennen kirjautumiskehotteen ilmaantumista ruutuun. Useimmissa jakeluissa tämä tapahtuu yksinkertaisimmin lisäämällä sopiva rivi /etc/rc.local-tiedostoon, jonka init ajaa viimeisenä ennen kirjautumiskehotteen näyttämistä.

Kiitoksia taas kerran!

Tuo sudoers-homma vaikuttaa fiksulta ratkaisulta. Tietty pienellä skriptin puukotuksella saattaisi tuon saada ujutettua tuohon rc.localiinkin niin säästyisi taas yksi turha sudo-purkka. Pitää vaan varmistaa että kaikki skriptin tarvitsemat palvelut sun muut on pystyssä ennen skriptin ajamista.

Tiedostonjaon hoidin jo samballa kun sen sain pienen tappelun jälkeen (Ubuntun selinux vähän harasi vastaan) toimimaan. Tietoturvariskiä tuskin tuossa tiedostonjaossa on, koska samban portit ovat auki vain lähiverkkoon, ja sielläkin vain juuri noiden kahden koneen ip-osotteille.

Nyt kun saa viriteltyä tuon skriptin vielä toimimaan oikein, voikin kiikuttaa tuon kakkoskoneen lopulliselle paikalleen ja ottaa “tuotantokäyttöön”. Oli näköjään aika passeli kone, prossukuorma näytti pysyvän alle 50% koko ajan paria 80% nopeaa piikkiä lukuunottamatta. Tulipahan taas yksi p2/233@415 hyötykäyttöön…