Wiki source code of VPN Access

Last modified by Thomas Coelho on 2022/06/22 14:38

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5
6 To get full access to our network from external locations we provide a VPN access based on openVPN. This is free software and part of every Linux distribution. The following guide has been tested with Ubuntu.
7
8 For Linux we recommend the graphical configuration with ~[~[VPN with Networkmanager]].
9
10 It is available for Windows and MacOS too.
11
12
13 This article shows you how to log into our VPN network without using the terminal. This method is by far more convenient and you also may find this helpful if you are not very familiar with command lines.
14 We will use a VPN Plugin called network-manager.
15
16 === Installation ===
17
18 Open up a terminal of your choice (Ctrl + T) and install OpenVPN Network Manager by typing the following line:
19
20 sudo apt-get install network-manager-openvpn-gnome
21
22 Please enter your password to confirm the installation.
23
24 After the successful installation NetworkManager must be restartet:
25
26 sudo service network-manager restart
27
28 Again, confirm with your password if necessary.
29
30 ~== Getting Started ==
31
32 <br>~[~[File:step_01.png|thumb|x50|Menu in the top right corner in Ubuntu 14.04]]
33 ~[~[File:Settings-network.png|thumb|x50|Settings menu in Ubuntu 18.04]]
34 ~[~[File:Settings-network-vpn.png|thumb|x50|VPN Settings in Ubuntu 18.04]]
35
36 To get VPN access you must set up a new VPN connection first. Click on the two arrow symbol (or the WiFi symbol - depending on which connection you are currently using) in the top right corner.
37 ~: Now choose <code>VPN Connections ->  Configure VPN...</code>. <br>
38 A new window will open up.
39 ~: Click on <code>Add</code> to add a new connection. <br>
40 You will be asked for the connection type.
41 ~: Choose <code>OpenVPN</code> and click on <code>Create...</code>.
42 If in the top right corner the option <code>VPN Connections</code> does not exist, the open the normal settings and add a new openvpn connection in <code>Network</code>.
43
44 Next you need to edit and configure your connection. Choose any connection name (e.g. itp_openvpn). <br>
45
46 For the '''Gateway''' type:
47 vgw.itp.uni-frankfurt.de
48
49 (old gateway: vpn.itp.uni-frankfurt.de)
50
51 Under '''Authentication''' select <code>Password</code> as authentication type. Enter your user name and password and choose the CA Certificate 'private-ca-itp.crt'. It can be downloaded [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/private-ca-itp.crt here].
52
53 Your new VPN connection will be listet in '''Network Connections'''.
54
55 ~==Using a VPN Connection==
56 To access a VPN network just click on the arrow or WiFi symbol on the top right corner. Your configured connection should be found under '''VPN Connections'''.
57
58
59 == OpenVPN from the command line ==
60
61 ~=== Install OpenVPN ===
62
63 It is not part of the default installation, but can easily installed using apt. Enter the following commands:
64
65 sudo apt install openvpn
66
67 This requires to enter your password to get super user privileges.
68
69 ~=== Command line configuration ===
70
71 We have setup a new VPN gateway. Please use this configuration and report problems.
72
73 This configuration routes all traffic trough ITP. This is useful if you want to download papers, which are restricted to the university network.
74 The second examples only routes the traffic going directly to the ITP trough the VPN and leaves your default gateway untouched. The only difference is the missing 'redirect-gateway' statement [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/all-via-itp.ovpn]
75
76 <pre>
77 client
78 dev tun
79 proto udp
80 nobind
81 remote vgw.itp.uni-frankfurt.de
82 verify-x509-name vgw.itp.uni-frankfurt.de name
83 remote-cert-tls server
84 resolv-retry infinite
85 auth-user-pass
86 ca private-ca-itp.crt
87 # Comment this, if you don't want to redirect the default gateway
88 redirect-gateway def1             
89 </pre>
90
91 Download our CA (Certificate of Authority) [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/private-ca-itp.crt] and store it in the same place. This file is needed for the verification of the authenticity of the server.
92
93 For only accessing internal services and routing your the normal traffic to your normal uplink use the following configuration: [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/itp.ovpn]
94
95 <pre>
96 client
97 dev tun
98 proto udp
99 nobind
100 remote vgw.itp.uni-frankfurt.de
101 verify-x509-name vgw.itp.uni-frankfurt.de name
102 remote-cert-tls server
103 resolv-retry infinite
104 auth-user-pass
105 ca private-ca-itp.crt
106 </pre>
107
108
109 ~=== Start the VPN connection ===
110
111 Open a terminal and change to the path where the vpn config file is stored. Start the connection with
112
113 sudo openvpn itp.ovpn
114
115 where itp.ovpn is the name of the config file. openvpn needs root access, therefore you must enter your local password for sudo. After this you have to enter your ITP credentials (Username and Password).
116
117 If everything went fine the output will look like:
118
119 <pre>
120 Fri Dec  7 15:03:00 2012 WARNING: Make sure you understand the semantics of ~-~-tls-remote before using it (see the man page).
121 Fri Dec  7 15:03:00 2012 NOTE: OpenVPN 2.1 requires '~-~-script-security 2' or higher to call user-defined scripts or executables
122 Fri Dec  7 15:03:00 2012 UDPv4 link local: [undef]
123 Fri Dec  7 15:03:00 2012 UDPv4 link remote: [AF_INET]141.2.246.2:1194
124 Fri Dec  7 15:03:00 2012 WARNING: this configuration may cache passwords in memory ~-~- use the auth-nocache option to prevent this
125 Fri Dec  7 15:03:00 2012 [FIAS-ITP_Generic_VPN_Service] Peer Connection Initiated with [AF_INET]141.2.246.2:1194
126 Fri Dec  7 15:03:02 2012 TUN/TAP device tap0 opened
127 Fri Dec  7 15:03:02 2012 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
128 Fri Dec  7 15:03:02 2012 /sbin/ifconfig tap0 10.63.131.1 netmask 255.255.0.0 mtu 1500 broadcast 10.63.255.255
129 Fri Dec  7 15:03:02 2012 Initialization Sequence Completed
130 </pre>
131
132 Termiate the session by pressing Ctrl-C in this terminal.
133
134 ~==OpenVPN for Windows 10==
135
136 At the time of writing, you can download OpenVPN on 'https:~/~/openvpn.net/community-downloads/'.
137 Download the exe-file for Windows 10 and install OpenVPN.
138 Start 'OpenVPN GUI'. You will get a message that no config file was found. But starting 'OpenVPN GUI' creates a directory to put the config files into.
139
140 Next you need to download our CA (Certificate of Authority) [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/private-ca-itp.crt] and the config file [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/all-via-itp.ovpn].
141
142 Some Browsers, depending on the download method, save some of these files as standard text files '.txt'. If this happens, you need to rename them to 'private-ca-itp.crt' and 'all-via-itp.ovpn'. With standard configuration Windows 10 does not show the endings of the file names. The endings are correct if for 'all-via-itp.ovpn' the file type is shown as 'OpenVPN Config' and  for 'private-ca-itp.crt' as 'Sicherheitszertifikat' or 'security certificate'.
143
144 You need to copy/save both files to C:/Users/'yourusername'/OpenVPN/config/, where 'yourusername' is your local username. In the picture below, the directory with the two needed files in it for a german Windows 10 is shown (for the username 'user'). (For both is assumed that 'C' is, as for most Windows systems, your main hard drive.)
145
146 ~[~[File:Openvpn-win10-1.png|center]]
147
148 If 'OpenVPN GUI' is started, you can find it in the lower right corner where the minisymbols are. Most likely you need to click on the small arrow first. It is the symbol with the computer screen and the lock symbol. Right click on the symbol and you get a menu where the first option is to connect. Click this option. This menu has less entries if the settings are not found. Then control the previous step.
149
150 ~[~[File:Openvpn-win10-2.png|center]]
151
152 After a few seconds you should get a login screen where you use the credentials of your itp account.
153
154 ~[~[File:Openvpn-win10-3.png|center]]
155
156 The login takes a few seconds. Your connection was successful if no error window occurs and now the symbol in the lower right is green.
157
158 ~[~[File:Openvpn-win10-4.png|center]]
159
160 ~==MacOS (tunnelblick)==
161
162 First download the itp certificate [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/private-ca-itp.crt] and configuration file [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/all-via-itp.ovpn]. If a '.txt' was added to the configuration file name, remove the ending '.txt'. At the end the two files should normally be namend 'private-ca-itp.crt' and 'all-via-itp.ovpn'.
163
164 Download the last stable release of the software tunnelblick [https:~/~/tunnelblick.net/downloads.html] and execute the dowloaded file.
165
166 ~[~[File:Tunnelblick1.png|center|750px]]
167
168 After completion of the installation, a new icon appears in the top bar. Drag and drop the downloaded configuration file to this new icon to add the configuration to tunnelblick. Most likely you do not need to add the certificate manually (it was enough to download it and is handled automatically). Alternatively double-clicking the .ovpn file will also start the import. Both files are copied to system. The original files are no longer referred.
169
170 ~[~[File:Tunnelblick2.png|center|750px]]
171
172 Open the settings page, like shown in the screenshot below and make sure the Default Route Option is selected. This option is ignored from the ovpn configuration.
173
174 ~[~[File:Ovpn_settings_default_route.jpg|center|750px]]
175
176 Now you can connect to the itp vpn via the new tunnelblick icon.
177
178 If something fails look into the log of the connection. It also includes multiple times the path to place where the configuration file (tunnelblick automatically renames it into 'config.ovpn') and the certificate are stored. The exact path varies depending on your previous choice to use the configuration just for the  current user or for all users.
179
180 ~[~[File:Tunnelblick3.png|center|750px]]
181
182 In this case the configuration file and the certificate are located in '/Library/Application Support/Tunnelblick/Shared/all-via-itp.tblk/Contents/Resources'. If you need to edit or replace the configuration file or the certificate, this can be done in this directory. If there is just the configuration file in the directory, then copy the certificate to the in the log mentioned directory.
183
184 ~==Problems changing the vpn settings in tunnelblick (macOS)==
185
186 There were problems reported when switching in tunnelblick from the old vpn (vpn.th.physik.uni-frankfurt.de with tap) to the new one (vgw.itp.uni-frankfurt.de with tun). You also have this problem if, after applying the new configuration file itp.ovpn, the vpn does not work and the output contains a line containing 'vpn.th.physik.uni-frankfurt.de'. Search the output for a line beginning with '~-~-config' and ending on '.ovpn'. This line specifies which configuration file (.ovpn) is used to establish the vpn connection and where it is located. Edit this file to have the same content as the itp.ovpn [http:~/~/th.physik.uni-frankfurt.de/~~thw/vpn/itp.ovpn] (most likely the lines 2, 5 and 6 need to be edited).
187
188 ~==Warning in tunnelblick (macOS)==
189 If you get the following warning, you can check the box and click OK.
190 ~[~[File:Tb-warn.png|center|500px]]
191
192 ~== Replacing the CA Certificate in macOS ==
193
194 When importing the configuration, the crt file is copied to somewhere in the system (see above). If you replace the crt file in your download or whatever folder it will not be used. The simpliest way to fix this is to delete the configuration from Tunnelblick and reimport it. Make sure the option "Route all traffic through the VPN" is checked (see instrcutions above).
195
196 This is needed after the replacment of the CA certificate in Nov 2020. This lives for 5 years. Next replacment will be in 2025, if we are still using openVPN then.
197
198