VPN und IPTables TUN TAB ???

Centro

Der mit dem roten Hut!
Hi Leute,

hab mal ne Frage an die IPTables fraktion.

Hab OpenVPN mit den ganzen Key und PEM Auth installiert und läuft auch super! Nur leider nur mit ausgeschalteten IP Tables.
Wenn die Tables an sind dann connectet mein Windoofclient zwar und bekommt auch seine IP wieder nur ein Ping geht ins leere!

Habs auch schon auf verschiedenste Ports gelegt aber das hilft auch nix! Momentan is er auf 1194 dem voreingestellten Port.

Hab auch schon das hier als Tipp bekommen:
__________________________________________________________________________________________________
[ZITAT]
My OpenVPN client and server say "Connection Initiated with x.x.x.x" but I cannot ping the server through the VPN. Why?
This usually occurs because a firewall on the server or client is blocking the TUN/TAP interface. If you already have a firewall on your system, chances are high that it will block incoming connections on new interfaces by default, so you will need to add explicit firewall rules to allow connections via the TUN/TAP interface. In general, it's reasonable to open up TUN/TAP interfaces to all traffic, since any incoming connections over these interfaces will already have been authenticated by OpenVPN. An exception to this rule would be if you don't fully trust the OpenVPN clients connecting to the server. Assuming that's not the case, on Linux, TUN/TAP interfaces can be opened up with the iptables shell command:

# Allow TUN interface connections to OpenVPN server
iptables -A INPUT -i tun+ -j ACCEPT

# Allow TUN interface connections to be forwarded through other interfaces
iptables -A FORWARD -i tun+ -j ACCEPT

# Allow TAP interface connections to OpenVPN server
iptables -A INPUT -i tap+ -j ACCEPT

# Allow TAP interface connections to be forwarded through other interfaces
iptables -A FORWARD -i tap+ -j ACCEPT
[/ZITAT]


________________________________________________________________________________________
Die Tables Befehle hab ich eingehackt aber der will nicht!

Bin auch nochmal die ganze installation durchgegangen und hab diesen Punkt gefunden in dem HowTo bei dem nicht funktioniert hat, aber im ganzen funktioniert das VPN, ist das wichtig?
[zitat]
__________________________________________________________________________________________
Laden des Kernelmoduls für das tap Device
Während der Testphase werde ich das Modul per Hand in den Kernel laden, was wir aber später automatisieren können. Bei der Installation von OpenVPN wurde das Script mit dem irritierenden Namen /usr/local/etc/rc.d/openvpn.sh.sample installiert. Das Script startet nicht den OpenVPN Server, sondern läd nur das Kernel Modul, was wir jetzt erst mal händisch erledigen werden:

TTY
Code:
# kldload if_tap 

#
[/zitat]
Quelle: OpenVPN Servereinrichtung
___________________________________________________________
_______________________________

Ich komm absolut nicht weiter :( , und die IP Tables möcht ich schon einschalten! ;)

Greetz Centro
 
Last edited by a moderator:
Mit einer von beiden Varianten gibst du sämtliches für VPN frei.
Sollte natürlich vermieden werden, aber funktioniert erstmal.

Code:
iptables -A INPUT -i tap0 -j ACCEPT
iptables -A FORWARD -i tap0 -j ACCEPT
iptables -A OUTPUT -o tap0 -j ACCEPT

oder:

Code:
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT

Welche für dich die Richtige ist musst du schaun. Da du keine Angabe gemacht hast, welches Interface du nutzt.
 
Hi,

welches Interface? -- weis ich selber nicht.... hier mal die Conf

Code:
# Port
port 1194

# TCP oder UDP?
proto udp

# tun oder tap?
# Das tun Device erstellt einen IP Tunnel,
# wäend das tap Device einen Ethernet Tunnel erstellt.
dev tun

# Die ermittelte mtu fü tun Interface.
# Wir füie Optionen fragment und
# mssfix hinzu, um ein Aushandeln der
# Paketgroessen zu ermoeglichen

tun-mtu 1492
fragment 1300
mssfix

# Die Pfade zu den Keys und Zertifikaten.
# Ich kopiere die Pähen spär in das
# openvpn Verzeichnis, um Wirrwarr vorzubeugen.
ca /usr/local/etc/openvpn/vpn-ca.pem
cert /usr/local/etc/openvpn/servercert.pem
key /usr/local/etc/openvpn/serverkey.pem

# der Pfad zu den Diffie-Hellmann Parametern.
# Auch diese werde ich spär ins openvpn
# Verzeichnis kopieren.
dh /usr/local/etc/openvpn/dh1024.pem

# Durch die Angabe von server veranlassen
# wir openvpn im Servermodus zu lauern.
# Hier üben wir auch den Adressbereich
# und die Netzwerkmaske fü virtuelle
# Netzwerk. Der Server wird automatisch
#auf der ersten IP lauschen - also 10.10.10.1
server 10.10.10.0 255.255.255.0

# Wir kön einen Pool fü Virtuellen
# Adressen angeben. Falls ein Client die
# Verbindung beendet, bekommt er bei der
# nästen Verbindung automatisch die selbe
# IP zugewiesen.
ifconfig-pool-persist ipp.txt

# Mit dem push Befehl kön wir die
# Clients veranlassen ihre Routing Tabellen
# automatisch beim Verbindungsaufbau neu
# zu schreiben. Wir veranlassen also die Clients
# die Route in den Adressbereich
# 192.168.0.0 automatisch üpn zu routen
push "route 192.168.0.0 255.255.255.0"

# Mit keepalive kön wir uns
# informieren, ob die Gegenstelle noch
# erreichbar ist. Wir setzen alle 10 Sekunden
# ein ping äliches Paket ab und gehen
# davon aus, dass die Gegenstelle weg ist,
# wenn nach 120 Sekunden keine Antwort kommt.
keepalive 10 120

# Unsere Authentifizierungsmethode
auth SHA1

# Unsere Verschlüngsmethode
cipher AES-256-CBC

# Wir wollen komprimierten Datenverkehr
comp-lzo

# Wir reduzieren die Rechte, mit dem der
# Server lät nach dem Verbindungsaufbau.
# Dies wird allerdings zur Folge haben, dass er keine Berechtigung mehr hat die
# Routing Tabelle in den ursprühen
# Zustand zu versetzen, was hier aber kein
# Problem darstellt.
user nobody
group nobody

# Die persist Optionen werden die Keys
# und Zertifikate im Speicher behalten,
# so dass sie auch noch gelesen werden
# kön nachdem Gruppe und User
# gewechselt wurden.
persist-key
persist-tun

# Füere Versuche setzen wir die Geschwäigkeit
# auf Level 3
verb 3



hilft dir das was?

Mich iritiert halt der punkt wo es wie oben beschrieben heist, man muss irgendein tab in den Kernel laden.

Is der Befehl auf SUSE umlegbar?

Greetz Centro
 
Du benutzt das tun Interface.
Wäre also die untere Variante.

IPTables Befehle sind auf jeder Linux Distribution gleich.
 
Also die TUN Befehle hab ich ausgeführt... ---> geht nix!
Firewall per Yast neustart ---> geht nix!
Reboot des Servers und neustart des Clients ---> geht auch nix!

Hmmmm.. noch nen Tipp?


Ihr seit euch sicher mit TUN oder?


Greetz Centro
 
Wenn dein Windows der dazugehörige VPN Client ist.
Schon mal an die Windows XP oder sonstige Desktop Firewall gedacht?
 
Poste mal ein iptables -L .

Code:
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
input_ext  all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state NEW,RELATED,ESTABLISHED
LOG        all  --  anywhere             anywhere            limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-OUT-ERROR '

Chain forward_ext (0 references)
target     prot opt source               destination

Chain input_ext (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere            PKTTYPE = broadcast
ACCEPT     icmp --  anywhere             anywhere            icmp source-quench
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
ACCEPT     icmp --  anywhere             anywhere            state RELATED,ESTABLISHED icmp echo-reply
ACCEPT     icmp --  anywhere             anywhere            state RELATED,ESTABLISHED icmp destination-unreachable
ACCEPT     icmp --  anywhere             anywhere            state RELATED,ESTABLISHED icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere            state RELATED,ESTABLISHED icmp parameter-problem
ACCEPT     icmp --  anywhere             anywhere            state RELATED,ESTABLISHED icmp timestamp-reply
ACCEPT     icmp --  anywhere             anywhere            state RELATED,ESTABLISHED icmp address-mask-reply
ACCEPT     icmp --  anywhere             anywhere            state RELATED,ESTABLISHED icmp protocol-unreachable
ACCEPT     icmp --  anywhere             anywhere            state RELATED,ESTABLISHED icmp redirect
ACCEPT     tcp  --  anywhere             anywhere
ACCEPT     udp  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:openvpn
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
reject_func  tcp  --  anywhere             anywhere            tcp dpt:ident state NEW
ACCEPT     udp  --  anywhere             anywhere            udp dpt:openvpn
DROP       all  --  anywhere             anywhere

Chain reject_func (1 references)
target     prot opt source               destination
REJECT     tcp  --  anywhere             anywhere            reject-with tcp-reset
REJECT     udp  --  anywhere             anywhere            reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere            reject-with icmp-proto-unreachable

Danke für die schnellen Antworten!!! ;)
 
Wenn dein Windows der dazugehörige VPN Client ist.
Schon mal an die Windows XP oder sonstige Desktop Firewall gedacht


Ja ist ein WinXP Client, hab da auch zur absoluten Sicherheit auch die integrierte Firewall ausgeschaltet.
Denke aber nicht das es an sowas liegt da es ja geht, egal wie der client ist, sprich mit oder ohne Firewall, es scheitert nur an der Firewall des SUSE Servers.

Hier noch die Client.conf
Code:
client
float
dev tun
tun-mtu 1492
fragment 1300
mssfix
# Der Name des tun/tap Devices in der
# Netzwerkkonfiguration.
# Ich habe das Device my-tap genannt.
#dev-node my-tab
proto udp
remote "SERVER IP"  1194
# Wir erlauben nur eine Verbindung zu 
# unserem Server. Wir haben bei der
# Zertifiakt Erstellung dem Server
# den Common Name server gegeben und
# erzwingen so, dass sich auch der Server
# beim Client authentifizieren muss
tls-remote server
ca vpn-ca.pem
cert chefcert.pem
key chefkey.pem
auth SHA1
cipher aes-256-cbc
nobind
comp-lzo
persist-key
persist-tun
verb 3

Greetz Centro
 
Ich hatte mit dem Tun Interface ähnliche Probleme.
Bin dann letzendlich auf Tap gewechselt.

Kannst es ja mal versuchen. Einfach die Zeile
Code:
dev tun
in
Code:
dev tap
von Server und Client ändern und die IPTables natürlich entsprechend anpassen.
 
MOD: Full-Quote entfernt!

Hab nun beide auf tap geändert und auch deine IP Tables Regeln eingegeben. Sogar nen Reboot des Servers sowie des Clients gemacht.
--> Keine Chance! --- IPTables aus ping 10.10.10.1 und ...

Code:
Ping wird ausgeführt für 10.10.10.1 mit 32 Bytes Daten:

Antwort von 10.10.10.1: Bytes=32 Zeit=43ms TTL=64
Antwort von 10.10.10.1: Bytes=32 Zeit=50ms TTL=64
Antwort von 10.10.10.1: Bytes=32 Zeit=41ms TTL=64
Antwort von 10.10.10.1: Bytes=32 Zeit=45ms TTL=64

Ping-Statistik für 10.10.10.1:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 41ms, Maximum = 50ms, Mittelwert = 44ms


IP Tables an.......

Code:
Ping wird ausgeführt für 10.10.10.1 mit 32 Bytes Daten:

Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.

Ping-Statistik für 10.10.10.1:
    Pakete: Gesendet = 4, Empfangen = 0, Verloren = 4 (100% Verlust),
 
Last edited by a moderator:
Back
Top