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

VIC ČVUT začalo s testovacím provozem vlastního VPN koncentrátoru, který mohou využívat zaměstnanci ČVUT. Řešení je postaveno na CISCO VPN klientovi, který se dá (pro windows) stánout z download stránek ČVUT. V linuxu můžete použít nastavení přes knetworkmanager (viz stránky ČVUT) nebo vytvořit konfigurační soubor /etc/vpnc/CVUT.conf (usermap_name nahraďte vaším jménem do usermapu; usermap_password ponechte zakomentované a démon se vás při startu zeptá):

IPSec ID vpn
IPSec gateway vpn.cvut.cz
IPSec secret vpn
Xauth username usemap_name
# Xauth password usermap_password
IKE Authmode psk
# use following line when default TCP connection is not working
# NAT Traversal Mode cisco-udp

a spustit jako root

vpnc CVUT.conf

(doporučuji verzi vpnc 0.5.3 a vyšší). Po připojení dostanete veřejnou adresu z rozsahu ČVUT...

FJFI VPN

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 hlavním FJFI 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)
  • 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-----
MIIEmDCCA4CgAwIBAgIQS8gUAy8H+mqk8Nop32F5ujANBgkqhkiG9w0BAQUFADCB
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
SGFyZHdhcmUwHhcNMDkwNTE4MDAwMDAwWhcNMjAwNTMwMTA0ODM4WjA2MQswCQYD
VQQGEwJOTDEPMA0GA1UEChMGVEVSRU5BMRYwFAYDVQQDEw1URVJFTkEgU1NMIENB
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw+NIxC9cwcupmf0booNd
ij2tOtDipEMfTQ7+NSUwpWkbxOjlwY9UfuFqoppcXN49/ALOlrhfj4NbzGBAkPjk
tjolnF8UUeyx56+eUKExVccCvaxSin81joL6hK0V/qJ/gxA6VVOULAEWdJRUYyij
8lspPZSIgCDiFFkhGbSkmOFg5vLrooCDQ+CtaPN5GYtoQ1E/iptBhQw1jF218bbl
p8ODtWsjb9Sl61DllPFKX+4nSxQSFSRMDc9ijbcAIa06Mg9YC18em9HfnY6pGTVQ
L0GprTvG4EWyUzl/Ib8iGodcNK5Sbwd9ogtOnyt5pn0T3fV/g3wvWl13eHiRoBS/
fQIDAQABo4IBPjCCATowHwYDVR0jBBgwFoAUoXJfJhsomEOVXQc31YWWnUvSw0Uw
HQYDVR0OBBYEFAy9k2gM896ro0lrKzdXR+qQ47ntMA4GA1UdDwEB/wQEAwIBBjAS
BgNVHRMBAf8ECDAGAQH/AgEAMBgGA1UdIAQRMA8wDQYLKwYBBAGyMQECAh0wRAYD
VR0fBD0wOzA5oDegNYYzaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VS
Rmlyc3QtSGFyZHdhcmUuY3JsMHQGCCsGAQUFBwEBBGgwZjA9BggrBgEFBQcwAoYx
aHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VUTkFkZFRydXN0U2VydmVyX0NBLmNy
dDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG
9w0BAQUFAAOCAQEATiPuSJz2hYtxxApuc5NywDqOgIrZs8qy1AGcKM/yXA4hRJML
thoh45gBlA5nSYEevj0NTmDa76AxTpXv8916WoIgQ7ahY0OzUGlDYktWYrA0irkT
Q1mT7BR5iPNIk+idyfqHcgxrVqDDFY1opYcfcS3mWm08aXFABFXcoEOUIEU4eNe9
itg5xt8Jt1qaqQO4KBB4zb8BG1oRPjj02Bs0ec8z0gH9rJjNbUcRkEy7uVvYcOfV
r7bMxIbmdcCeKbYrDyqlaQIN4+mitF3A884saoU4dmHGSYKrUbOCprlBmCiY+2v+
ihb/MX5UR6g83EMmqZsFt57ANEORMNQywxFa4Q==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEPDCCAySgAwIBAgIQSEus8arH1xND0aJ0NUmXJTANBgkqhkiG9w0BAQUFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTA1MDYwNzA4MDkxMFoXDTIwMDUzMDEwNDgzOFow
gZcxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtl
IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMY
aHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR8wHQYDVQQDExZVVE4tVVNFUkZpcnN0
LUhhcmR3YXJlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsffDOD+0
qH/POYJRZ9Btn9L/WPPnnyvsDYlUmbk4mRb34CF5SMK7YXQSlh08anLVPBBnOjnt
KxPNZuuVCTOkbJex6MbswXV5nEZejavQav25KlUXEFSzGfCa9vGxXbanbfvgcRdr
ooj7AN/+GjF3DJoBerEy4ysBBzhuw6VeI7xFm3tQwckwj9vlK3rTW/szQB6g1ZgX
vIuHw4nTXaCOsqqq9o5piAbF+okh8widaS4JM5spDUYPjMxJNLBpUb35Bs1orWZM
vD6sYb0KiA7I3z3ufARMnQpea5HW7sftKI2rTYeJc9BupNAeFosU4XZEA39jrOTN
SZzFkvSrMqFIWwIDAQABo4GqMIGnMB8GA1UdIwQYMBaAFK29mHo0tCb3+sQmVO8D
veAky1QaMB0GA1UdDgQWBBShcl8mGyiYQ5VdBzfVhZadS9LDRTAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8v
Y3JsLnVzZXJ0cnVzdC5jb20vQWRkVHJ1c3RFeHRlcm5hbENBUm9vdC5jcmwwDQYJ
KoZIhvcNAQEFBQADggEBADzse+Cuow6WbTDXhcbSaFtFWoKmNA+wyZIjXhFtCBGy
dAkjOjUlc1heyrl8KPpH7PmgA1hQtlPvjNs55Gfp2MooRtSn4PU4dfjny1y/HRE8
akCbLURW0/f/BSgyDBXIZEWT6CEkjy3aeoR7T8/NsiV8dxDTlNEEkaglHAkiD31E
NREU768A/l7qX46w2ZJZuvwTlqAYAVbO2vYoC7Gv3VxPXLLzj1pxz+0YrWOIHY6V
9+qV5x+tkLiECEeFfyIvGh1IMNZMCNg3GWcyK+tc0LL8blefBDVekAB+EcfeEyrN
pG1FJseIVqDwavfY5/wnfmcI0L36tsNhAgFlubgvz1o=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
-----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)
#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 hlavní FJFI 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

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"

NetworkManager GUI

TODO (nebo to sem někdo doplňte)

Android

TODO (lze vycházet z návodů na internetu)

iPhone

TODO (nebo to sem někdo doplňte)

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.