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]

Č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 nms.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.fjfi.cvut.cz 443
# nebo
#proto udp
#remote openvpn.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-----
MIIG5TCCBM2gAwIBAgIRANpDvROb0li7TdYcrMTz2+AwDQYJKoZIhvcNAQEMBQAw
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIw
MDIxODAwMDAwMFoXDTMzMDUwMTIzNTk1OVowRDELMAkGA1UEBhMCTkwxGTAXBgNV
BAoTEEdFQU5UIFZlcmVuaWdpbmcxGjAYBgNVBAMTEUdFQU5UIE9WIFJTQSBDQSA0
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApYhi1aEiPsg9ZKRMAw9Q
r8Mthsr6R20VSfFeh7TgwtLQi6RSRLOh4or4EMG/1th8lijv7xnBMVZkTysFiPmT
PiLOfvz+QwO1NwjvgY+Jrs7fSoVA/TQkXzcxu4Tl3WHi+qJmKLJVu/JOuHud6mOp
LWkIbhODSzOxANJ24IGPx9h4OXDyy6/342eE6UPXCtJ8AzeumTG6Dfv5KVx24lCF
TGUzHUB+j+g0lSKg/Sf1OzgCajJV9enmZ/84ydh48wPp6vbWf1H0O3Rd3LhpMSVn
TqFTLKZSbQeLcx/l9DOKZfBCC9ghWxsgTqW9gQ7v3T3aIfSaVC9rnwVxO0VjmDdP
FNbdoxnh0zYwf45nV1QQgpRwZJ93yWedhp4ch1a6Ajwqs+wv4mZzmBSjovtV0mKw
d+CQbSToalEUP4QeJq4Udz5WNmNMI4OYP6cgrnlJ50aa0DZPlJqrKQPGL69KQQz1
2WgxvhCuVU70y6ZWAPopBa1ykbsttpLxADZre5cH573lIuLHdjx7NjpYIXRx2+QJ
URnX2qx37eZIxYXz8ggM+wXH6RDbU3V2o5DP67hXPHSAbA+p0orjAocpk2osxHKo
NSE3LCjNx8WVdxnXvuQ28tKdaK69knfm3bB7xpdfsNNTPH9ElcjscWZxpeZ5Iij8
lyrCG1z0vSWtSBsgSnUyG/sCAwEAAaOCAYswggGHMB8GA1UdIwQYMBaAFFN5v1qq
K0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBRvHTVJEGwy+lmgnryK6B+VvnF6DDAO
BgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggr
BgEFBQcDAQYIKwYBBQUHAwIwOAYDVR0gBDEwLzAtBgRVHSAAMCUwIwYIKwYBBQUH
AgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFAGA1UdHwRJMEcwRaBDoEGGP2h0
dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9u
QXV0aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6
Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAl
BggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0B
AQwFAAOCAgEAUtlC3e0xj/1BMfPhdQhUXeLjb0xp8UE28kzWE5xDzGKbfGgnrT2R
lw5gLIx+/cNVrad//+MrpTppMlxq59AsXYZW3xRasrvkjGfNR3vt/1RAl8iI31lG
hIg6dfIX5N4esLkrQeN8HiyHKH6khm4966IkVVtnxz5CgUPqEYn4eQ+4eeESrWBh
AqXaiv7HRvpsdwLYekAhnrlGpioZ/CJIT2PTTxf+GHM6cuUnNqdUzfvrQgA8kt1/
ASXx2od/M+c8nlJqrGz29lrJveJOSEMX0c/ts02WhsfMhkYa6XujUZLmvR1Eq08r
48/EZ4l+t5L4wt0DV8VaPbsEBF1EOFpz/YS2H6mSwcFaNJbnYqqJHIvm3PLJHkFm
EoLXRVrQXdCT+3wgBfgU6heCV5CYBz/YkrdWES7tiiT8sVUDqXmVlTsbiRNiyLs2
bmEWWFUl76jViIJog5fongEqN3jLIGTG/mXrJT1UyymIcobnIGrbwwRVz/mpFQo0
vBYIi1k2ThVh0Dx88BbF9YiP84dd8Fkn5wbE6FxXYJ287qfRTgmhePecPc73Yrzt
apdRcsKVGkOpaTIJP/l+lAHRLZxk/dUtyN95G++bOSQqnOCpVPabUGl2E/OEyFrp
Ipwgu2L/WJclvd6g+ZA/iWkLSMcpnFb+uX6QBqvD6+RNxul1FaB5iHY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
jjxDah2nGN59PRbxYvnKkKj9
-----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.