IPTables und OpenVPN Nur bestimmte Ports über den VPN schick

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
boterfreak
Beiträge: 7
Registriert: 10.02.2015 09:15:20

IPTables und OpenVPN Nur bestimmte Ports über den VPN schick

Beitrag von boterfreak » 10.02.2015 09:23:47

Hallo,
ich möchte folgendes erstellen. Wir haben mehrere Standorte, die wollen wir via OpenVPN vernetzen. Das OpenVPN läuft und ist eingerichtet, schickt aber den kompletten Traffic über den OpenVPN. Ist es möglich nur anfragen zu einem Server Zbsp. 192.168.2.45:4567 weiterzuleiten und von dort auch eine antwort zu bekommen ? bzw nur bestimmte Ports über den VPN zu schicken ? Und den rest des Traffic nicht über den VPN.

MFG

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von orcape » 10.02.2015 10:57:13

Hi,
das Stichwort heißt Routing und hat eigentlich nichts mit OpenVPN zu tun.
Wenn der komplette Traffic über den VPN-Tunnel läuft, sollte einfach mal die Server.conf unter die Lupe genommen werden.
Es ist eine Frage der Einstellung des OVPN-Servers, ob der ganze Traffic darüber läuft oder nur geroutet wird was notwendig ist.
Dazu sollte man aber die gesamte Konfiguration incl. der Hardware kennen.
Gruß orcape

boterfreak
Beiträge: 7
Registriert: 10.02.2015 09:15:20

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von boterfreak » 10.02.2015 12:04:43

Also erstmal ein paar zusatz Infos,
Ich habe 20-30 Clients die sich auf dem OpenVPN Server Verbunden haben. Sowie 1 Server. Darauf läuft ein Dienst mit dem Port 8493 UDP. Die Clients sollen nur den Server mit der vergebenen IP vom Openvpn server erreichen (10.8.0.10), der restliche traffic soll wie gewohnt ohne vpn laufen. Gibt es eine möglichkeit das die Clients sich untereinander nicht sehen können ?

Hardware: 1und1 Vserver 1 GB ram 40 GB HDD
Ubuntu 14.04. LTS

Server Conf vom OpenVPN:

Code: Alles auswählen

port 1195

proto udp

dev tun

ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/87.xxxxxxxx.crt
key easy-rsa/keys/87.xxxxxxxx.key  # This file should be kept secret

dh easy-rsa/keys/dh2048.pem

server 10.8.0.0 255.255.255.0

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
push "route 0.0.0.0 0.0.0.0"
push "topology subnet"
topology subnet

route 10.8.0.0 255.255.255.0

keepalive 10 120

comp-lzo

user nobody
group nogroup

persist-key
persist-tun
Client:

Code: Alles auswählen

client
dev tun
proto udp
remote 87.xxxxxxxx 1195
resolv-retry infinite
nobind
persist-key
persist-tun
ca "ca.crt"
cert "mxxxx.crt"
key "mxxxx.key"
ns-cert-type server
comp-lzo
verb 3
IPtables:

Code: Alles auswählen

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -o eth0 -i tun0 -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Mehr Dienste bzw, IPTables regeln gibt es nicht. Ich verzweifel echt schon ein paar Tage daran.

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von orcape » 10.02.2015 12:42:12

Ich habe 20-30 Clients die sich auf dem OpenVPN Server Verbunden haben. Sowie 1 Server.
...und schon folgten die nächsten Fragen.;-)
20-30 Clients, jeder den OpenVPN-Client integriert ? ....oder worauf läuft der OVPN-Client ?
Ein Multiclienttunnel scheint ja nicht integriert zu sein....oder ?

Code: Alles auswählen

push "redirect-gateway def1 bypass-dhcp"
..in der server.conf sorgt erst mal dafür, das aller Traffic in den Tunnel macht. Erst mal auskommentieren und Tunnel neu starten.

boterfreak
Beiträge: 7
Registriert: 10.02.2015 09:15:20

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von boterfreak » 10.02.2015 13:10:24

Die Clients nutzen Unter Windows 7 OpenVPN GUI.
Unter Windows 8 wird die Software SECUREPOINT OpenVPN Genutzt. Alles 64 Bit Systeme mit den neusten Updates.
Nein Ein Multiclienttunnel existiert nicht, jeder Client erhält eine eigene Konfigurationsdatei.
Habe dies jetzt auskommentiert. Und surfe mit meiner richtigen IP, und kann trozdem den Server anpingen das Funktioniert schonmal. Wie sieht es den aus wenn man dort mehrere Server noch dran anbindet per vpn (DC mit dns,dhcp usw) sehen die sich untereinander ? Wenn ja kann man dies unterbinden ?

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von orcape » 10.02.2015 13:46:24

...jeder Client erhält eine eigene Konfigurationsdatei.
..und jeder Client sollte dann eine eigene Serverinstanz haben, die sich eigentlich nicht sehen, es sei denn es ist so gewollt und wird entsprechend geroutet.
Beispiel to home:
Ich betreibe eine pfSense auf einem Alix-Board.
Darauf laufen 3 OpenVPN-Server, verbunden mit 2 DD-WRT Routern und einem Linux-Client, die jeweils als OpenVPN-Client fungieren.
Die Tunnel haben unterschiedliche Ports, andere Certifikate etc. und es sieht jeder einzelne Server seinen eigenen Client bzw. umgekehrt.
Nur ein Tunnel sieht den anderen nicht, weil das eben so gewünscht ist.
Ich kann aber trotzdem von meinem Linux-OpenVPN-Client Laptop auf beide LAN´s hinter den DD-WRT-Routern zugreifen, die jeweils über einen anderen Tunnel verbunden sind.
Weil ich das so auf der pfSense, teils in der OpenVPN-Server.conf so geroutet habe.
Es würde auch eine Server-Instanz für die 3 Clients reichen, mit einem client-to-client Eintrag in der Server.conf sehen sich dann allerdings auch die Clients untereinander.
Gruß orcape

boterfreak
Beiträge: 7
Registriert: 10.02.2015 09:15:20

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von boterfreak » 10.02.2015 14:49:55

Ich habe in einer Testumgebung 2 Server Configs. 1194 und 1195 als port sowie 10.8.0.1 und 10.9.0.1 als IP´s, aber die gleichen CA´s
Könntest du mir ein Beispiel Attribut für die Konfigurationsdateien geben wie ich damit richtig Routen kann. Oder wo machst du das.

Meiner Routet einfach nicht...
Server Conf

Code: Alles auswählen

port 1194

proto udp

dev tun1

ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/87.xxxxxxxxxxx.crt
key easy-rsa/keys/87.xxxxxxxxxxx.key  # This file should be kept secret

dh easy-rsa/keys/dh2048.pem

server 10.8.0.0 255.255.255.0
# push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
push "route 0.0.0.0 0.0.0.0"
push "topology subnet"
topology subnet

route 10.8.0.0 255.255.255.0
route 192.168.178.0 255.255.255.0
# client-to-client
keepalive 10 120

comp-lzo

user nobody
group nogroup

persist-key
persist-tun
ccd conf

Code: Alles auswählen

# ifconfig-push 10.8.0.4 255.255.255.0
client-to-client
ifconfig 10.8.0.4 255.255.255.0
iroute 192.168.178.0 255.255.255.0
push "route 192.168.178.0 255.255.255.0"
Client Conf

Code: Alles auswählen

client
dev tun
proto udp
remote 87.xxxxxxxxxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "ca.crt"
cert "mxxxx.crt"
key "mxxxxx.key"
ns-cert-type server
comp-lzo
verb 3
Folgende Route Hinzufügen:
route add -net 192.168.178.0 netmask 255.255.255.0 gw 10.8.0.1 dev tun0

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von orcape » 10.02.2015 15:55:02

Oder wo machst du das.
...alles auf dem Server bzw. den Servern.
Hier mal ein Link zu meiner Lösungs-Darstellung....
https://forum.pfsense.org/index.php?top ... #msg400433
Um vom Server über den Tunnel auf die Clientnetze zu gelangen, bedarf es noch der CCD (Client-Config-Directory) im OpenVPN-Pfad, in der sich ein File befindet. Darin noch einen Befehl iroute "zum Clientnetz" eintragen, wenn Du vom Server ins Clientnetz musst.
In der Server.conf sollte dann noch ein Verweis auf diese CCD stehen.
Bsp.: Client-Config-Directory /etc/openvpn/ccd
Gruß orcape

boterfreak
Beiträge: 7
Registriert: 10.02.2015 09:15:20

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von boterfreak » 10.02.2015 16:30:43

Leider hilft mir dies nicht weiter. Bin jetzt soweit das sich der Client nichtmal mehr auf dem Server verbindet. Bin mit dem scheiß OpenVPN langsam nurnoch am verzweifeln.
VPN Server: 10.8.0.1
VPN Client: 10.8.0.4
Client Netz: 192.168.178.0

ccd:

Code: Alles auswählen

# ifconfig-push 10.8.0.4 255.255.255.0
client-to-client
ifconfig 10.8.0.4 255.255.255.0
iroute 192.168.178.0 255.255.255.0
push "route 192.168.178.0 255.255.255.0"

Code: Alles auswählen

port 1194

proto udp

dev tun1

ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/87.xxxxxxxxxxxxxxxxx.crt
key easy-rsa/keys/87xxxxxxxxxxxxxxx.key  # This file should be kept secret

dh easy-rsa/keys/dh2048.pem

server 10.8.0.0 255.255.255.0
# push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
push "route 0.0.0.0 0.0.0.0"
push "topology subnet"
topology subnet

route 10.8.0.0 255.255.255.0
route 192.168.178.0 255.255.255.0
# client-to-client
keepalive 10 120

comp-lzo

user nobody
group nogroup

Client-Config-Directory /etc/openvpn/ccd

persist-key
persist-tun
Habe ne route auf dem Server eingetragen aber die wird erst gar nicht angezeigt. Hab ich einem am Kopf oder wo liegt der scheiß fehler :facepalm:

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von orcape » 10.02.2015 16:57:07

...ruhig bleiben...;-)
Oder hast Du Dir eingebildet das hat bei mir auf Anhieb funktioniert.
Server 1 config auf einer pfSense # /var/etc/openvpn

Code: Alles auswählen

dev ovpns1
dev-type tun
tun-ipv6
dev-node /dev/tun1
writepid /var/run/openvpn_server1.pid
#user nobody
#group nobody
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto udp
cipher AES-128-CBC
auth SHA1
up /usr/local/sbin/ovpn-linkup
down /usr/local/sbin/ovpn-linkdown
local 192.168.219.2                                 # WAN-IP
engine cryptodev
tls-server
server 10.10.8.0 255.255.255.0                 # Server-Netz
client-config-dir /var/etc/openvpn-csc         # Verweis auf ccd (Pfad bei der pfSense / FreeBSD) bei Linux anders !
ifconfig 10.10.8.1 10.10.8.2                      #  10.10.8.1 Server-IP     10.10.8.2 Client-IP
tls-verify "/usr/local/sbin/ovpn_auth_verify tls 'dedalus-ca' 1"
lport 1194
management /var/etc/openvpn/server1.sock unix
max-clients 15
push "route 192.168.155.0 255.255.255.0"   # darüber findet der OVPN-Client das Netz hinter dem Server (LAN an pfSense)
route 192.168.55.0 255.255.255.0               # das Clientnetz hinter einem DD-WRT-Router (da die Firewall-Rules nicht vergessen)
ca /var/etc/openvpn/server1.ca
cert /var/etc/openvpn/server1.cert
key /var/etc/openvpn/server1.key
dh /etc/dh-parameters.1024
crl-verify /var/etc/openvpn/server1.crl-verify
tls-auth /var/etc/openvpn/server1.tls-auth 0
comp-lzo adaptive
push "route 172.16.7.0 255.255.255.0"        # darüber findet der OVPN-Client das Netz hinter dem Server (DMZ an pfSense)

push "route 10.15.8.0 255.255.255.0"          #  darüber findet der OVPN-Client das weitere VPN-Netz
route 10.15.8.0 255.255.255.0                    #  Route zum anderen Server-VPN
ccd unter pfSense # Pfad /var/etc/openvpn-csc

Code: Alles auswählen

ifconfig-push 10.10.8.2 10.10.8.1
iroute 192.168.55.0 255.255.255.0
Nun nur noch Deiner config entsprechend anpassen.
Das muss unter einem anderen OS nicht alles 1:1 übersetzt werden. Vor allem variieren die Pfadangaben.
Gruß orcape

boterfreak
Beiträge: 7
Registriert: 10.02.2015 09:15:20

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von boterfreak » 10.02.2015 17:22:00

Leider komme ich vom server direkt nicht auf den client(Ping)
Den Server kann ich vom client mit der IP 10.8.0.1 anpingen.
Vom server kann ich den Client mit der IP 10.8.0.2 anpingen.
Wenn ich von einem anderen client die 192.168.178.100 anpinge zbs kommt nix. Sowie kann ich direkt vom Server ein ping absetzten die 192 ist irgendwie tod nur die 10. geht.
Ich bin dort schon seit einigen tagen dran, und immer wieder bleibe ich wo anders dran hängen :facepalm:

Code: Alles auswählen

port 1194

proto udp

dev tun

ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/87xxxxxxxxxxxx.crt
key easy-rsa/keys/87xxxxxxxxxxxxxxx.key  # This file should be kept secret

dh easy-rsa/keys/dh2048.pem

server 10.8.0.0 255.255.255.0

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
push "route 0.0.0.0 0.0.0.0"
push "topology subnet"
topology subnet
client-config-dir ccd
ifconfig 10.8.0.1 10.8.0.2 
route 10.8.0.0 255.255.255.0
push "route 192.168.178.0 255.255.255.0"

keepalive 10 120

comp-lzo

user nobody
group nogroup

persist-key
persist-tun

ccd Conf

Code: Alles auswählen

ifconfig-push 10.8.0.2 10.8.0.1
iroute 192.168.178.0 255.255.255.0
route auf dem Server

Code: Alles auswählen

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.255.255.1    0.0.0.0         UG    0      0        0 eth0
10.8.0.0        *               255.255.255.0   U     0      0        0 tun1
10.9.0.0        *               255.255.255.0   U     0      0        0 tun0
10.255.255.1    *               255.255.255.255 UH    0      0        0 eth0
IPtables

Code: Alles auswählen

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -o eth0 -i tun1 -s 10.8.0.0/24 -m conntrack --ctstate NEW -$
iptables -A FORWARD -o eth0 -i tun0 -s 10.9.0.0/24 -m conntrack --ctstate NEW -$
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
fehlt da evtl etwas ? Ich glaube ich hab momentan nen Brett vorm kopf

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von orcape » 10.02.2015 18:08:50

Wenn ich von einem anderen client die 192.168.178.100 anpinge zbs kommt nix. Sowie kann ich direkt vom Server ein ping absetzten die 192 ist irgendwie tod nur die 10. geht.
Ist das ein Netz hinter einer Fritzbox oder worauf läuft der OVPN-Client.???

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: IPTables und OpenVPN Nur bestimmte Ports über den VPN sc

Beitrag von orcape » 10.02.2015 18:46:24

Sorry....
push "route 192.168.178.0 255.255.255.0"
Netz hinter dem Server, logisch.
Wie sehen die Routing-Protokolle auf Clientseite aus und wie ist da das Netz aufgebaut.
Vielleicht wäre es mal an der Zeit, Deinen Netzaufbau mal an Hand einer Skizze etc. hier darzustellen.
Wo Server, wo Client, welche Hardware etc. etc....
Das wird doch sonst nur ein ständiges Rätselraten meinerseits...
Gruß orcape

Antworten