VPN a Qo S Informan technologie praxe SPE

  • Slides: 25
Download presentation
VPN a Qo. S Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr.

VPN a Qo. S Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová Verze 1

Obsah VPN (Virtual Private Network) Používané VPN n n n GRE PPTP Open. VPN

Obsah VPN (Virtual Private Network) Používané VPN n n n GRE PPTP Open. VPN Qo. S (Quality of Service) Typy front pro Qo. S Konfigurace HTB

VPN (Virtual Private Network) Využívá se k n n n propojení dvou sítí, které

VPN (Virtual Private Network) Využívá se k n n n propojení dvou sítí, které není možné propojit routováním propojení dvou sítí, kde je vyžadováno šifrování po veřejné části síte připojení uživatelů k firemní síti pomocí internetu Používané označení n n n VPN – nejčastější název, připojení k firemní síti Tunel – především při propojení více sítí IPsec – Cisco označení, šifrované spojení Software n n Nešifrované VPN součást kernelu (IP-IP, GRE) Šifrované VPN zajišťují aplikace (využívají virtuální rozhraní)

VPN (Virtual Private Network) 10. 1. 0/24 10. 2. 0/24 internet 10. 1. 254

VPN (Virtual Private Network) 10. 1. 0/24 10. 2. 0/24 internet 10. 1. 254 eth 0 80. 250. 1. 1 eth 1 80. 250. 2. 2 eth 1 10. 2. 254 eth 0 gre 0 10. 0. 0. 1 10. 0. 0. 2 network mask gateway device 80. 250. 1. 0 255. 224 eth 1 tunnel name: gre 0 10. 2. 0 255. 0 eth 0 default gw 10. 1. 254 default gw 10. 2. 254 tunnel IP: 10. 0. 0. 1 tunnel IP: 10. 0. 0. 2 10. 1. 0 255. 0 gre 0 tunnel dst: 80. 250. 2. 2 tunnel dst: 80. 250. 1. 1 0. 0 80. 250. 1. 14 eth 1 network 80. 250. 1. 0 10. 10. 2. 0 0. 0 mask 255. 224 255. 0 0. 0 gateway 80. 250. 1. 14 device eth 1 eth 0 gre 0 eth 1

VPN (Virtual Private Network) 10. 1. 0/24 10. 2. 0/24 internet 10. 1. 254

VPN (Virtual Private Network) 10. 1. 0/24 10. 2. 0/24 internet 10. 1. 254 eth 0 eth 1 10. 0. 0. 2 80. 250. 2. 2 10. 2. 100 10. 1. 100 1024 remote desktop 3389 management 10. 2. 254 eth 0 gre 0 10. 1. 100 10. 2. 100 eth 1 80. 250. 2. 2 gre 0 80. 250. 1. 1 10. 1. 100 80. 250. 1. 1 10. 2. 100 1024 remote desktop 3389 management

Používané VPN GRE (Generic Routing Encapsulation) n n Využívá IP protokolu id 47 (IP-IP

Používané VPN GRE (Generic Routing Encapsulation) n n Využívá IP protokolu id 47 (IP-IP tunneling) Součást Linuxového kernelu Nešifruje přenášená data Problémy s NAT PPTP (Point to Point Tunneling Protocol) n n n Standardní součást Windows Pro komunikaci využívá GRE Umožňuje kompresi a šifrování dat IPsec (IP security) n n n Jedná se o rozšíření protokolu IP Samotné šifrování je většinou zajišťováno kernelem, ale správa certifikátů a sestavování spojení user-space aplikací Problémy s implementací na různých platformách (Cisco, Linux, BSD) Open. VPN n n n User-space aplikace využívající TUN/TAP virtuálních adaptérů Umožňuje tunelovat pomocí UDP i TCP Řeší obvyklé problémy VPN (MTU, NAT, redundanci a load balancing)

Nasazení GRE

Nasazení GRE

Konfigurace GRE Linux: Konfigurace kernelu: Device Drivers ---> Networking support ---> [Y] Networking support

Konfigurace GRE Linux: Konfigurace kernelu: Device Drivers ---> Networking support ---> [Y] Networking support [Y] Networking options ---> [Y] TCP/IP networking [Y] IP: GRE tunnels over IP Konfigurace pomocí iproute 2: ip ip Cisco: tunnel add gre 0 mode gre remote 80. 250. 2. 2 local 80. 250. 1. 1 link set gre 0 up addr add 10. 0. 0. 1 dev gre 0 route add 10. 2. 0/24 dev gre 0 interface Tunnel 0 ip address 10. 0. 0. 2 255. 252 tunnel source 80. 250. 2. 2 tunnel destination 80. 250. 1. 1

Nasazení PPTP

Nasazení PPTP

Konfigurace PPTP Linux: Konfigurace kernelu: Device Drivers ---> Networking support ---> [Y] Networking support

Konfigurace PPTP Linux: Konfigurace kernelu: Device Drivers ---> Networking support ---> [Y] Networking support [Y] PPP (point-to-point protocol) support [Y] PPP support for async serial ports [Y] PPP Deflate compression [Y] Microsoft PPP compression/encryption (MPPC/MPPE) /etc/pptpd. conf: option /etc/ppp/options. pptpd localip 192. 168. 254. 1 remoteip 192. 168. 254. 2 -254 /etc/ppp/options. pptpd lock auth require-mschap-v 2 mppe required, stateless deflate 0 /etc/ppp/chap-secrets uzlabina * heslo *

Konfigurace PPTP Windows:

Konfigurace PPTP Windows:

Nasazení Open. VPN

Nasazení Open. VPN

Konfigurace Open. VPN Linux: Konfigurace kernelu: Device Drivers ---> Networking support ---> [Y] Networking

Konfigurace Open. VPN Linux: Konfigurace kernelu: Device Drivers ---> Networking support ---> [Y] Networking support [Y] Network device support [Y] Universal TUN/TAP device driver support /etc/openvpn/local. conf: local 84. 42. 148. 36 proto udp port 5000 dev tun ifconfig 10. 0. 0. 1 10. 0. 0. 2 secret uzlabina. key comp-lzo float daemon Vytvoření klíče: openvpn --genkey --secret uzlabina. key

Konfigurace Open. VPN GUI: http: //www. openvpn. se Start > Programy > Open. VPN

Konfigurace Open. VPN GUI: http: //www. openvpn. se Start > Programy > Open. VPN configuration file directory C: Program FilesOpen. VPNconfigUzlabina. ovpn: remote 84. 42. 148. 36 proto udp port 5000 dev tun ifconfig 10. 0. 0. 2 10. 0. 0. 1 secret uzlabina. key comp-lzo Float route 10. 0. 0 255. 0. 0 10. 0. 0. 1

Qo. S (Quality of Service) Qo. S zajišťuje kvalitu služby (garantovaný datový tok a

Qo. S (Quality of Service) Qo. S zajišťuje kvalitu služby (garantovaný datový tok a zpoždění) Přenosový kanál (síť) je nekvalitní především díky bottle-neckům (místům kde se zmenšuje šířka přenosového pásma) Tím vznikají následující problémy: n n packet-loss – ztrátovost přenášených dat delay – konstantní zpoždění jitter – proměnné zpoždění out-of-order delivery – data jsou přijata v jiném pořadí než byla odeslána

Qo. S (Quality of Service) 100 Mbit 10 Mbit

Qo. S (Quality of Service) 100 Mbit 10 Mbit

Qo. S (Quality of Service) Při návrhu Qo. S jsou důležité dva parametry: n

Qo. S (Quality of Service) Při návrhu Qo. S jsou důležité dva parametry: n n Šířka přenosového kanálu Maximální zpoždění Techniky omezování šířky přenosového kanálu: n n Shaping – data překračující nastavenou šířku kanálu jsou uložena do bufferu a odeslána později Policing – data překračující nastavenou šířku kanálu jsou zahozena Zpoždění generované Qo. S je možné ovlivnit n n Velikostí bufferu – zpoždění je omezeno na přesně definovanou velikost Použitím policingu – Qo. S nevkládá žádné zpoždění

Policing vs. Shaping rychlost policing čas rychlost shaping čas

Policing vs. Shaping rychlost policing čas rychlost shaping čas

Qo. S (Quality of Service) Pro definici šířky pásma se používá: n n n

Qo. S (Quality of Service) Pro definici šířky pásma se používá: n n n CIR (Committed Information Rate) – minimální garantovaná šířka přenosového pásma MIR (Maximum Information Rate) – maximální šířka přenosového pásma Burst – množství dat které je možné jednorázově odeslat bez V případě konfigurace Qo. S internetového připojení na routeru zákazníka je potřeba počítat s nižší propustností, aby na straně providera nepřetékala fronta v jeho Qo. S Shaping je možné provádět pouze na výstupním rozhraní zařízení (na vstupu je možné pakety pouze zahazovat. Pro shaping příchozího provozu je v Linuxu IMQ (Intermediate Queueing Device).

Typy front pro Qo. S Typy frontování používané pro Qo. S: n n FIFO

Typy front pro Qo. S Typy frontování používané pro Qo. S: n n FIFO (First In First Out) – nejjednodušší typ fronty, pakety jsou odesílány ve stejném pořadí jako byly přijaty PQ (Priority Queueing) – prioritizuje důležitý provoz (např. web před ftp) může se ovšem stát, že nedůležitý provoz nebude vůbec obsloužen CQ (Custom Queueing) – každému typu provozu je garantována určitá propustnost WFQ (Weighted Fair Queueing) – mezi jednotlivé toky (rozpoznáno na základě IP a portu) je spravedlivě rozdělena celková přenosová kapacita

Požadavky služeb na Qo. S WEB, FTP, MAIL, streaming atp. n n n Velmi

Požadavky služeb na Qo. S WEB, FTP, MAIL, streaming atp. n n n Velmi malá ztrátovost Vyšší zpoždění není podstatné Shaping s velkým bufferem SSH, DNS, interaktivní provoz n n n Malá ztrátovost Malé zpoždění Shaping s malým bufferem Vo. IP, hry atp. n n n Minimální a konstantní zpoždění Malá ztrátovost není podstatná Policing

Linux Qo. S je standardní součást kernelu Konfigurace pomocí iproute 2 (příkaz tc) Označování

Linux Qo. S je standardní součást kernelu Konfigurace pomocí iproute 2 (příkaz tc) Označování provozu pomocí Qo. S filtrů nebo iptables Konfigurace kernelu: Device Drivers ---> Networking support ---> [Y] Networking support Networking options ---> Qo. S and/or fair queueing ---> [Y] Qo. S and/or fair queueing [Y] HTB packet scheduler [Y] The simplest PRIO pseudoscheduler [Y] RED queue [Y] SFQ queue [Y] Qo. S support [Y] Packet classifier API [Y] Firewall based classifier [Y] Traffic policing

Příklad konfigurace HTB 1: 1 připojení k internetu POZOR! Toto není poměr dělení přenosového

Příklad konfigurace HTB 1: 1 připojení k internetu POZOR! Toto není poměr dělení přenosového pásma, ale ID třídy! 10 Mbit 1: 2 5 Mbit LAB 1: 20 3 Mbit WEB tc tc tc add add add qdisc class class 1: 3 UCITELE 5 Mbit 1: 21 FTP dev dev dev eth 0 eth 0 2 Mbit root handle 1: htb parent 1: classid parent 1: 1 classid parent 1: 2 classid default 3 1: 1 htb rate 1: 2 htb rate 1: 3 htb rate 1: 20 htb rate 1: 21 htb rate 10 Mbit 5 Mbit 3 Mbit 2 Mbit ceil ceil 10 Mbit 5 Mbit

Příklad konfigurace HTB 1: 1 připojení k internetu POZOR! Toto není poměr dělení přenosového

Příklad konfigurace HTB 1: 1 připojení k internetu POZOR! Toto není poměr dělení přenosového pásma, ale ID třídy! 10 Mbit 1: 2 5 Mbit 1: 20 3 Mbit WEB 1: 3 LAB UCITELE 5 Mbit 1: 21 FTP 2 Mbit iptables -t mangle -A POSTROUTING -d 10. 2. 0/24 -j MARK --set-mark 3 iptables -t mangle -A POSTROUTING -d 10. 1. 0/24 -p tcp --sport 21 -j MARK --set-mark 20 iptables -t mangle -A POSTROUTING -d 10. 1. 0/24 -p tcp --dport 80 -j MARK --set-mark 21 tc filter add dev eth 0 parent 1: protocol ip prio 1 handle 3 fw flowid 1: 3 tc filter add dev eth 0 parent 1: protocol ip prio 1 handle 20 fw flowid 1: 20 tc filter add dev eth 0 parent 1: protocol ip prio 1 handle 21 fw flowid 1: 21

Příklad konfigurace HTB 1: 1 připojení k internetu POZOR! Toto není poměr dělení přenosového

Příklad konfigurace HTB 1: 1 připojení k internetu POZOR! Toto není poměr dělení přenosového pásma, ale ID třídy! 10 Mbit 1: 2 5 Mbit 1: 20 3 Mbit WEB 1: 3 LAB UCITELE 5 Mbit 1: 21 FTP 2 Mbit tc qdisc add dev eth 0 parent 1: 3 handle 30: pfifo limit 5 tc qdisc add dev eth 0 parent 1: 20 handle 20: sfq tc qdisc add dev eth 0 parent 1: 21 handle 21: sfq