OpenVPN über einen bestimmten Port zulassen – CentOS 6.5

OpenVPN über einen bestimmten Port zulassen – CentOS 6.5

Ich besitze einen VPS (CentOS 6.5). Auf diesem Server habe ich OpenVPN installiert. Alles funktioniert einwandfrei, ich kann mich verbinden und surfen usw. Angenommen, meine IP des Servers lautet: 1.2.3.4. Wenn ich mich mit meinem VPS verbinde, lautet meine IP 1.2.3.4.

Ich habe auch OpenERP (auf demselben VPS) installiert, das auf Port 8069 läuft.

Ich versuche, den gesamten Datenverkehr auf Port 8069 außer dem VPN-Datenverkehr zu blockieren. Daher muss ich mich mit OpenVPN mit meinem VPS verbinden, um darauf zugreifen zu können http://1.2.3.4:8069.

Ich habe mehrere iptables-Tutorials im Internet ausprobiert, aber keines davon funktioniert.

Zum Beispiel:

iptables -A INPUT -p tcp -s 1.2.3.4 --dport 8069 -j ACCEPT 
or 
iptables -A INPUT -p tcp -s  10.8.0.0/24 --dport 8069 -j ACCEPT
or
iptables -I INPUT \! --src 10.8.0.0/24 -m tcp -p tcp --dport 8069 -j DROP
or
iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 8069 -j DROP

Dies sind Beispiele. Ich habe noch mehr Regeln ausprobiert. Alle Tutorials, die ich befolgt habe, blockieren den gesamten Datenverkehr auf Port 8069. Selbst wenn ich mich mit OpenVPN mit meinem VPS verbinde, kann ich nicht darauf zugreifen http://1.2.3.4:8069.

Hat jemand eine Idee, wie ich den gesamten Datenverkehr auf Port 8069 außer meiner VPN-Verbindung blockieren kann? Wie erreiche ich das?

Meine server.conf ist:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
user nobody
group nobody
keepalive 5 30
cipher AES-256-CBC   
comp-lzo
persist-key
persist-tun
verb 5

Meine Client-Konfiguration lautet:

dev tun
client
proto udp
remote 1.2.3.4
port 1194
resolv-retry infinite
nobind
redirect-gateway def1
persist-key
persist-tun
ca ca.crt
cert nika-pc.crt
key nika-pc.key
cipher AES-256-CBC   
comp-lzo
ns-cert-type server
verb 5

Dank im Voraus.

Bearbeiten:

Ausgabe: iptables -L -n -v

http://pastebin.com/RhzFBG8R

Ausgabe: iptables -L -n -v | head

http://pastebin.com/n6gLe68s

Antwort1

Meine Güte, das ist eine komplexe Firewall-Konfiguration (obwohl eineschrecklichviele Regeln haben eine Paketanzahl von Null, was mich vermuten lässt, dass da eine Menge historischer Müll drin ist). Anstatt alles durchzuforschen und herauszufinden, welche vorhandene Regel diesen Datenverkehr irrtümlicherweise abfängt, schlage ich vor, dass wir alles durchgehen und nur die relevanten Regeln an den Anfang setzen:

iptables -I INPUT 1 -p tcp -i tun+ --dport 8069 -j ACCEPT
iptables -I INPUT 2 -p tcp --dport 8069 -j REJECT

Bearbeiten: Ich möchte Sie wirklich dazu ermutigen, die Aktualisierungen in Ihre Frage einzuarbeiten, anstatt eine endlose Reihe von Pastebin-Links zu hinterlassen, die im Laufe der Zeit bestehen bleiben können oder auch nicht. Auf jeden Fall danke für die neue Ausgabe. Wie Sie sehen, sind die Paketzahlen der ersten Regel null, was bei der zweiten (pauschalen Ablehnungs-)Regel definitiv nicht der Fall ist. Die einzige Schlussfolgerung, die bleibt, ist, dass Sie sich in Bezug auf diesen Datenverkehr über die OpenVPN-Verbindung irren; er kommt ziemlich eindeutig über das Klartext-Internet. Wenn Sie sicher sein wollen,vollständigSicher, fügen Sie eine dritte Regel zwischen den beiden oben genannten hinzu, mit

iptables -I INPUT 2 -p tcp --dport 8069 -j LOG --log-prefix "CARROT: "

Sofern das Wort nicht CARROThäufig in Ihren Logdateien auftaucht, sollte es einfach sein, die Ausgabe dieser Übereinstimmungen in Ihren Systemprotokollen ( /var/log/messagesoder wie es syslogIhre Distribution für angemessen hält) zu finden. Sie sollte bestätigen, über welche Schnittstelle die abgelehnten Pakete eingehen. Ich erwarte nicht, dass es so ist tun0.

Antwort2

Ich füge eine Antwort hinzu, weil ich keinen Kommentar hinzufügen kann. Ich denke, dass das verwendete Protokoll UDP und nicht TCP ist, also

iptables -I INPUT 1 -p udp -i tun+ --dport 8069 -j ACCEPT
iptables -I INPUT 2 -p udp --dport 8069 -j REJECT

verwandte Informationen