Ero sivun ”Verkkoliitynnät monipuolisemmin” versioiden välillä
p (→OpenVPN) |
p (Aarne siirsi sivun Verkkoliitynnät monimutkaisemmin uudelle nimelle Verkkoliitynnät monipuolisemmin) |
||
(9 välissä olevaa versiota 6 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
Joskus tulee tarve lisätä varayhteyksiä tai varmistaa siirtoyhteyden kaistan riittävyys, mutta näiden toteuttamiseen ei ole yhtä suoraa ratkaisua. | Joskus tulee tarve lisätä varayhteyksiä tai varmistaa siirtoyhteyden kaistan riittävyys, mutta näiden toteuttamiseen ei ole yhtä suoraa ratkaisua. | ||
=Monimutkaisemmat yhteysratkaisut= | ==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. | 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ä== | ===Yhteysnopeuden kasvattaminen ryhmittämällä=== | ||
[[Kernel|Ytimessä]] on tarjolla [[wikipedia:en:Link aggregation|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. | Oletetaan että eth0->eth3 on kytketty ADSL-päätelaitteisiin. | ||
Otetaan bonding käyttöön: | Otetaan bonding käyttöön (linkin toiminnan tarkastus 50ms välein): | ||
modprobe bonding | [[modprobe]] bonding miimon=50 | ||
Mikäli bonding | Mikäli bonding-moduulia ei löydy, [[Kernelin kääntäminen|valitse se mukaan configista]] ja käännä moduulit uudelleen (<tt>make modules modules_install</tt>). | ||
Alustetaan bond0 liittymä: | Alustetaan bond0 liittymä: | ||
ip link set dev bond0 up | [[ip]] link set dev bond0 up | ||
Verkkokortit määritetään bond0 laitteelle orjiksi: | Verkkokortit määritetään bond0-laitteelle orjiksi: | ||
ifenslave bond0 eth0 eth1 eth2 eth3 | [[ifenslave]] bond0 eth0 eth1 eth2 eth3 | ||
Nyt bond0 laitteelle voidaan hakea ip operaattorilta: | Nyt bond0-laitteelle voidaan hakea ip operaattorilta: | ||
dhcpcd bond0 | [[dhcpcd]] bond0 | ||
Nyt käytössä on periaatteessa 4Mbit uplink ja 4Mbit downlink | Nyt käytössä on periaatteessa 4Mbit-uplink ja 4Mbit-downlink. | ||
Samaa tekniikkaa voidaan käyttää kimputtamaan normaaleja verkkokortteja lähiverkkoyhteyksille, | Samaa tekniikkaa voidaan käyttää kimputtamaan normaaleja verkkokortteja lähiverkkoyhteyksille, | ||
tästä voi olla apua esim videoeditointisovelluksissa, tiedostopalvelimissa sekä muissa paljon kaistaa tarvitsevissa ratkaisuissa. | tästä voi olla apua esim videoeditointisovelluksissa, tiedostopalvelimissa sekä muissa paljon kaistaa tarvitsevissa ratkaisuissa. | ||
==Varayhteydet== | ===Varayhteydet=== | ||
Varayhteys voidaan toteuttaa joko reitityksillä tai bonding ajurilla. | Varayhteys voidaan toteuttaa joko reitityksillä tai bonding-ajurilla. | ||
===Bonding=== | ===Automatisointi=== | ||
Jotta asetukset olisivat voimassa aina järjestelmää käynnistettäessä, laita tiedostoon <tt>/etc/network/interfaces</tt> seuraavasti: | |||
iface bond0 inet dhcp | |||
up /sbin/ifenslave bond0 eth0 eth1 eth2 eth3 | |||
down /sbin/ifenslave -d bond0 eth0 eth1 eth2 eth3 | |||
Lisäksi vaaditut moduulit täytyy ladata käynnistyksessä, esimerkiksi [[Debian]]issa ja [[Ubuntu]]ssa laita tiedostoon <tt>/etc/modprobe.d/arch/i386</tt> näin: | |||
alias bond0 bonding | |||
options bonding miimon=50 | |||
====Bonding==== | |||
Varayhteyden toteuttaminen bondingilla on huomattavasti yksinkertaisempaa. | Varayhteyden toteuttaminen bondingilla on huomattavasti yksinkertaisempaa. | ||
Jotta | Jotta ydin tunnistaisi rikkoutuneen linkin tulee käyttöön ladata myös moduulit miimon tai arp_interval ja arp_ip_target. | ||
Bonding ajuri ladataan kerneliin, mutta toimintatila vaihdetaan kuormantasauksesta varalinkkiin: | Bonding-ajuri ladataan kerneliin, mutta toimintatila vaihdetaan kuormantasauksesta varalinkkiin: | ||
modprobe bonding mode=1 miimon=50 | modprobe bonding mode=1 miimon=50 | ||
Rivi 48: | Rivi 59: | ||
===Reititys=== | ====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. | 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= | ==Palvelunlaatu== | ||
==QoS | ===QoS-ratkaisut=== | ||
QoS ratkaisuilla pyritään takaamaan käyttäjien käyttöön aina määrätyn verran kaistaa. | QoS-ratkaisuilla pyritään takaamaan käyttäjien käyttöön aina määrätyn verran kaistaa. Ks. artikkeli [[Kaistanrajoitus]]. | ||
===Wondershaper=== | ====Wondershaper==== | ||
[http://lartc.org/wondershaper/ Wondershaper] on yksi parhaista QoS ohjelmistoista | [http://lartc.org/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ä. | ||
=== | ====[[Iproute]]2==== | ||
[http://lartc.org/howto/index.html Iproute2 | [http://lartc.org/howto/index.html Iproute2-ohje] | ||
=VPN | ==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. | [[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=== | ||
[http://www.freeswan.org/ Free S/WAN] on tällä hetkellä yleisimmin käytetty vpn-ratkaisu | [http://www.freeswan.org/ 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 | FreeS/WANin käyttöönotto vaatii kernelin uudelleenkääntämisen. Se voidaan kääntää joko staattisesti ytimeen tai kääntää moduliksi jolloin se voidaan ladata käyttöön tarvittaessa. Pluto on sovellus, jolla hoidetaan IKE-neuvottelu koneiden välillä. | ||
FreeS/WANin konfigurointi tapahtuu kahden tiedoston avulla | FreeS/WANin konfigurointi tapahtuu kahden tiedoston avulla: | ||
/etc/ipsec.conf | /etc/[[ipsec.conf]] | ||
/etc/ipsec.secrets | /etc/[[ipsec.secrets]] | ||
Ipsec.conf jakautuu kahteen eri osaan, config ja conn. | 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. | Config-osassa asetetaan IPSEC:in 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 %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 | Conn-osiossa VPN-yhteys jaetaan left- ja right-puoliin, joilla määritellään valintoja niin vastaanottavalle kuin lähettävällekin puolelle tunnelia. | ||
VPN yhteydellä voi salata | VPN-yhteydellä voi salata esimerkiksi [[WLAN]]-liikenteen. Tiedostot ovat lähes samanlaisia, niin tukiasemalla kuin kannettavallakin. Tukiasemalla pitää vain määrittää käytettävä interface. | ||
Esimerkki ipsec.conf: | Esimerkki ipsec.conf: | ||
Rivi 96: | Rivi 107: | ||
# tai mika onkaan wlaniin pain oleva verkkokortti | # tai mika onkaan wlaniin pain oleva verkkokortti | ||
interfaces=%defaultroute | interfaces=%defaultroute | ||
#debug asetukset | #debug-asetukset | ||
klipsdebug=none | klipsdebug=none | ||
plutodebug=none | plutodebug=none | ||
#pluton asetukset | #pluton-asetukset | ||
plutoload=%search | plutoload=%search | ||
plutostart=%search | plutostart=%search | ||
#muuta mtu arvoa | #muuta mtu-arvoa | ||
overridemtu=1443 | overridemtu=1443 | ||
#oletusasetukset yhteydelle | #oletusasetukset yhteydelle | ||
Rivi 108: | Rivi 119: | ||
# | # | ||
keyingtries=0 | keyingtries=0 | ||
# kaytetaan IKEa avaimen vaihtoon | # kaytetaan IKEa-avaimen vaihtoon | ||
keyexchange=ike | keyexchange=ike | ||
# avaimen elinika | # avaimen elinika | ||
Rivi 130: | Rivi 141: | ||
192.168.0.10 192.168.0.1: PSK "salainensana" | 192.168.0.10 192.168.0.1: PSK "salainensana" | ||
Käynnistä ipsec palvelu uudelleen ja yhdistä VPN kannettavalta tukiasemalle. | Käynnistä ipsec-palvelu uudelleen ja yhdistä VPN kannettavalta tukiasemalle. | ||
'''Huom!''' FreeS/WAN:n kehitystyö on loppunut vuonna 2004. FreeS/WAN:n työn jatkajana pidetään | |||
[http://www.openswan.org/ Openswan]-projektia. | |||
===ISAKMP=== | |||
[http://web.mit.edu/network/isakmp/ DOD ISAKMP] toimi Ciscon ja MIT:n projektina jota rahoitettiin USA:n puolustusministeriön toimesta. Projektissa toteutettiin ISAKMP-referenssimallia noudattava ohjelmistototeutus. | |||
[ | ===[[OpenVPN]]=== | ||
[http://openvpn.net/ OpenVPN] ei perustu IPSEC-protokollaan kuten perinteiset VPN:t, vaan se käyttää web-selaimista tuttua SSL-salausta. Ohjelmasta löytyy 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. | |||
Tietoturvaguru Peter Gutmann on analysoinut [http://www.cs.auckland.ac.nz/~pgut001/pubs/linux_vpn.txt Linuxin VPN-toteutuksia], eikä hänellä ollut OpenVPN:stä pahaa sanottavaa. Tälläkin perusteella voinemme pitää sitä erittäin turvallisena. | |||
[http://www.ssi.bg/~ja/ Julian Anastasovin paikkauksia] | ==Aiheesta muualla== | ||
*[http://www.ssi.bg/~ja/ Julian Anastasovin paikkauksia iprouteen] | |||
[[Luokka:Verkko]] | [[Luokka:Verkko]] |
Nykyinen versio 7. helmikuuta 2022 kello 00.57
Joskus tulee tarve lisätä varayhteyksiä tai varmistaa siirtoyhteyden kaistan riittävyys, mutta näiden toteuttamiseen ei ole yhtä suoraa ratkaisua.
Monimutkaisemmat yhteysratkaisut[muokkaa]
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ä[muokkaa]
Ytimessä 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 (linkin toiminnan tarkastus 50ms välein):
modprobe bonding miimon=50
Mikäli bonding-moduulia ei löydy, valitse se mukaan configista ja käännä moduulit uudelleen (make modules modules_install). 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.
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[muokkaa]
Varayhteys voidaan toteuttaa joko reitityksillä tai bonding-ajurilla.
Automatisointi[muokkaa]
Jotta asetukset olisivat voimassa aina järjestelmää käynnistettäessä, laita tiedostoon /etc/network/interfaces seuraavasti:
iface bond0 inet dhcp up /sbin/ifenslave bond0 eth0 eth1 eth2 eth3 down /sbin/ifenslave -d bond0 eth0 eth1 eth2 eth3
Lisäksi vaaditut moduulit täytyy ladata käynnistyksessä, esimerkiksi Debianissa ja Ubuntussa laita tiedostoon /etc/modprobe.d/arch/i386 näin:
alias bond0 bonding options bonding miimon=50
Bonding[muokkaa]
Varayhteyden toteuttaminen bondingilla on huomattavasti yksinkertaisempaa. Jotta ydin tunnistaisi rikkoutuneen linkin tulee käyttöön ladata myös moduulit 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[muokkaa]
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[muokkaa]
QoS-ratkaisut[muokkaa]
QoS-ratkaisuilla pyritään takaamaan käyttäjien käyttöön aina määrätyn verran kaistaa. Ks. artikkeli Kaistanrajoitus.
Wondershaper[muokkaa]
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[muokkaa]
VPN-yhteydet[muokkaa]
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[muokkaa]
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 ytimeen tai kääntää moduliksi jolloin se voidaan ladata käyttöön tarvittaessa. Pluto on sovellus, jolla hoidetaan IKE-neuvottelu 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:in 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ällekin puolelle tunnelia.
VPN-yhteydellä voi salata esimerkiksi 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 vuonna 2004. FreeS/WAN:n työn jatkajana pidetään Openswan-projektia.
ISAKMP[muokkaa]
DOD ISAKMP toimi Ciscon ja MIT:n projektina jota rahoitettiin USA:n puolustusministeriön toimesta. Projektissa toteutettiin ISAKMP-referenssimallia noudattava ohjelmistototeutus.
OpenVPN[muokkaa]
OpenVPN ei perustu IPSEC-protokollaan kuten perinteiset VPN:t, vaan se käyttää web-selaimista tuttua SSL-salausta. Ohjelmasta löytyy 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.
Tietoturvaguru 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.