-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClient_setup_to_deployablevpn.txt
181 lines (150 loc) · 5.53 KB
/
Client_setup_to_deployablevpn.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
===================================================
Instruction for client to connect to deployablevpn
===================================================
[on client vm with root]
1. Create the new vm
2. apt update && apt upgrade -y
3. vim /etc/hostname -> change hostname
4. apt install openvpn -y
5. reboot
[on deployablevpn]
# note that [client] is your client_hostname
6. log in and switch to root
Add your client machine and its IP to /etc/openvpn/ipp.txt
For example
kali99,10.8.0.99
7. Create the client key pair
cd /root/EasyRSA-3.0.8
/root/EasyRSA-3.0.8/easyrsa gen-req [client] nopass
mv pki/reqs/[client].req /tmp
/root/EasyRSA-3.0.8/easyrsa import-req /tmp/[client].req [client]
/root/EasyRSA-3.0.8/easyrsa sign-req client [client]
cp /root/EasyRSA-3.0.8/pki/issued/[client].crt /tmp
cp /root/EasyRSA-3.0.8/pki/private/[client].key /tmp
cp /etc/openvpn/ca.crt /tmp
cp /etc/openvpn/ta.key /tmp
8. Zip all the files that copied to /tmp: [client].crt, [client].key, ca.crt, ta.key
cd /tmp
zip [client].zip [client].crt [client].key ca.crt ta.key
9. copy the zip file to client machine and unzip it to /etc/openvpn/
[on client vm with root]
10. in /etc/openvpn create a file with content below:
---------------------------------------------------------------------------------------------------------------------
[client].conf (make sure change [client] to your_client_host_name, for example kali99
---------------------------------------------------------------------------------------------------------------------
##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server. #
# #
# This configuration can be used by multiple #
# clients, however each client should have #
# its own cert and key files. #
# #
# On Windows, you might want to rename this #
# file so it has a .ovpn extension #
##############################################
# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client
# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
;dev tap
dev tun
# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one. On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap
# Are we connecting to a TCP or
# UDP server? Use the same setting as
# on the server.
;proto tcp
proto tcp
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote deployablevpn.deltarisk.com 443
;remote my-server-2 1194
# Choose a random host from the remote
# list for load-balancing. Otherwise
# try hosts in the order specified.
;remote-random
# Keep trying indefinitely to resolve the
# host name of the OpenVPN server. Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite
# Most clients don't need to bind to
# a specific local port number.
nobind
# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup
# Try to preserve some state across restarts.
persist-key
persist-tun
# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here. See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]
# Wireless networks often produce a lot
# of duplicate packets. Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings
# SSL/TLS parms.
# See the server config file for more
# description. It's best to use
# a separate .crt/.key file pair
# for each client. A single ca
# file can be used for all clients.
ca ca.crt
cert [client].crt
key [client].key
# Verify server certificate by checking that the
# certicate has the correct key usage set.
# This is an important precaution to protect against
# a potential attack discussed here:
# http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the keyUsage set to
# digitalSignature, keyEncipherment
# and the extendedKeyUsage to
# serverAuth
# EasyRSA can do this for you.
remote-cert-tls server
# If a tls-auth key is used on the server
# then every client must also have the key.
tls-auth ta.key 1
# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
# Note that v2.4 client/server will automatically
# negotiate AES-256-GCM in TLS mode.
# See also the ncp-cipher option in the manpage
cipher AES-256-CBC
auth SHA256
# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
#comp-lzo
# Set log file verbosity.
verb 3
# Silence repeating messages
;mute 20
key-direction 1
---------------------------------------------------------------------------------------------------------------------
12. systemctl start openvpn@[client]
13. systemctl enable openvpn@[client] //persistent on reboot
[on deployablevpn]
14. verify if the connection established.
sudo openvpn.show_clients.sh