CentOS

OpenVPN with CSF firewall rules

JJ
Jobin Joseph · Founder and CEO
·Published 2 February 2017·1 min read

We are a big fan of OpenVPN when it comes to security. Many organizations have already switched to OpenVPN from PPTP etc.

NixVPN is my favorite VPN software to host it on a standalone instance. But what if, if you already have a server protected with CSF firewall, and you want to install OpenVPN by yourself. You may face some issues like enabling routing on the iotables level.

If you have already configured your OpenVPN and authentication is working fine, and you still dont have internet access once connected, please try the below.

Enable IP forwarding

On CentOS / RHEL 6,

change net.ipv4.ip_forward = 0 to net.ipv4.ip_forward = 1 in /etc/sysctl.conf and run the below

sysctl -p

On CentOS / RHEL 7,

create a new file /etc/sysctl.d/openvpn.conf and add the below content to it,

net.ipv4.ip_forward = 1

then restart the service

sysctl -p
systemctl restart systemd-sysctl.service

Adding firewall rules to the CSF
Note : If you are not using CSF, you can add the below rules directly to iptables.

vim /etc/csf/csfpost.sh and add the below contents to it.

Replace eth0 with your interfacename

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT
iptables -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT

Add +x permission to the file

chmod +x /etc/csf/csfpost.sh

Now disable and enable CSF to apply the rules.

csf -x && csf -e

Now re-connect your OpenVPN client and you will be able to access the internet.

Jobin Joseph
Jobin Joseph, Founder and CEO
5x AWS Certified, ISO 27001:2022 Lead Implementer, 17+ years building cloud infrastructure for regulated industries.
About Jobin →

Reading this because your AWS bill or uptime is a problem?

30 minutes, direct with the founder, no sales pitch: one specific recommendation for your AWS workload.

Book a free 30-minute review
30 min Free Consultation →