1 / 25

VPN a QoS

VPN a QoS. Informační technologie - praxe SPŠE V úžlabině Jan Klepal, Mgr. Radka Müllerová. Verze 1. Obsah. VPN (Virtual Private Network) Používané VPN GRE PPTP OpenVPN QoS (Quality of Service) Typy front pro QoS Konfigurace HTB. VPN (Virtual Private Network). Využívá se k

mingan
Download Presentation

VPN a QoS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Obsah • VPN (Virtual Private Network) • Používané VPN • GRE • PPTP • OpenVPN • QoS (Quality of Service) • Typy front pro QoS • Konfigurace HTB

  3. VPN (Virtual Private Network) • Využívá se k • 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í • 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 • Nešifrované VPN součást kernelu (IP-IP, GRE) • Šifrované VPN zajišťují aplikace (využívají virtuální rozhraní)

  4. network mask gateway device 80.250.1.0 255.255.255.224 eth1 10.10.2.0 255.255.255.0 eth0 10.10.1.0 255.255.255.0 gre0 0.0.0.0 0.0.0.0 80.250.1.14 eth1 tunnel name: gre0 tunnel IP: 10.0.0.1 tunnel dst: 80.250.2.2 tunnel name: gre0 tunnel IP: 10.0.0.2 tunnel dst: 80.250.1.1 default gw 10.10.2.254 default gw 10.10.1.254 network mask gateway device 80.250.1.0 255.255.255.224 eth1 10.10.1.0 255.255.255.0 eth0 10.10.2.0 255.255.255.0 gre0 0.0.0.0 0.0.0.0 80.250.1.14 eth1 VPN (Virtual Private Network) 10.10.1.0/24 10.10.2.0/24 internet 80.250.2.2 80.250.1.1 10.10.1.254 10.10.2.254 eth1 eth1 eth0 eth0 gre0 gre0 10.0.0.1 10.0.0.2

  5. 10.10.1.100 10.10.1.100 10.10.1.100 1024 1024 1024 remote desktop management remote desktop management remote desktop management 80.250.1.1 3389 3389 3389 10.10.2.100 10.10.2.100 10.10.2.100 80.250.2.2 VPN (Virtual Private Network) 10.10.1.0/24 10.10.2.0/24 internet 80.250.2.2 80.250.1.1 10.10.1.254 10.10.2.254 eth1 eth1 eth0 eth0 gre0 gre0 10.0.0.1 10.0.0.2

  6. Používané VPN • GRE (Generic Routing Encapsulation) • 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) • Standardní součást Windows • Pro komunikaci využívá GRE • Umožňuje kompresi a šifrování dat • IPsec (IP security) • 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) • OpenVPN • 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)

  7. Nasazení GRE

  8. 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í iproute2: ip tunnel add gre0 mode gre remote 80.250.2.2 local 80.250.1.1 ip link set gre0 up ip addr add 10.0.0.1 dev gre0 ip route add 10.10.2.0/24 dev gre0 Cisco: interface Tunnel0 ip address 10.0.0.2 255.255.255.252 tunnel source 80.250.2.2 tunnel destination 80.250.1.1

  9. Nasazení PPTP

  10. 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-v2 mppe required,stateless deflate 0 /etc/ppp/chap-secrets uzlabina * heslo *

  11. Konfigurace PPTP Windows:

  12. Nasazení OpenVPN

  13. Konfigurace OpenVPN 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

  14. Konfigurace OpenVPN OpenVPN GUI: http://www.openvpn.se Start > Programy > OpenVPN > OpenVPN configuration file directory C:\Program Files\OpenVPN\config\Uzlabina.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.10.0.0 255.255.0.0 10.0.0.1

  15. QoS (Quality of Service) • QoS 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: • 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

  16. QoS (Quality of Service) 100Mbit 10Mbit

  17. QoS (Quality of Service) • Při návrhu QoS jsou důležité dva parametry: • Šířka přenosového kanálu • Maximální zpoždění • Techniky omezování šířky přenosového kanálu: • 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é QoS je možné ovlivnit • Velikostí bufferu – zpoždění je omezeno na přesně definovanou velikost • Použitím policingu – QoS nevkládá žádné zpoždění

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

  19. QoS (Quality of Service) • Pro definici šířky pásma se používá: • 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 QoS 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 QoS • 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).

  20. Typy front pro QoS • Typy frontování používané pro QoS: • 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

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

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

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

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

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

More Related