VPN

From NMS
Jump to: navigation, search
Servery / Služby
Přístupné komukoliv
windows
srk
linux / unix
kmlinux
Omezený/individuální účet
linux / unix
bimbo · buon(KF) · km(KM) · lenochod(KJR) · linux · node(KM) · sunrise(KF) · unixlab(KFE) · vkstat(KM)
Služby
backup · DHCP · DNS · doména FJFI · eduroam · fileserver · IdM · forum · gitlab · lists · moodle · indico · mailgw · K4 · mailserver · NMS · openvpn · skolniftp · ssh · videokonference · VoIP · video · VPN · wififjfi · wiki · www
Učebny
e-sklipek · KFE unixlab · KFE pclab · PD1 · KM 105 · KM 115
Ostatní
Network · Blokované porty
[edit] · [view]

Informace na této stránce nejsou aktualizovány, pro VPN připojení postupujte dle oficiálního návodu

ČVUT VPN

ČVUT provozuje VPN pro pracovníky ČVUT (není k dispozici studentům).

FJFI VPN

Vzhledem k tomu, že studentům není umožněn přístup k ČVUT VPN, tak musí použít lokalní FJFI řešení.

Vlastnosti

VPN (Virtual Private Network) slouží k vytvoření zabezpečeného tunelu mezi místem z nějž se připojujete a VPN serverem. Veškerá (připadně vybraná) komunikace se servery na internetu probíhá přes VPN spojení, takže bez ohledu na to kde se právě nacházíte, to vypadá, že jste připojeni přímo do sítě na FJFI.

výhody

  • zabezpečené spojení do sítě na FJFI z libovolné sítě a přes libovolný protokol
  • minimální restrikce v blokaci portů (pouze SMTP mimo ČVUT) a používání aplikací
  • snadný přístup k datům na Windows Serverech přes běžné MS sdílení
  • přístup k ČVUT zdrojům, které vyžadují použití IP adresy z rozsahu ČVUT

nevýhody

  • všechna data musí projít přes FJFI (lze obejít lokálním nastavením požadovaného routování)
  • zatím není možné získat veřejnou adresu z rozsahu ČVUT (komunikace přes NAT na VPN serveru)
  • zatím není zkonfigurována podpora IPv6 (pokud má klient IPv6 konektivitu, tak spojení na servery podporující IPv6 nepůjde přes VPN!)

Podporované VPN

Shrnutí základních vlastností VPN spojení podporovaných na FJFI
typ výhody nevýhody
OpenVPN
  • multiplatformní (Windows, Linux, Android, iPhone, Mac OS X, BSD*, Solaris)
  • při TCP komunikaci na port 443 (http) bude funkční na většině sítí
  • slušné zabezpečení pomocí standardního SSL/TLS
  • podpora TCP i UDP spojení (UDP je vhodnější volba, pokud z dané sítě funguje)
  • autentizace ČVUT jménem/heslem
  • možnost specifikovat IP rozsahy routované přímo resp. přes VPN
  • klient není součástí OS a musí se doinstalovat
PPTP
  • multiplatformní (Windows, Linux, Android, iPhone, ...)
  • integrovanou součástí většiny OS
  • jednoduchá konfigurace klienta
  • mizerné zabezpečení přenášených dat (včetně autentizace)
  • <strike>data zabalené do speciálního IP rámce (GRE tunel, který nemusí být všude podporován / povolen)
  • nutná podpora "PPTP Passthrought" při připojení přes NAT (některé domácí routery nepodporují)
  • příhlašování pomocí WiFiFJFI jména/hesla (kvůli nedostatečnému zabezpečení)
L2TP+IPSec
  • multiplatformní (Windows, Linux, Android, iPhone, ...)
  • integrovanou součástí většiny OS
  • slušné zabezpečení pomocí standardního IPSec
  • IPSec spojení na některých sítích nemusí fungovat (vyžaduje routování AH, ESP + komunikaci po UDP 500)
  • nutná podpora "IPSec Passthrought" při připojení přes NAT (něteré routery nepodporují)
SSTP
  • komunikace přes HTTPS ("funguje všude")
  • slušné zabezpečení
  • standardně podporován jen na Windows klientech
  • aktuálně není na FJFI podporován

Konfigurace OpenVPN

Na VPN serveru je použito OpenVPN pro jeho snadnou konfiguraci a podporu různých operačních systémů (Windows, Linux, MAC OS X, Solaris, *BSD, ...). Jako jeden z mála VPN softwarů navíc nevyžaduje uživatelské certifikáty.

  • stáněte a nainstalujte OpenVPN (v linuxu pro většinu distribucí existuje připravený balíček)
  • vytvořte soubor (např. server-chain.crt) se seznamem kořenových certifikačních autorit FJFI VPN serveru
  • vytvořte konfigurační soubor pro OpenVPN (nezapomeňte v něm změnit cestu k souboru s certifikáty, který jste vytvořili v předchozím kroku)
# fjfi.ovpn - konfigurační soubor pro FJFI OpenVPN
# (vše za znakem "#" je ignorováno a slouží jako komentář)
client
dev tun
proto udp             # pokud se bude spojení přes UDP rozpadat (nebo se
#proto tcp-client     # vůbec nenaváže), můžete ještě vyzkoušet TCP spojení
remote openvpn.fjfi.cvut.cz 1194
# na sítích s omezenou podporou služeb (hotely, free sítě, ...)
# můžete zkusit nahradit výše uvedené konfigurace následujícími:
#proto tcp-client
#remote openvpn-test.fjfi.cvut.cz 443
# nebo
#proto udp
#remote openvpn-test.fjfi.cvut.cz 53
#
# stejným způsobem bude openvpn fungovat také na portech:
# 22, 53, 80, 443, 465, 587, 993, 1194
resolv-retry infinite
nobind
persist-key
persist-tun
tls-client
# Odkomentujte jeden z následujících řádku a upravte cestu k certifikátům
#ca "c:\\Program Files\\OpenVPN\\config\\server-chain.crt"  # windows
#ca "/etc/pki/tls/certs/server-chain.crt"  # linux
#ca "/etc/pki/tls/certs/ca-bundle.crt"     # linux - použití důvěryhodných certifikátu z distribuce
# důvěryhodné CA certifikáty lze mít v samostatném souboru nebo přímo zde
<ca>
-----BEGIN CERTIFICATE-----
MIIFBjCCAu6gAwIBAgIRAIp9PhPWLzDvI4a9KQdrNPgwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAzMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDEMMAoGA1UEAxMDUjExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAuoe8XBsAOcvKCs3UZxD5ATylTqVhyybKUvsVAbe5KPUoHu0nsyQYOWcJ
DAjs4DqwO3cOvfPlOVRBDE6uQdaZdN5R2+97/1i9qLcT9t4x1fJyyXJqC4N0lZxG
AGQUmfOx2SLZzaiSqhwmej/+71gFewiVgdtxD4774zEJuwm+UE1fj5F2PVqdnoPy
6cRms+EGZkNIGIBloDcYmpuEMpexsr3E+BUAnSeI++JjF5ZsmydnS8TbKF5pwnnw
SVzgJFDhxLyhBax7QG0AtMJBP6dYuC/FXJuluwme8f7rsIU5/agK70XEeOtlKsLP
Xzze41xNG/cLJyuqC0J3U095ah2H2QIDAQABo4H4MIH1MA4GA1UdDwEB/wQEAwIB
hjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwEgYDVR0TAQH/BAgwBgEB
/wIBADAdBgNVHQ4EFgQUxc9GpOr0w8B6bJXELbBeki8m47kwHwYDVR0jBBgwFoAU
ebRZ5nu25eQBc4AIiMgaWPbpm24wMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzAC
hhZodHRwOi8veDEuaS5sZW5jci5vcmcvMBMGA1UdIAQMMAowCAYGZ4EMAQIBMCcG
A1UdHwQgMB4wHKAaoBiGFmh0dHA6Ly94MS5jLmxlbmNyLm9yZy8wDQYJKoZIhvcN
AQELBQADggIBAE7iiV0KAxyQOND1H/lxXPjDj7I3iHpvsCUf7b632IYGjukJhM1y
v4Hz/MrPU0jtvfZpQtSlET41yBOykh0FX+ou1Nj4ScOt9ZmWnO8m2OG0JAtIIE38
01S0qcYhyOE2G/93ZCkXufBL713qzXnQv5C/viOykNpKqUgxdKlEC+Hi9i2DcaR1
e9KUwQUZRhy5j/PEdEglKg3l9dtD4tuTm7kZtB8v32oOjzHTYw+7KdzdZiw/sBtn
UfhBPORNuay4pJxmY/WrhSMdzFO2q3Gu3MUBcdo27goYKjL9CTF8j/Zz55yctUoV
aneCWs/ajUX+HypkBTA+c8LGDLnWO2NKq0YD/pnARkAnYGPfUDoHR9gVSp/qRx+Z
WghiDLZsMwhN1zjtSC0uBWiugF3vTNzYIEFfaPG7Ws3jDrAMMYebQ95JQ+HIBD/R
PBuHRTBpqKlyDnkSHDHYPiNX3adPoPAcgdF3H2/W0rmoswMWgTlLn1Wu0mrks7/q
pdWfS6PJ1jty80r2VKsM/Dj3YIDfbjXKdaFU5C+8bhfJGqU3taKauuz0wHVGT3eo
6FlWkWYtbt4pgdamlwVeZEW+LM7qZEJEsMNPrfC03APKmZsJgpWCDWOKZvkZcvjV
uYkQ4omYCTX5ohy+knMjdOmdH9c7SpqEWBDC86fiNex+O0XOMEZSa8DA
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----
</ca>
remote-cert-tls server
comp-lzo
verb 2
auth-user-pass

# Pokud neodkomentujete níže uvedené řadky, bude veškerá komunikace s veřejnými
# IP adresami směřována přes VPN a NATována na nms.fjfi.cvut.cz

# Pokud nechcete s vybranými adresami komunikovat přes VPN (např. jste v cizině
# na univerzitě a nechcete aby provoz s lokalními stroji zdržovalo posílání všech
# dat přes OpenVPN/Prahu), můžete odkomentovat a upravit nasledující řádky
#route 131.225.0.0 255.255.0.0 net_gateway 
#route 137.138.0.0 255.255.0.0 net_gateway 

# Pokud chcete komunikovat přes VPN pouze s počítači na ČVUT odkomentujte tyto řádky
#route-nopull
#route 147.32.0.0 255.255.0.0 vpn_gateway

# Pro přístup do lokálních privátních sítí na FJFI přidejte
#route 172.16.0.0 255.255.15.0 vpn_gateway

# Na linuxu budete muset nastavit přímé spojené na DNS server nebo po připojení změnit
# údaje v /etc/resolv.conf a restartovat lokální DNS cachovací daemony pokud je používate
# případně se můžete nechat inspirovat návodem jak úpravu konfigurace DNS zautomatizovat
# https://wiki.archlinux.org/index.php/OpenVPN#Update_resolv-conf_script
#route 8.8.8.8 255.255.255.255 net_gateway
#route 8.8.4.4 255.255.255.255 net_gateway
  • spusťte OpenVPN
    • ve WindowsXP stačí "spustit" konfigurační soubor příponu "ovpn" s právy administrátora
    • ve Windows Vista/7 musí být konfigurační soubor uložen v adresáři c:\Program Files\OpenVPN\config resp. c:\Program Files (x86)\OpenVPN\config a pro vytvoření VPN spoje je potřeba použít OpenVPN GUI spustěné s právy administrátora (viz. níže)
    • v linuxu se konfigurační soubor dává do /etc/openvpn/client.conf a poté stačí spustít OpenVPN službu (tohle ale nebude fungovat, protože je nutný interaktivní start, kde se zadává jméno/heslo)
  • při dotazu na jméno a heslo zadejte svoje ČVUT jméno/heslo

Windows Vista/7

V tomto systému je potřeba spustit OpenVPN klienta s právy administrátora. Buď si můžete vytvořit vhodný dávkový soubor nebo ve start menu kliknout pravým tlačítkem na "Všechny programy" -> "OpenVPN" -> "OpenVPN GUI", vybrat položku "vlastnosti" a ve vyvolaném dialogu pak v záložce pro kompatibilitu zaškrtněte, ať se OpenVPN GUI spouští s právy administrátora.

OpenVPN-Win7-Connect.png

Linux

# ruční spuštění OpenVPN klienta
sudo openvpn --config /cesta/ke/fjfi.ovpn
# TODO: konfigurace NetworkManageru

Android

OpenVPN for Android funguje s výše uvedeným konfiguračním souborem.

Potenciální problémy

  • v linuxu může nastat problém s komunikací s lokálním DNS a DHCP serverem. Je vhodné ručně nastavit routování k lokálnímu DHCP serveru, jinak se může spojení rozpadat po vypršení platností DHCP lease. Pokud aktuální DNS server uvedený v /etc/resolv.conf není schopen odpovídat na dotazy po spuštění VPN, je potřeba ho nahradit DNS serverem s adresou 147.32.9.4 případně můžete postupovat podle návodů na automatickou změnu DNS po spuštění/ukončení OpenVPN spojení.

Konfigurace PPTP (aktuálně testováno)

Pro ověření při použití PPTP VPN použijte standardní ČVUT/FJFI jméno, ale jako heslo musíte zadat svoje WiFiFJFI heslo

Windows

# konfigurace pomocí powershellu (netestováno)
PS C:\> Add-VpnConnection -Name "VPN FJFI PPTP" -ServerAddress "147.32.9.2" -TunnelType Pptp -EncryptionLevel Required -AuthenticationMethod MSChapv2 -SplitTunneling -AllUserConnection  -RememberCredential -PassThru

Linux

NetworkManager z příkazové řádky

# prvotní vytvoření konfigurace
# na druhé řádce nahraďte username svým uživatelským jménem
nmcli connection add con-name "VPN FJFI PPTP" type vpn vpn-type pptp
nmcli connection modify "VPN FJFI PPTP" vpn.data "refuse-pap = yes, password-flags = 1, refuse-chap = yes, refuse-eap = yes, user = username, require-mppe = yes, gateway = 147.32.9.2"
# nastartování VPN FJFI PPTP
nmcli connection up "VPN FJFI PPTP"

Konfigurace L2TP+IPSec (aktuálně testováno)

Windows

Otestováno s Windows 8

Linux

Aktuální verze NetworkManager-l2tp 0.9.8.6 vyžaduje patch pro navázání IPSec spojení.

Konfigurace IPSec (aktuálně testováno)

Konfigurace by měla chodit podobně jako ČVUT VPN, jen sem bude potřeba dodat správné parametry.