Zelf loop ik er als flexwerker regelmatig tegen aan dat ik ondersteuning moet verlenen, echter is de beveiliging middels een firewall op IP-adres geregeld. Het probleem waar ik tegen aan loop is dat ik een wisselend IP-adres heb en dit onhandig vind in de communicatie.
Door gebruik te maken van een Linux VPS in combinatie met OpenVPN is het mogelijk een enkel IP-adres naar de klant te communiceren.
Als eerste moet gezorgd worden dat UDP poort 1194 op de server open staat, dit is de poort waar standaard het OpenVPN-verkeer over gaat. Mocht deze geblokkeerd staan, kan deze open worden gezet met 't volgende iptables-commando,
iptables -I INPUT -p udp --dport 1194 -j ACCEPT
Vervolgens kunnen server-side de routing-regels worden ingesteld en ipv4-forwarding aangezet,
iptables -I FORWARD -i tun0 -o eth0 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -i eth0 -o tun0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -i tun0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -s 10.200.0.0/24 -o eth0 -j MASQUERADE
sysctl net.ipv4.ip_forward=1
Nu de firewall juist is geconfigureerd, is de volgende stap om OpenVPN te configureren en starten. Als eerste is het verstandig een secret-key aan te maken om de VPN te beveiligen. Deze secret.key wordt in deze opzet zowel door de server als client gebruikt,
openvpn --genkey --secret secret.key
Server-side kan vervolgens OpenVPN gestart worden. Dit configureerd een zogeheten 'tun'-device met een server/client ip-adres 10.200.0.1 & 10.200.0.2.
sudo openvpn --ifconfig 10.200.0.1 10.200.0.2 --secret secret.key --dev tun
Client-side kan vervolgens verbinding gemaakt worden met de OpenVPN server met het volgende commando,
sudo openvpn --ifconfig 10.200.0.2 10.200.0.1 --secret secret.key --dev tun --remote server1.itxplain.nl --redirect-gateway autolocal
Nu moet er een tunnel tot stand zijn gekomen tussen de server en de client. Al het TCP/IP verkeerd zal via de server worden geroute.