Kohtvõrgu alamvõrgutamine

Allikas: Kuutõrvaja

Sissejuhatus

Pahatihti on kohtvõrk ühendatud Internetiga vaid teenusepakkuja ruuteri abil kusjuures kõik töökohad on otse Internetist ligipääsetavad. Näiteks nagu skeemil kujutatud kohtvõrk 193.40.10.128/27:

  • võrgu number - 193.40.10.128
  • võrgu broadcast - 193.40.10.159
  • kasutatavad masinate IP aadressid vahemikus 193.40.10.129 ... 193.30.10.158
              ((   ..-     ) 
          (                      )
     (                              )
  (                                )))
          INTERNET
  (                       .    -)
      ((.                 )
              (----   )
                |
                |
              __|__
             |     |   ruuter
             |__ __|   193.40.10.129
                |
                |
  - - - - - - - | - teie haldusala piir - - - -
                | 
                |      avalik võrk
  |---|---------|--- 193.40.10.128/27 ------|-----|
      |                                     |
    __|__                                 __|__
   |     |          ....                 |     |
   |_____|                               |_____|
  
  193.40.10.130                         193.40.13.158
     

ruuteri ruutingutabelis on kirjas, et Internetist võrgule 193.40.10.128/27 määratud paketid tuleb saata läbi kohtvõrgu poolse võrguseadme edasi. Ning teisipidi, kõik võrgust 193.40.10.128/27 saabunud paketid tuleb saate sobivalt edasi.

Turvalisuse seisukohast on kohtvõrgus soovitav omada ühte masinat läbi mille toimub kõik andmevahetus kohtvõrgu ja Interneti vahel. Tüüpiliselt töötab seal ka IP paketifilter ning vahendusserverid.

Tehniliselt tähendab sellise masina lülitamine kohtvõrgu ja teenusepakkuja ruuteri vahele lisaks uue alamvõrgu (skeemil vahevõrk) moodustamist

                      ((   ..-     ) 
                 (                      )
              (                              )
          (                                )))
                 INTERNET
          (                       .    -)
                ((.                 )
                       (----   )
                           |
                           |
                         __|__
                        |     |   ruuter
                        |__ __|
                           |
                           |
 - - - - - - - teie haldusala piir - - - - - - - - - - - - - - 
                           |
                           | 
 |---|-------------|-------|----- vahevõrk -------------|----|
     |           __|__                                __|__
     |          |     |         ...                  |     |
     |          |_____|                              |_____|
   __|__   
  |     |
  |     |  server
  |__ __|   
     |   
     | 
     |   
 |---|-----------------|--------- sisevõrk ------------|-----|
                       |                               |
                     __|__                           __|__
                    |     |    ....                 |     |
                    |_____|                         |_____|

Vaatleme kahte võimalust kuidas seda teostada

  • ruuting - teenusepakkuja eraldab teile lisaks piisava IP aadressruumi või kasutate ühte osa juba teile eraldatud aadressruumist; sellega kaasneb teenusepakkuja ruuteri konfiguratsiooni muutmine
  • ARPi vahendusserver (ingl. k. - proxy ARP) - eraldate osa oma kasutuses olevas aadressruumist, kusjuures teenusepakkuja ruuteris pole tarvis muudatusi teha

ARP

ARP (Address Resolution Protocol) on tehnika, mida kasutatakse Etherneti võrgus sama võrgu piires võrgukihi datagrammi sihtkoha kindlakstegemisel. Võrgutasemel toimub andmete liikumine etherneti datagrammidena kusjuures võrguseadmeid identifitseerivad MAC aadressid. Iga võrgukaardiga on seostatud lisaks MACi aadressile Interneti tasemel tavaliselt üks IP aadress.

 |---|------------------------|---------------------------|-----|
     |                        |                           |
   __|__                    __|__                       __|__
  |     |                  |     |    ....             |     |
  |_____|                  |_____|                     |_____|
  
     A                        B                           C
                                          
 MAC: 00:20:AF:BF:CC:D8   MAC: 00:A0:24:1D:19:57   MAC: 00:80:AD:B7:EC:1F
  IP: 193.40.10.133        IP: 193.40.10.134        IP: 193.40.10.135


Kui näiteks arvuti A tahab võtta ühendust arvutiga C, siis saadab ta võrku enda MAC aadressi ja arvuti C IP aadressi sisaldava teate, millele peab C reageerima saates vastuseks oma MAC aadressi. Saabunud vastuse salvestab A oma ARPi lattu. Seesugused võrgus toimuvad MAC aadresside päringud on võrgule suhteliselt koormavad, kuid neid ei ole tarvis teha väga tihti. Edaspidi kasutab A C poole pöördumisel oma ARPi laost saadud C MAC aadressi. MAC aadress aegub laos tavaliselt 5 minuti jooksul peale viimast kasutust. Näiteks, eeldusel, et A on äsja suhelnud arvutitega B ja C on tema ARPi lao seis selline

bash# arp -n
Address                 HWtype  HWaddress           Flags Mask            Iface
193.40.10.134           ether   00:A0:24:1D:19:57   C                     eth0
193.40.10.135           ether   00:80:AD:B7:EC:1F   C                     eth0

Alamvõrgutamine ruutinguga ruuteris

Esmalt kirjeldame, kuidas seda teha nö. tavalisel juhul ruutinguga. Eraldame kasutaja olemasolevast IP aadressruumist pool (16-se segmendi), millest saab vahevõrk, teine pool hakkab kuuluma sisevõrku

* vahevõrk - 193.40.10.128/28
* sisevõrk - 193.40.10.144/28 
                       ((   ..-     ) 
                  (                      )
               (                              )
           (                                )))
                  INTERNET
           (                       .    -)
                 ((.                 )
                        (----   )
                            |
                            |
                          __|__
                         |     |   ruuter
                         |__ __|   193.40.10.129
                            |
                            |
  - - - - - - - teie haldusala piir - - - - - - - -
                            |
            vahevõrk        | 
  |---|-- 193.40.10.128/28 -|-------|---------|
eth0  |
    __|__   193.40.10.130
   |     |
   |     |   server
   |__ __|   
      |     193.40.10.145
eth1  | 
      |      
  |---|-----------------|--- 193.40.10.144/28 ------|-----|
                        |        sisevõrk           |
                      __|__                       __|__
                     |     |    ....             |     |
                     |_____|                     |_____|
   
                193.40.10.145               193.40.13.158
     

Et paketid liiguksid internetist vahevõrku, tuleb teenusepakkuja ruuteri ruutingutabelis näidata, et võrku 193.40.10.128/28 suunatud paketid tuleb edasi saata läbi kohtvõrgu poolse võrguseadme. Võrgule 193.40.10.144/28 suunatud pakettide jaoks tuleb ruuteri ruutingutabelis näidata, et nad tuleb edasi saata aadressile 193.40.10.130 so Linuxi masinale, mis nad omakordu sisevõrku ruudib. Lisaks tuleb teenusepakkuja ruuteris muuta kohtvõrgupealse seadme võrgumask ja broadcasti aadress. Oma serveris tuleb tööle seada ruuting selliselt, et väljast tulnud ja sisevõrku suunduvad paketid liiguksid läbi alumise võrguseadme edasi; ning vastupidi, et sisevõrgust lähtuvad paketid liiguksid läbi serveri Internetti.

Linuxi masina sisevõrgu jaoks ruuteriks konfigureerimiseks tuleb anda sarnased korraldused

bash# ifconfig eth0 193.40.10.130 netmask 255.255.255.240 broadcast 193.40.10.143
bash# ifconfig eth1 193.40.10.145 netmask 255.255.255.240 broadcast 193.40.10.159
bash# route add default gw 193.40.10.129

ning lubage pakett edasi suunata. Näiteks kasutades sellist skripti

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

ipchains -F input
ipchains -F output
ipchains -F forward

ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward ACCEPT

Õnnestumisel peab saama näiteks pingida sisevõrgust välja ja väljast sisevõrku. Praktiliselt tuleks järgmise sammuna asuda kindlustama Linuxi masinat ning kaitsma sisevõrku. Tuletagem meelde, et kogu tegevuse mõte oligi eristada osa võrgust, et selle ja ümbritseva vahel toimuvat andmevahetust kontrollida.


Alamvõrgutamine ARPi vahendusserveriga

ARPi vahendusserveriga toimetades tuleb olemasolevast IP aadressruumist osa välja eraldada, näiteks pool:

    * sisevõrk - 193.40.10.144/28 

                       ((   ..-     ) 
                  (                      )
               (                              )
           (                                )))
                  INTERNET
           (                       .    -)
                 ((.                 )
                        (----   )
                            |
                            |
                          __|__
                         |     |   ruuter
                         |__ __|   193.40.10.129
                            |
                            |
  - - - - - - - teie haldusala piir - - - - - - - -
                            |
         avalik  võrk       | 
  |---|-- 193.40.10.128/27 -|-------|--------------|-----|
eth0  |                           __|__          __|__
    __|__   193.40.10.130        |     |  ...   |     |
   |     |                       |_____|        |_____|
   |     |   server           193.40.10.131   193.40.10.143
   |__ __|   
      |     193.40.10.145
eth1  | 
      |      sisevõrk
  |---|-----------------|--- 193.40.10.144/28 ------|-----|
                        |                           |
                      __|__                       __|__
                     |     |    ....             |     |
                     |_____|                     |_____|
   
                193.40.10.146               193.40.13.158

ARPi vahendusserverina toimiva Linuxi masina vahendustegevus seisneb selles, et lisaks iseendale tulnud võrgukihi datagrammidele võtab ta omaks ka sisevõrgu masinatele suunatud võrgukihi datagrammid ning saadab need sobivalt edasi. Tulemusena "arvavad" avaliku võrgu masinad, et nad suhtlevad vahetult masinatega millel IP numbrid jäävad vahemikku 193.40.10.145 ... 193.40.10.158.

Avaliku võrgu masinad registreerivad oma ARPi laos sisevõrgu arvutite IP aadressidele vastavaks MAC aadressiks Linuxi masina nendepoolse võrguseadme MAC aadressi.

Teisipidi, kui sisevõrgu masin saadab IP paketi Internetti, siis toimub tavaline ruuting.

Pange tähele, et avaliku võrgu masinad sh teenusepakkuja ruuter on endisel konfigureeritud võrku 193.40.10.128/27 kusjuures selles võrgus ei tohi kasutada sisevõrgu tarbeks eraldatud IP aadresse. Sh sisevõrgu võrgunumbrile (193.40.10.144) ja broadcastile (193.40.10.159) vastavaid aadresse.

Seesuguse asjakorralduse eeliseks tavalise ruutimise ees on, et ilma teenusepakkujat asjasse segamata õnnestub modifitseerida võrgu arhidektuuri, näiteks eraldada osa võrgust iseseisvaks segmendiks. ARPi vahendusserveri seadistamine

Esmalt veenduge, et masinad on kaabeldatud eraldi alamvõrkudesse ning kummagi võrgu sees liiklus toimub. Sisevõrgu masinate vaiketeeks on server nendepoolne võrguseade, 193.40.10.145; avaliku võrgu masinate vaiketeeks on teenusepakkuja ruuteri nendepoolne võrguseade, 193.40.10.129.

Seejärel konfigureerige serveris võrguseadmed

bash# ifconfig eth0 193.40.10.130 netmask 255.255.255.224 broadcast 193.40.10.159
bash# ifconfig eth1 193.40.10.145 netmask 255.255.255.240 broadcast 193.40.10.159

ning lubage pakett edasi suunata. Näiteks kasutades sellist skripti

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

ipchains -F input
ipchains -F output
ipchains -F forward

ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward ACCEPT

Seejärel seadke paika IP pakettide vaiketee sisevõrgust välja

bash# route add default gw 193.40.10.129

Lõpuks näidake serveris, et ta tunnistaks omaks avalikust võrgust sisevõrgule suunduvad datagrammid tehes vastavad kirjed serveri ARPi lattu

bash# arp -i eth0 -Ds 193.40.10.146 eth0 pub

nii iga sisevõrgu masina kohta.

Õnnestumisel peab saama näiteks pingida sisevõrgust välja ja väljast sisevõrku. Praktiliselt tuleks järgmise sammuna asuda kindlustama Linuxi masinat ning kaitsma sisevõrku. Tuletagem meelde, et kogu tegevuse mõte oligi eristada osa võrgust, et selle ja ümbritseva vahel toimuvat andmevahetust kontrollida.