Understanding Virtual Private Networks (VPsN) is essential for many advanced level certification tests. OpenVPN is a popular VPN solution that enjoys somewhat common use. This exercise focuses on configuring a basic VPN server and client.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Install and configure the OpenVPN server on `vpn-server`.
Install OpenVPN:
Run
yum install -y openvpn
.Copy the server config:
cp /usr/share/doc/openvpn-2.4.7/sample/sample-config-files/server.conf /etc/openvpn/
Edit the server config to contain the following topology configuration:
topology subnet
- Install the provided server certificates.
Run:
cp /home/cloud_user/certs/ca.crt /home/cloud_user/certs/server.crt /home/cloud_user/certs/server.key /etc/openvpn
- Generate the required server keys.
- Generate the
dhparam
key (this may take a few minutes):openssl dhparam -out /etc/openvpn/dh2048.pem 2048
- Generate the key for
tls-auth
and copy it toclient
:openvpn --genkey --secret /etc/openvpn/ta.key
scp /etc/openvpn/ta.key cloud_user:/home/cloud_user/ta.key
- Generate the
- Make the necessary firewall and routing configurations for OpenVPN on `vpn-server`.
Run the following commands:
iptables -I INPUT -p udp --dport 1194 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
sysctl -w net.ipv4.ip_forward=1
- Enable and start the OpenVPN server.
Run the following:
systemctl enable openvpn@server
systemctl start openvpn@server
- Install and configure the OpenVPN client on `vpn-client`.
On
vpn-client
, perform the following steps:- Install OpenVPN:
yum install y openvpn
- Copy the
client.conf
file from/usr/share/doc
:cp /usr/share/doc/openvpn-2.4.7/sample/sample-config-files/client.conf /etc/openvpn/
- Update the
remote
command hostname directive in/etc/openvpn/client.conf
as follows:remote vpn-server 1194
- Install OpenVPN:
- Install the provided client and ca-certificates on `vpn-client`.
Copy the provided certificates off of
vpn-server
and to the noted directories onvpn-client
with the following commands.Run on the host
vpn-client
:cp /home/cloud_user/ca.crt /etc/openvpn/
cp /home/cloud_user/client.key /etc/openvpn/
cp /home/cloud_user/client.crt /etc/openvpn/
- Install the `tls` key from `vpn-server` on `vpn-client`.
Assuming you copied the
tls
key over to/home/cloud_user/ta.key
when you created it in the earlier tasks, runcp /home/cloud_user/ta.key /etc/openvpn/ta.key
.If not, you will need to retrieve the file from
vpn-server:/etc/openvpn/ta.key
.- Enable and start the OpenVPN client.
Run the following commands:
systemctl enable openvpn@client
systemctl start openvpn@client