OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreichbar

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
knallo
Beiträge: 19
Registriert: 24.01.2010 13:00:26

OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreichbar

Beitrag von knallo » 01.05.2013 15:20:08

Hallo zusammen!

Ich habe letzten aus meinem VServer ein VPN-Gateway eingerichtet, dessen IP auf bei entsprechenden Test-Seiten im Firefox angegeben wird.
Somit scheint der Tunnel als solcher zu funktionieren?!

Allerdings kann ich leider weder via SSH zur Steuerung oder via FTP (explizites FTP, SSL) auf den Server zugreifen, nachdem der Tunnel aufgebaut ist.
Schließe ich den Tunnel, dann funktioniert dies wieder.
Je nachdem, in welchem Netzwerk ich bin, lässt sich Filezilla und Putty dennoch verwenden. Aber ich vermute, dass dabei der Tunnel umgangen wird.
(Das Client-Betriebssystem ist Windows XP.)

Hat jemand von euch eine Idee, an welcher Stelle es hier hakt?
Ich würde gerne absolut allen Traffic über das Gateway bewegen (Hotel-WLANs...).

Über einen guten Tipp wäre ich sehr erfreut, denn ich suche und probiere jetzt schon drei Stunden vergeblich an einer Lösung.... :-/

Daniel


Server.conf

Code: Alles auswählen

port 1194
proto udp
dev tun
ca ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/server.crt
key ./easy-rsa2/keys/server.key  # This file should be kept secret
dh ./easy-rsa2/keys/dh2048.pem
server 10.8.35.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.8.35.0 255.255.255.0"
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
ping-timer-rem
keepalive 10 120
comp-lzo
max-clients 3
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 3
Client.conf

Code: Alles auswählen

client
comp-lzo
nobind
persist-key
persist-tun
dev tun
remote www.xxx.yyy.zzz 1194
proto udp
ns-cert-type server
verb 3
cipher BF-CBC
redirect-gateway
route 0.0.0.0 0.0.0.0
resolv-retry infinite
IP-Tables (http://www.xxx.yyy.zzz = ext. IP des VServers)

Code: Alles auswählen

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.35.0/24 -o eth0 -j SNAT --to www.xxx.yyy.zzz
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
#SSH
-A INPUT -d www.xxx.yyy.zzz/32 -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
#Ping
-A INPUT -d www.xxx.yyy.zzz/32 -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -d www.xxx.yyy.zzz/32 -i eth0 -p icmp -m icmp --icmp-type 0 -j ACCEPT
# OpvenVPN
-A INPUT -d www.xxx.yyy.zzz/32 -i eth0 -p udp -m udp --dport 1194 -m state --state NEW -j ACCEPT
# FTP
-A INPUT -d www.xxx.yyy.zzz/32 -i eth0 -p tcp -m tcp --dport 21 -m limit --limit 15/min --limit-burst 10 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A INPUT -d www.xxx.yyy.zzz/32 -i eth0 -p tcp -m tcp --dport 53667:53671 -m limit --limit 15/min --limit-burst 10 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von Cae » 01.05.2013 16:18:13

knallo hat geschrieben:

Code: Alles auswählen

-A INPUT -d www.xxx.yyy.zzz/32 -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
"Lasse SSH fuer alle neuen Verbindungen ueber eth0 zu." Aus welchem Interface kommt dein Paket, sobald der Tunnel aufgebaut ist?

Im Uebrigen sind die letzten beiden Zeilen (-A OUTPUT fuer lo und eth0) ueberfluessig, weil die Policy eh' schon auf ACCEPT steht.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

knallo
Beiträge: 19
Registriert: 24.01.2010 13:00:26

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von knallo » 01.05.2013 21:25:09

Cae hat geschrieben:
knallo hat geschrieben:

Code: Alles auswählen

-A INPUT -d www.xxx.yyy.zzz/32 -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
"Lasse SSH fuer alle neuen Verbindungen ueber eth0 zu." Aus welchem Interface kommt dein Paket, sobald der Tunnel aufgebaut ist?
Ich vermute mal aus dem tun, aber wo kann ich das nachsehen?
Ist es notwendig, die iptables-Zeile auch für tun extra zu setzen?

Gruß,
Daniel

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von Cae » 01.05.2013 22:01:12

Bingo, genau das meinte ich. Da du ohnehin mit -d die IP-Adresse festgelegt hast (die auf genau diesem einen Interface sein wird), kannst du probehalber -i eth0 weglassen. Diese Regel sollte dann auf Pakete aus dem tun-Device matchen und sie zulassen.

Alternativ kann man natuerlich eth0 drin lassen und dieselbe Regel nochmal fuer tun0 wiederholen.
knallo hat geschrieben:Ich vermute mal aus dem tun, aber wo kann ich das nachsehen?
Entweder per Debiantcpdump, oder per -j LOG-Regel. Im letzteren Fall werden dann zu jedem Paket Informationen in's Syslog geschrieben.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

knallo
Beiträge: 19
Registriert: 24.01.2010 13:00:26

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von knallo » 02.05.2013 00:04:27

Ich habe gerade nochmal probiert, aber komme leider irgendwie nicht weiter.
Diese Regeln habe ich noch hinzugefügt (vor der '-A INPUT -j DROP' bei INPUT):

Code: Alles auswählen

-A INPUT -i tun0 -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -i tun0 -p tcp -m tcp --dport 21 -m limit --limit 15/min --limit-burst 10 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i tun0 -p tcp -m tcp --dport 53667:53671 -m limit --limit 15/min --limit-burst 10 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Aber leider hat sich dadurch nichts geändert.
SSH und FTP kann ich nach Aufbau des Tunnels weder mit der IP des VServers, noch mit der virtuellen Gateway-IP (das ist doch seine?) verbinden.
Alle Verbindungsversuche laufen ins leere, als wäre die IP nicht vergeben.

Bisher dachte ich, diese zwei Zeilen würden den tun0 quasi komplett in beide Richtungen mit dem eth0 "verbinden", ist das nicht so?

Code: Alles auswählen

-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
Gruß,
Daniel

wanne
Moderator
Beiträge: 7623
Registriert: 24.05.2010 12:39:42

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von wanne » 02.05.2013 00:42:46

Du hast eine Eigene Regel

Code: Alles auswählen

-A INPUT -j DROP
Wenn du danach irgend was mit -A INPUT schreibst wird das ignoriert, weil du ja schon gedropt hast.
Also entweder du ersetzt das durch (Würde ich empfehlen genauso wie -P FORWARD DROP):

Code: Alles auswählen

-P INPUT DROP
oder du verschiebst die Regel nach hinten.
rot: Moderator wanne spricht, default: User wanne spricht.

knallo
Beiträge: 19
Registriert: 24.01.2010 13:00:26

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von knallo » 02.05.2013 01:42:37

Die Drop-Regel ist ja schon die letzte in der INPUT-Liste, ich hatte die gelöscht, die anderen Regeln ergänzt, und dann die Drop-Regel wieder angehangen. ;)
knallo hat geschrieben: Diese Regeln habe ich noch hinzugefügt (vor der '-A INPUT -j DROP' bei INPUT):
Gruß,
Daniel

wanne
Moderator
Beiträge: 7623
Registriert: 24.05.2010 12:39:42

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von wanne » 02.05.2013 01:52:13

Wer lesen kann ist klar im Vorteil...
rot: Moderator wanne spricht, default: User wanne spricht.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von Cae » 02.05.2013 15:38:01

Hm. Probier' mal folgendes:

Code: Alles auswählen

-A INPUT -j LOG --log-prefix=INP_DBG
direkt vor die -A INPUT -j DROP-Regel. Anschliessend schaltest du auf den Tunnel um, versuchst einen Verbindungsaufbau auf SSH und machst den Tuennel wieder zu (und nimmst die Regel wieder raus, weil's evtl. eine Riesenmenge loggt). Danach:

Code: Alles auswählen

# grep -F INP_DBG: /var/log/syslog
mit Dummy-IP-Adressen a la {IP eth0 Server} anonymisieren und hier posten. Vermutlich sind das um die 10 Zeilen.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

knallo
Beiträge: 19
Registriert: 24.01.2010 13:00:26

Re: OpenVPN-Gateway - SSH und FTP nicht durch Tunnel erreich

Beitrag von knallo » 05.05.2013 18:08:00

Hi!

Entschuldige die lange Ruhepause, ich war unter der Woche beruflich unterwegs, und konnte abends im WLAN bestens mit dem VPN kämpfen.
Leider bin ich erst jetzt wieder (zu Hause) dazu gekommen, weiter an meinem Problem zu arbeiten.

Deinen letzten Vorschlag habe ich mal umgesetzt: VPN verbinden, SSH-Verbindungsversuch (auf die Gateway-Adresse, die dem OpenVPN-Adapter auf meinem Windows zugewiesen wurde), VPN trennen.
Dabei finde ich im syslog nur diese drei markierten Zeilen:

Code: Alles auswählen

May  5 17:25:36 kernel: [239144.143491] INP_DBGIN=eth0 OUT= MAC=[gekürzt] SRC=61.147.70.yy DST=www.xxx.yyy.zzz LEN=40 TOS=0x00 PREC=0x00 TTL=97 ID=256 PROTO=TCP SPT=6000 DPT=1433 WINDOW=16384 RES=0x00 SYN URGP=0 
May  5 17:31:15 kernel: [239482.326520] INP_DBGIN=eth0 OUT= MAC=[gekürzt] SRC=178.132.137.xxx DST=www.xxx.yyy.zzz LEN=52 TOS=0x00 PREC=0x00 TTL=122 ID=31242 DF PROTO=TCP SPT=59206 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0 
May  5 17:31:18 kernel: [239485.406261] INP_DBGIN=eth0 OUT= MAC=[gekürzt] SRC=178.132.137.xxx DST=www.xxx.yyy.zzz LEN=52 TOS=0x00 PREC=0x00 TTL=122 ID=31365 DF PROTO=TCP SPT=59206 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0 

Dabei gesetzt waren folgende Regeln:

Code: Alles auswählen

Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1      661 50636 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            www.xxx.yyy.zzz       tcp dpt:22 state NEW,ESTABLISHED
2       14   648 ACCEPT     icmp --  eth0   *       0.0.0.0/0            www.xxx.yyy.zzz       icmptype 8
3        0     0 ACCEPT     icmp --  eth0   *       0.0.0.0/0            www.xxx.yyy.zzz       icmptype 0
4       99 20102 ACCEPT     udp  --  eth0   *       0.0.0.0/0            www.xxx.yyy.zzz       udp dpt:1194 state NEW
5        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            www.xxx.yyy.zzz       tcp dpt:21 limit: avg 15/min burst 10 state NEW,RELATED,ESTABLISHED
6        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            www.xxx.yyy.zzz       tcp dpts:53667:53671 limit: avg 15/min burst 10 state NEW,RELATED,ESTABLISHED
7       22  4782 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp spt:53
8        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
9     142K   38M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
10       0     0 ACCEPT     tcp  --  tun0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21 limit: avg 15/min burst 10 state NEW,RELATED,ESTABLISHED
11       0     0 ACCEPT     tcp  --  tun0   *       0.0.0.0/0            0.0.0.0/0            tcp dpts:53667:53671 limit: avg 15/min burst 10 state NEW,RELATED,ESTABLISHED
12       0     0 ACCEPT     tcp  --  tun0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 state NEW,ESTABLISHED
13       0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4 prefix "INP_DBG"
14       0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1     135K   20M ACCEPT     all  --  tun0   eth0    0.0.0.0/0            0.0.0.0/0
2     148K   58M ACCEPT     all  --  eth0   tun0    0.0.0.0/0            0.0.0.0/0
3        2    96 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
2     154K   68M ACCEPT     all  --  *      eth0    0.0.0.0/0            0.0.0.0/0

Kannst du damit etwas anfangen?

Gruß,
Daniel

Antworten