Kirjoittaja Aihe: Onnistuneen verkko-ohjelmoinnin edellytykset...  (Luettu 14560 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

anoa

  • Vieras
Onnistuneen verkko-ohjelmoinnin edellytykset...
« : 20.04.2007 - klo:21:54 »
Hei!

Asiakas-palvelin -ohjelmointi olisi saatava jollakin lailla haltuun tai edes toiminaan. (...yksinkertaisia TCP, UDP ja soketti toteutuksia "Unix Network Programming" kirjan pohjalta.)

Homma toimii, kun käytän yhtä konetta, mutta kahden koneen välillä on jotakin pielessä. En vaan saa yhteyttä pelaamaan.

Mitä pitää tarkistaa/muuttaa jne. jotta homma toimisi?

Kumpi on parempi...
1. adsl -> kytkin -> (pc*2) (molemmat koneet suoraa nettiin...)
vai...
2. adsl -> pc_1 -> kytkin -> pc_2 (jollakin lailla erillinen sisäverkko)
-tämä vaihtoehto on kuvattu edellä mainitussa kirjassa.

PS. Jos osaaminen linux/suse maailmasta on vielä ohutta, niin tällä alueella se on läpikuultavaaa

Vielä kokoonpanosta...
PC_1 (desktop)
-openSUSE 10.2
-verkkokortti 100M  >> ADSL
-verkkokortti 1000G >> LAN

välissä kytkin

PC_2 (laptop)
-openSUSE 10.2
« Viimeksi muokattu: 20.04.2007 - klo:23:11 kirjoittanut anoa »

juippis

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #1 : 21.04.2007 - klo:08:58 »
Blob blob. Mites tuo on tällä hetkellä rakennettu? Muista että tietokone <-> tietokone -yhteys vaatii ristiinkytkettyä piuhaa ja kytkin <-> tietokone taasen suoraankytkettyä.

Se, miten tuo kannattaa rakentaa lopuksi, riippuu ihan käyttötarkoituksesta. Onko tarkoituksena jakaa tiedostoja koneiden välillä vai pitää toista konetta toisen palomuurina? Vai mitä.

Kannattaa asettaa YaST:sta kumallekin koneelle lisä-IP:ksi joku aliverkon IP, staattisena toki. Se voi olla muotoa 192.168.0.2 ja toisella koneella 192.168.0.3. Kokeile sitten pingata koneelta 1 koneen 2 IP:tä. Jos ping pelittää, on yhteys muodostettu.

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #2 : 21.04.2007 - klo:10:12 »
Kaapelit OK!

Tarkoitus on tehdä toisesta koneesta palvelin ja toisesta asiakas sekä opetella verkko-ohjelmointia (UDP, TCP, socket).

Testasin yhteyttä kokoonpanolla ( ADSL <-> palvelin <-> kytkin <-> asiakas ) >> ei toiminut
ADLS-purkissa on neliporttinen kytkin, jonka yhden portin takana ovat em. koneet ja laitteet

Nykyinen kokoonpano on ( ADSL <-> kytkin <-> pc:t  >> molemmista pääsen nettiin ja molemmissa koneissa IP-osoite haetaan käyttämällä DHCP:tä?? >> pitääkö muuttaa staattiseksi?

Lisäsin YaST:n kautta molemmille lisäosoitteet ( palvelin 192.168.0.110 ja asiakas *.*.*.111 ) >> ei pingaa
  cust@client:~> ping 192.168.0.110
  PING 192.168.0.110 (192.168.0.110) 56(84) bytes of data.
  From 192.168.0.101: icmp_seq=1 Destination Host Unreachable


Piti käyttää perinteistä moodia lisäosoitteiden tekoon, mutta piti vaihtaa moodi taas käyttäjän hallinoinmaa, koska nettiyhteys katosi.

Tarviiko koneiden palomuureihin tehdä muutoksia (sisäiset ja ulkoiset vyöhykkeet, naamioinit, sallitut palvelut jne.)
« Viimeksi muokattu: 21.04.2007 - klo:10:18 kirjoittanut anoa »

Poissa jmp

  • openSUSE Member
  • *
  • Viestejä: 4541
  • Sukupuoli: Mies
    • openSUSEa suomeksi
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #3 : 21.04.2007 - klo:10:16 »
Lisäsin YaST:n kautta molemmille lisäosoitteet ( palvelin 192.168.0.110 ja asiakas *.*.*.111 ) >> ei pingaa
- piti käyttää perinteistä moodia lisäosoitteiden tekoon, mutta piti vaihtaa moodi taas käyttäjän hallinoinmaa, koska nettiyhteys katosi.

Onhan tuo asiakkaan osoite 192.168.0.111?
Ja muistakaa pitää hauskaa ;)

openSUSE Tumbleweed (x86_64)

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #4 : 21.04.2007 - klo:10:22 »
Asiakkaalla on näemmä pari ip:tä
 DHCP:n antama 192.168.0.101 ja itse lisäämäni 192.168.0.111

Palvelin puolestaan
  DHCP: 192.168.0.100 ja lisäämäni IP: 192.168.0.110

PING toimii, kun käyttää noita DHCP:n IP osoitteita, mutta lisäosoitteita käyttäessä tulee
  cust@client:~> ping 192.168.0.110
  PING 192.168.0.110 (192.168.0.110) 56(84) bytes of data.
  From 192.168.0.101: icmp_seq=1 Destination Host Unreachable
« Viimeksi muokattu: 21.04.2007 - klo:10:29 kirjoittanut anoa »

Poissa jmp

  • openSUSE Member
  • *
  • Viestejä: 4541
  • Sukupuoli: Mies
    • openSUSEa suomeksi
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #5 : 21.04.2007 - klo:10:31 »
Asiakkaalla on näemmä pari ip:tä
 DHCP:n antama 192.168.0.101 ja itse lisäämäni 192.168.0.111

Palvelin puolestaan
  DHCP: 192.168.0.100 ja lisäämäni IP: 192.168.0.110

Poista nuo lisäämäsi osoitteet, niillä et tee mitään.
Ja muistakaa pitää hauskaa ;)

openSUSE Tumbleweed (x86_64)

fsu

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #6 : 21.04.2007 - klo:10:32 »
Juu, eli ennen verkko-ohjelmointia kannattaa chekata ihan verkon ongelmat.
Pingaako koneet?
Koodia: [Valitse]
ping 192.168.x.y
Kiertääkö liikenne palveluntarjoajasi kautta, vai oletko määritellyt kummallekkin koneelle sisäverkon ip-numerot?
Koodia: [Valitse]
traceroute 192.168.x.y(winkussa ko. komento on "tracert", eikä "traceroute")
Jos traceroute tulostaa useamman rivin, niin liikenne kiertää palveluntarjoajan kautta, joka saattaa myös blokata portteja. Jos taas rivejä tulee ~1-2, niin sitten liikenne menee suoraan toiselle koneelle. Tällöin ainut, mikä liikennettä voi blokata on omat palomuurisi.
openSUSE:ssa voit kytkeä palomuurin pois päältä kirjoittamalla roottina:
Koodia: [Valitse]
rcSuSEfirewall2 stopMuurin saat takaisin päälle kirjoittamalla muuten sama, mutta korvaa sana "stop" sanalla "start".
Jos(ja kun?) ongelma on palomuureissa, niin voit avata muurista tarvittavan portin käyttämällä yastia.


EDIT: olis varmaan kannattanut lukea noi väliajalla tuleet postaukset.. eli verkko ei selvästikkään toimi, kun ping ei kulje koneelta toiselle. Ja tosiaan, kuten jmp sanoi, että poista ne turhat osoitteet.
Juippikselle sen verran infoksi, että suurinosa uusista verkkokorteista osaa kääntää kaapelit, jos on tarvis. Tosin onhan tämäkin juttu hyvä tarkistaa..

En tiedä, mikä adsl-purkin ip on, mutta oletan että se on vaikka 192.168.0.1(voi olla myös 192.168.0.254). kokeile pingata kummaltakin koneelta purkkiin. Tämä ehkä rajaa ongelmaa pienemmälle aluelle. Tarkista, että aliverkon peitteet, gatewayt ja dns-ositteet on kummassakin koneessa myös kunnossa. (vaikka gateway ja dns ei suoranaisesti vaikutakkaan)
« Viimeksi muokattu: 21.04.2007 - klo:10:45 kirjoittanut fsu »

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #7 : 21.04.2007 - klo:10:45 »
Koneet pingaa DHCP:n antamilla ip-osoitteilla.

traceroute antaa tulokseksi:

asiakas koneella... (palvelin 192.168.0.100)
  client:/home/user # traceroute 192.168.0.100
  traceroute to 192.168.0.100 (192.168.0.100), 30 hops max, 40 byte packets
   1  * * *
   2  * * *
   3  * * *

Koneen oma ip...
  client:/home/user # traceroute 192.168.0.101
  traceroute to 192.168.0.101 (192.168.0.101), 30 hops max, 40 byte packets
  1  192.168.0.101 (192.168.0.101)  0.000 ms   0.000 ms   0.000 ms


Taitaa mennä sinne palomuurin puolelle vai? Mitenkäs se portti avataan oikein, kun eilen sitä yritin tehdä, mutta...
« Viimeksi muokattu: 21.04.2007 - klo:10:49 kirjoittanut anoa »

fsu

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #8 : 21.04.2007 - klo:10:50 »
Muokkasin tota edellistä viestiä. kannattaa lukea se loppu kans. Eli ennen ohjelmointia ja portti-ongelmien selvittelyä varmista, että verkko toimii. kun ping toisenKoneenIp toimii, niin sitten voit alkaa selvittelemään portteja ja palomuurin portti-ongelmia.

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #9 : 21.04.2007 - klo:10:58 »
pingaukset toimivat >> molemmilla olen paraikaa netissä
adsl:n ip=192.168.0.254
dns=OK
peitteet=OK

YaST...

- Verkon asennustapa=käyttäjän hallinoima verkkotyökalun avulla
- Automaattinen osoitteenmääritys(DHCP)
- Gateway=disploiutu

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #10 : 21.04.2007 - klo:11:02 »
edelliseen tarkennus:

pingaukset toimivat tarkoittaa juuri sitä, että ping toisenKoneenIp toimivat.

Ps. on toiminut koko ajan paitsi ehkä silloin kun kokeilin sitä toista konoonpanoa ?
(lue: olinpas törppö, kun en sitä silloin heti tarkistanut)
« Viimeksi muokattu: 21.04.2007 - klo:11:04 kirjoittanut anoa »

fsu

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #11 : 21.04.2007 - klo:11:11 »
pingaukset toimivat >> molemmilla olen paraikaa netissä
adsl:n ip=192.168.0.254
dns=OK
peitteet=OK

YaST...

- Verkon asennustapa=käyttäjän hallinoima verkkotyökalun avulla
- Automaattinen osoitteenmääritys(DHCP)
- Gateway=disploiutu

Käytännössä tämä on pieni mahdottomuus.. Ellet sitten käytä jotain thinclient-ratkaisua.. Gateway täytyy olla asetettuna, jotta pääset lähiverkostasi muihin verkkoihin. gateway on osoite, johon pukataan kaikki paketit, joille ei löydy määränpäätä(esim. www.google.com->googlenIp, jos googlenIp ei ole lähiverkossasi, niin sitten pyyntö lähetetään gatewaylle).
Kuulostaakin siltä, että olet asettanut joitain asetuksia, jotka ei vaan ole voimassa. Kokeileppa käynnistää verkkoa uusiksi kirjoittamalla seuraava roottina:  rcnetwork restart
(HUOM! jos olet poistanut gatewayt, niin verkko lakkaa toimimasta!)

edelliseen tarkennus:

pingaukset toimivat tarkoittaa juuri sitä, että ping toisenKoneenIp toimivat

Jeps.. no tämä kuulostaa hyvältä. Seuraavaksi sinun kannattaa kytkeä palomuurit molemmista koneista pois päältä ja testiä, toimiiko ohjelmasi. jos, niin sitten ongelmasi on muurin portti-asetuksissa. jos ei toimi, niin vika on ohjelmassasi.
Palomuurin voit korjata avaamalla: yast -> security & users -> firewall -> allowed services -> advanced
Lisää portit ohjeiden mukaan.

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #12 : 21.04.2007 - klo:11:23 »
lisäsin YaST > Verkkopalvelut > Reititys kohtaan gateway=192.168.0.254
Yllätys yllätys nettiyhteys lakkasi toimimasta ja kun poistin sen - yhteys toimii jälleen.


Herättääkö tämä mitää ajatuksia? ( copy-paste YaST:n palomuurin yhteenvedosta... )

Palomuurin käynnistys
   - Käynnistä palomuuri käynnistyksen yhteydessä
   - Palomuuri tulee käyttöön kun määritykset saadaan kirjoitettua

Sisäinen vyöhyke
   - Vyöhykkeelle ei ole kohdistettu liitäntöjä.

Demilitarisoitu vyöhyke
   - Vyöhykkeelle ei ole kohdistettu liitäntöjä.

Ulkoinen vyöhyke
  Liitännät
      - Fujitsu 88E8055 PCI-E Gigabit Ethernet Controller / eth-id-...
      - Intel PRO/Wireless 3945ABG Network Connection / wlan-bus-pci-...
      - 'any' Kohdistamattomat liitännät kohdistetaan tähän vyöhykkeeseen.

  Avoimet palvelut, portit ja protokollat
      - Vyöhykkeellä ei ole avoimia portteja.

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #13 : 21.04.2007 - klo:11:29 »
ohjelma toimii, kun sammutan molempien koneiden palomuurit

Laitoin eilen juuri tuohon kohtiin UDP ja TCP portin arvoksi 10101 (sisäiselle vyöhykkeelle, koska tuolloin koneet olivat omassa LAN:ssa) mutta RPC ja IP-protokollai jätin tyhjiksi.

Mihin niistä se tulee laitta (ulkoinen, sisäinen vai demi..) Onko ulkoisessa jotakin tietoturva juttua vielä huomioitavana?

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #14 : 21.04.2007 - klo:11:44 »
Nyt se toimii myös ulkoisen vyöhykkeen kanssa.

Laitoin ulkoiselle vyöhykkeelle UDP-portin ja TCP-portin arvoiksi käyttämäni portin numeron ja homma toimii. Eilen tein ihan saman, mutta sisäiselle vyöhykkeelle, koska kokoonpano oli toisenlainen. Eikä toiminut, mutta enhän tuolloin edes pingaillut (syvää itseruoskintaa) ja siten en tiedä toimiko edes verkko.

Onko tuo ulkoinen vyöhyke siis turvallinen?

Mitenkäs tuo sisäinen tai demilitarisoitu vyöhyke?

Jos rakennan verkon siten, että... ADSL <-> palvelinPC <-> kytkin <-> asiakasPC (palvelinPC:ssä kaksi verkkokorttia)
ja opettelen verkko-ohjelmointia asiakkaan ja palvelimen välillä lähiverkossa, niin..
- tuleeko ko. portti avata sisäiselle vyöhykkeelle vai jonnekin muualle
- miten asiakasPC:n pääsy nettiin (silloin kun palvelinPC on päällä)
- tietoturva?

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #15 : 21.04.2007 - klo:12:33 »
Hommahan toimii nyt kahden pc:n välillä siten, että pääsen harjoittelemaan verkko-ohjelmointia joten sanon Kiitokset kaikille vaivannäöstään tässä vaiheessa :)

Tuo sisäinen, ulkoinen ja demilitarisoitu on vielä isojen kysymysmerkkien peitossa, mutta en stressaa sitä sen enempää... niin ellei siinä ole jotakin tietoturva juttua?

Kiitos

fsu

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #16 : 21.04.2007 - klo:13:30 »
Jeps, eli verkkokortti voi kuulua kerrallaan vain yhteen alueeseen: sisäiseen, ulkoiseen tai demilitarized-zoneen.

ulkoverkko
Kaikki verkkoliittymät, jotka keskustelee "pahan maailman" kanssa. Ulkoverkosta voi tulla hyökkäyksiä yms. joita suojellaan palomuurilla

sisäverkko
Kaikki verkkoliittymät, jotka on palomuurin takana. ns. suojattua aluetta. Tänne ei suoraan pääse ulkoverkosta. 192.168.x.x ja 10.x.x.x -ip-osoitteet on yleensä hyvä merkki sisäverkosta.

demilitarisoitu(DMZ)
http://en.wikipedia.org/wiki/Demilitarized%5fzone%5f%28computing%29
* ulkoverkko -> ei pääsyä sisäverkkoon tai dmz:n.
* sisäverkko -> pääsy ulkoverkkoon ja dmz:n.
* dmz -> pääsy ainoastaan ulkoverkkoon. (ulkoverkosta yleensä ohjataan joku portti dmz-alueella olevalle koneelle)

Eli idea on laittaa dmz:n palvelimia yms, jotka ei suoranaisesti ole "luotettavia" ja niitä ei jostain syystä haluta päästää sisäverkkoon. sisäverkosta kuitenkin pääsee dmz:n ja ulkoverkkoon.

EDIT: viimenen sulku jäi linkistä pois.
« Viimeksi muokattu: 21.04.2007 - klo:13:48 kirjoittanut fsu »

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #17 : 21.04.2007 - klo:14:36 »
siis pitääkö tehdä muutoksia?

KOKOONPANO 1 ( nykyinen+toimiva ) ( ADSL <-> kytkin <-> pc1 ja pc2 )

- adsl         192.168.0.254
- pc1         eth0:   ei käytössä
                eth1:     192.168.0.100        Käyttö:   omat palvelinohjelmat
- pc2         eth0:   192.168.0.101          Käyttö:   omat asiakasohjelmat

   Palomuurin asetuksista...
   - pc1
      - liitynnät
         - eth0:   sisäinen vyöhyke (ei käytössä)
         - eth1:   ulkoinen vyöhyke

      - sallitut palvelut
         - ruksi kohdassa "Suojaa palomuuri sisävyöhykkeeltä
         - lisäasetukset kohtaan:
            - TCP-portti:   12345 ( esim. )
            - UDP-portti:   12345 ( esim. )

   - pc2:
      - liitynnät
         - eth0:   ulkoinen vyöhyke

      - sallitut palvelut
         - ruksi kohdassa "Suojaa palomuuri sisävyöhykkeeltä
         - lisäasetukset kohtaan:
            - TCP-portti:   12345 ( esim. )
            - UDP-portti:   12345 ( esim. )


KOKOONPANO 2 ( UNP -kirjan mukainen ) ( ADSL <-> pc1 <-> kytkin <-> pc2 )

- adsl                   192.168.0.254
- pc1         eth0:   192.168.0.110      Käyttö:   omat palvelinohjelmat
                eth1:   192.168.0.100      Käyttö:   internet
- pc2         eth0:   192.168.0.101      Käyttö:   omat asiakasohjelmat

   Palomuurin asetuksista...
   - pc1
      - liitynnät
         - eth0:   ??
         - eth1:   ??

      - sallitut palvelut
         - ??

   - pc2:
      - liitynnät
         - eth0:   ??

      - sallitut palvelut
         - ??

Myöhemmin on tarkoitus laittaa - opettelu ja kentien ihan tarpeenkin takia - tuohon pc1:een kaiken maailman verkkopalveluja pystyyn. Kiva olisi myös jakaa esim. musiikki jne. Mullahan ei ole laittaa yhtä konetta vain ja ainoastaan palomuuraus hommiin. Mitä siihen ADSL tai perässä olevaan pc:hen nyt oiken voi laittaa?

fsu

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #18 : 21.04.2007 - klo:15:16 »
siis pitääkö tehdä muutoksia?

heh.. ei tarvitse tehdä muutoksia, jos kaikki toimii. Koitin vaan selventää(ilmeisesti ei paljoa selventänyt... ;) ) edellisellä postauksella, mikä ero noilla aluejaoilla on..
Ehkä tossa toisessa kokoonpanossa voisi määrittää PC1.eth0:n ja PC2.eth0:n sisäverkoksi.. Katso, kuinka parhaimmaksi näät. Kyse on vaan palomuurin asetuksista ja miten se luokittelee eri verkkoliitännät.

anoa

  • Vieras
Vs: Onnistuneen verkko-ohjelmoinnin edellytykset...
« Vastaus #19 : 21.04.2007 - klo:15:46 »
Kyllä se selvensi aluejakoa, mutta ei kaikkea tietoturvasta eli turvallisuuden tunteesta ;)

Mua vähän hämää - näenkö uhan, jota ei edes ole olemassa - se, kun tuossa yllä olevassa pitkässä kuvauksessani nykyisessä ja siis toimivassa kokoonpanosa on TCP ja UDP portit avattu ulkoisessa vyöhykkeessä. Näenkö siinä siis ihan turhaan mörön kuvan.

Lainaus
Ehkä tossa toisessa kokoonpanossa voisi määrittää PC1.eth0:n ja PC2.eth0:n sisäverkoksi..
Tätähän ihan alunperin yritinkin väsätä, mutta jokin oli pielessä. Toiseksi miten pc2 pääsee nettiin jos pc1 on päällä ja kun se ei ole päällä. Jälkimmäiseesä vaihtoehossa kannan kannetavan naapurihuomeeseen ja kytken seinään ja toimii.

Onko ok kytkeä pc2, jossa verkkokortti on palomuurissa määritelty sisäiseen vyöhykkeeseen,  esim. adsl:n toiseen porttiin ja surffata ainakin se toimii, mutta ne möröt ;)
Toinen juttu on sitten käyttää tuota WLANia, mutta virittelen sitä tuonnempana.