Hier zeige ich euch, wie man den kompletten Traffic bzw. alle Verbindungen über den OpenVPN Server leitet.
Folgender Parameter muss aktiviert werden, um den ganzen Traffic über den OpenVPN Server zu schicken:
Datei: /etc/openvpn/server.conf
push "redirect-gateway def1"
Um sicherzustellen das der ganze IPv4-Datenverkehr weitergeleitet wird, muss folgendes auskommentiert/hinzugefügt werden:
Datei: /etc/sysctl.conf
net.ipv4.ip_forward=1
Um die Einstellungen direkt zu setzen, am besten direkt noch folgendes ausführen:
echo 1 > /proc/sys/net/ipv4/ip_forward
Um den ganzen Traffic weiterzuleiten, muss noch via iptables folgendes eingerichtet werden:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT iptables -A FORWARD -j REJECT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Bei einem OpenVZ Server muss ggf. von oben der letzte Befehel so lauten:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source hierdieexterneipvomserver
Um beim nächsten Systemstart nicht wieder diese iptables Befehle ausführen zu müssen, kann man diese in „/etc/rc.local“ schreiben:
Datei: /etc/rc.local
#!/bin/sh -e # # [...] # iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT iptables -A FORWARD -j REJECT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE exit 0
Somit wird der ganze Datenverkehr außer die DNS-Abfragen über den OpenVPN Server geleitet.
Möchte man dass die DNS-Abfragen auch über den OpenVPN Server gehen, muss noch folgendes gemacht werden:
Das Programm „dnsmasq“ installieren:
apt-get install dnsmasq
Dnsmasq so bearbeiten, dass dieser nicht nur auf 127.0.0.1 lauscht, sondern auch auf den gateway vom OpenVPN tun device:
Datei: /etc/dnsmasq.conf
listen-address=127.0.0.1,10.8.0.1 bind-interfaces
Wenn der Debian Server neu gestartet wird, versucht dnsmasq den OpenVPN tun device als erster zu starten. Da dieser aber schon von OpenVPN selber gestartet wird, muss folgendes in die „/etc/rc.local“ (unter die iptables Befehle) eingetragen werden:
Datei: /etc/rc.local
/etc/init.d/dnsmasq restart exit 0
Nochmals die server.conf Datei bearbeiten und folgendes eintragen:
Datei: /etc/openvpn/server.conf
push "dhcp-option DNS 10.8.0.1"
Zum Schluss müssen noch die Dienste neugestartet werden:
/etc/init.d/openvpn restart /etc/init.d/dnsmasq restart
Hey, deine Tutorial sind echt cool. Hab schon ne Menge von Dir gelesen, oft hab ich hier die Lösung für ein Problem gefunden.