Verkkoliitynnät monipuolisemmin

Linux.fista
Versio hetkellä 8. maaliskuuta 2006 kello 22.08 – tehnyt Luser (keskustelu | muokkaukset) (→‎Free S/WAN: kehitystyö loppunut)
Siirry navigaatioon Siirry hakuun

Joskus tulee tarve lisätä varayhteyksiä tai varmistaa siirtoyhteyden kaistan riittävyys, mutta näiden toteuttamiseen ei ole yhtä suoraa ratkaisua.

Monimutkaisemmat yhteysratkaisut

Yritys voi ottaa käyttöönsä useamman operaattorin samanaikaisesti. Tällöin liikenne voidaan jakaa näiden operaattorien liittymiin, joko niin että toinen yhteys on passiivisena varalla, mikäli pääyhteys katkeaa, tai niin että molempia yhteyksiä käytetään samanaikaisesti ja tuplataan yhteyden kapasiteetti.

Yhteysnopeuden kasvattaminen ryhmittämällä

Kernelissä on tarjolla bonding tuki. Bonding ajurilla voidaan määrätä verkkokortteja "orjiksi" bond laitteelle. Yksinkertaisimmin, yritys voi ottaa samalta operaattorilta neljä 1Mbit/1Mbit ADSL liittymää ja kytkeä niiden päätelaitteet siltaaviksi. Reititinkoneena toimivaan linux koneeseen laitetaan 5 verkkokorttia, joista 4 kytketään päätelaitteisiin, ja yksi sisäverkkoon päin.

Oletetaan että eth0->eth3 on kytketty ADSL-päätelaitteisiin. Otetaan bonding käyttöön:

modprobe bonding

Mikäli bonding modulia ei löydy, valitse se mukaan configista ja käännä modulit uudelleen. Alustetaan bond0 liittymä:

ip link set dev bond0 up

Verkkokortit määritetään bond0 laitteelle orjiksi:

ifenslave bond0 eth0 eth1 eth2 eth3 

Nyt bond0 laitteelle voidaan hakea ip operaattorilta:

dhcpcd bond0

Nyt käytössä on periaatteessa 4Mbit uplink ja 4Mbit downlink, mutta ADSL:n asynkroninen rakenne tekee liittymästä 2Mbit/2Mbit SDSL:ää vastaavan linkin.

Samaa tekniikkaa voidaan käyttää kimputtamaan normaaleja verkkokortteja lähiverkkoyhteyksille, tästä voi olla apua esim videoeditointisovelluksissa, tiedostopalvelimissa sekä muissa paljon kaistaa tarvitsevissa ratkaisuissa.

Varayhteydet

Varayhteys voidaan toteuttaa joko reitityksillä tai bonding ajurilla.

Bonding

Varayhteyden toteuttaminen bondingilla on huomattavasti yksinkertaisempaa. Jotta kerneli tunnistaisi rikkoutuneen linkin tulee käyttöön ladata myös modulit miimon, tai arp_interval ja arp_ip_target. Bonding ajuri ladataan kerneliin, mutta toimintatila vaihdetaan kuormantasauksesta varalinkkiin:

modprobe bonding mode=1 miimon=50

Miimon arvo on aika millisekunteina, kuinka usein tarkistetaan onko yhteys ylhäällä. Tämän jälkeen bonding laite alustetaan kuten yllä.


Reititys

Mikäli varayhteys tulee toiselta operaattorilta, ja käytössä on palveluita ulospäin, on varayhteys toteutettava reitittämällä, ja tällöin yrityksellä tulee olla käytössä oma määritelty IP-blokki, ja reitityssopimukset kyseiselle AS-alueelle molemmilta operaattoreilta.

Palvelunlaatu

QoS Ratkaisut

QoS ratkaisuilla pyritään takaamaan käyttäjien käyttöön aina määrätyn verran kaistaa.

Wondershaper

Wondershaper on yksi parhaista QoS ohjelmistoista linuxille. Sen tavoitteena on saada asymmetriset linkit, kuten kaapelimodeemit ja ADSL, toimimaan pienellä latenssilla käytettäessä SSH, WWW, tai telnet protokollia, vaikka yhteydessä olisikin muuta kaistaa aktiivisesti varaavaa liikennettä.

Iproute2

Iproute2 manuaali

VPN Yhteydet

VPN yhteyttä käytetään normaalisti kun yrityksellä on kaksi erillistä toimipistettä, ja niiden välillä ei ole kiinteää datayhteyttä. On kuitenkin tarve vaihtaa asiakirjoja ja muuta tietoa toimipisteiden välillä, joten olemassaolevien internet yhteyksien läpi voidaan rakentaa VPN-tunneli jolla eri toimistojen lähiverkot voidaan yhdistää samaksi verkoksi salatun tunnelin suojaamana.

Free S/WAN

Free S/WAN on tällä hetkellä yleisimmin käytetty vpn-ratkaisu linux ympäristöissä.

FreeS/WANin käyttöönotto vaatii kernelin uudelleenkääntämisen. Se voidaan kääntää joko staattisesti kerneliin tai kääntää moduliksi jolloin se voidaan ladata käyttöön tarvittaessa. Pluto on sovellus, jolla hoidetaan IKE neuvoittelu koneiden välillä.

FreeS/WANin konfigurointi tapahtuu kahden tiedoston avulla.

/etc/ipsec.conf
/etc/ipsec.secrets

Ipsec.conf jakautuu kahteen eri osaan, config ja conn. Config osassa asetetaan IPSEC perusasetuksia, käytössä oleva verkkosovitin ja plutolle määriteltäviä asetuksia. Conn %default osassa määritellään kaikille yhteyksille käytettäviä asetuksia kuten käytössä olevan avaimen elinikä ja uuden avaimen vaihtotapa.

Conn osiossa VPN yhteys jaetaan left ja right puoliin, joilla määritellään valintoja niin vastaanottavalle kuin lähettävällekkin puolelle tunnelia.

VPN yhteydellä voi salata esim WLAN liikenteen. Tiedostot ovat lähes samanlaisia, niin tukiasemalla kuin kannettavallakin. Tukiasemalla pitää vain määrittää käytettävä interface. Esimerkki ipsec.conf:

#/etc/ipsec.conf
config setup
 # serverilla tiettyyn sovittimeen: 
 #  interfaces="ipsec0=eth0"
 #  tai mika onkaan wlaniin pain oleva verkkokortti
 interfaces=%defaultroute
 #debug asetukset
 klipsdebug=none
 plutodebug=none
 #pluton asetukset
 plutoload=%search
 plutostart=%search
 #muuta mtu arvoa
 overridemtu=1443
#oletusasetukset yhteydelle
conn %default
 #
 keyingtries=0
 # kaytetaan IKEa avaimen vaihtoon
 keyexchange=ike
 # avaimen elinika
 keylife=12h
 # kaytetaan ennaltamaariteltyja salaisuuksia
 authby=secret
# VPN-tunnelin asetukset
conn wlan1
 type=tunnel
 # left on langaton kannettava
 left=192.168.0.10
 # right on tukiasema
 right=192.168.0.1
 # 0.0.0.0/0 olettaa liikenteen kaikkiin kohteisiin
 rightsubnet=0.0.0.0/0
 # kaynnista automaattisesti
 auto=start

/etc/ipsec.secrets

192.168.0.10 192.168.0.1: PSK "salainensana"

Käynnistä ipsec palvelu uudelleen ja yhdistä VPN kannettavalta tukiasemalle.

Huom! FreeS/WAN:n kehitystyö on loppunut jo vuonna 2004. FreeS/WAN:n työn jatkajana pidetään 
Openswan projektia.

ISAKMP

DOD ISAKMP toimi Ciscon ja MIT:n projektina jota rahoitettiin puolustusministeriön toimesta. Projektissa toteutettiin ISAKMP referenssimallia noudattava ohjelmistototeutus.

OpenVPN

OpenVPN ei perustu IPSEC protokollaan kuten perinteiset VPN:t vaan se käyttää web-selaimista tuttua SSL salausta. Ohjelmasta löytyy sekä mm. Windows ja Linux versiot, jotka toimivat yhteen mainiosti. OpenVPN on ehkä helpompi konfiguroida kuin perinteiset IPSEC perustaiset VPN:t. Myös vpn serverin konfigurointi (palvelee montaa vpn asiakasta) on mahdollista. OpenVPN on kätevä mm. lisäsuojana turvattoman wlan:n kanssa.

Tietoturva guru Peter Gutmann on analysoinut Linuxin VPN toteutuksia, eikä hänellä ollut OpenVPN:stä pahaa sanottavaa. Tälläkin perusteella voinemme pitää sitä erittäin turvallisena.

Ulkoiset linkit

Julian Anastasovin paikkauksia iprouteen.