BSDForen.de  

Zurück   BSDForen.de > FreeBSD > FreeBSD - Netzwerk

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 08.02.2011, 22:34   #1
arcona
Registered User
 
Registrierungsdatum: Dec 2009
Beiträge: 85
Jail verfügbar machen durch OpenVPN Host

Hallo,

ich habe hier einen kleinen Server im LAN.
Auf diesem Server läuft eine Jail und ein OpenVPN Server.

Ich möchte nun gerne die Jail nur durch den OpenVPN Server auf dem Host erreichen.
Dazu habe ich einen IP Alias für das tap0 Device angelegt und dann diese IP der Jail zugeordnet.

Auf dem Host habe ich Gateway enabled in die rc.conf und in der Jail den Host (OpenVPN IP) als default Router eingerichtet.

Mit diesen Einstellungen kann ich schon die Jail per SSH erreichen. Allerdings habe ich keine Verbidung aus der Jail nach draußen/ins Internet.
/etc/rc.conf Host:
Code:
hostname="vpn.bsd" ifconfig_em0="DHCP" inetd_enable="YES" keymap="german.iso" openvpn_enable="YES" openvpn_configfile="/openvpn/openvpn.conf" openvpn_dir="/openvpn/" sshd_enable="YES" samba_enable="YES" winbindd_enable="YES" gateway_enable="YES" jail_enable="YES" jail_list="jail1" jail_jail1_devfs_enable="YES" jail_jail1_devfs_ruleset="devfsrules_jail" jail_jail1_procfs_enable="YES" jail_jail1_fdescfs_enable="NO" jail_jail1_mount_enable="NO" jail_jail1_rootdir="/usr/home/jail/jails/jail1" #Pfad aus $DESTDIR eintragen jail_jail1_hostname="jail1" jail_jail1_netmask="255.255.255.255" #jail_jail1_ip="192.168.0.111" jail_jail1_ip="10.8.1.21" #ifconfig_em0_alias0="192.168.0.111 netmask 255.255.255.0" ifconfig_tap0_alias0="10.8.1.21 netmask 255.255.255.0" jail_jail1_exec_start="/bin/sh /etc/rc" jail_jail1_exec_stop="/bin/sh /etc/rc.shutdown"
/etc/rc.conf JAIL
Code:
hostname="jail1" defaultrouter="10.8.1.1" rpcbind_enable="NO" inetd_enable="NO" network_interfaces="" sshd_enable="YES" sendmail_enable="NONE" sendmail_outbound_enable="NO" syslogd_enable="YES" syslogd_programm="/usr/sbin/syslogd" syslogd_flags="-s -s -a 192.168.0.111" font8x8="iso15-8x8" font8x14="iso15-8x14" font8x16="iso15-8x16" keymap="german.iso" cron_enable="NO"
ifconfig HOST
Code:
vpn# ifconfig em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 08:00:27:e9:34:3a inet 192.168.0.122 netmask 0xffffff00 broadcast 192.168.0.255 media: Ethernet autoselect (1000baseT <full-duplex>) status: active lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 nd6 options=3<PERFORMNUD,ACCEPT_RTADV> tap0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=80000<LINKSTATE> ether 00:bd:2a:11:00:00 inet 10.8.1.1 netmask 0xffffff00 broadcast 10.8.1.255 inet 10.8.1.21 netmask 0xffffff00 broadcast 10.8.1.255 Opened by PID 678
ifconfig JAIL
Code:
%ifconfig em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 08:00:27:e9:34:3a media: Ethernet autoselect (1000baseT <full-duplex>) status: active lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> tap0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=80000<LINKSTATE> ether 00:bd:2a:11:00:00 inet 10.8.1.21 netmask 0xffffff00 broadcast 10.8.1.255 Opened by PID 678
Die Konfiguration des OpenVPN Servers:
Code:
#Autentifizierungsmethode auth RSA-SHA1-2 #Verschlüsselungsalgorithmus cipher AES-256-CBC #IP auf der gelauscht wird local 192.168.0.122 #Port auf dem gelauscht wird port 1194 #proto tcp-server proto udp mode server tls-server dev tap client-to-client #float keepalive 10 60 #IP des Servers im VPN ifconfig 10.8.1.1 255.255.255.0 #IP Pool, der an Clients vergeben wird ifconfig-pool 10.8.1.2 10.8.1.20 #IP leases speichern ifconfig-pool-persist ipp.txt #sende folgende Optionen zum Client #push "route-gateway 10.8.1.1" #push "redirect-gateway" #push "dhcp-option DNS $DNS_SERVER_DES_HEIMNETZES" push route 10.8.1.1 255.255.255.0 #Zertifikate ca /openvpn/easy-rsa/keys/ca.crt key /openvpn/easy-rsa/keys/VPNkufSERVER.key cert /openvpn/easy-rsa/keys/VPNkufSERVER.crt dh /openvpn/easy-rsa/keys/dh1024.pem #crl-verify /root/easy-rsaVPNgw/keys/crl.pem tls-auth /openvpn/easy-rsa/keys/auth.key 0 #Starte Management Console auf Port 7506 management localhost 7506 #Nutze Komprimierung comp-lzo verb 4 mute 50
Welche Einstellung fehlt mir, damit ich auch aus der Jail Kontakt mit der Ausßenwelt aufnehmen kann?

Grüße.
arcona

Geändert von arcona (08.02.2011 um 22:44 Uhr).
arcona ist offline   Mit Zitat antworten
Alt 09.02.2011, 06:37   #2
troll
Registered User
 
Registrierungsdatum: Dec 2004
Beiträge: 1.273
Na, die Route zur Jail pushen:
push route 10.8.1.21 255.255.255.255
troll ist offline   Mit Zitat antworten
Alt 09.02.2011, 15:11   #3
arcona
Registered User
 
Registrierungsdatum: Dec 2009
Beiträge: 85
Zitat:
Zitat von troll Beitrag anzeigen
Na, die Route zur Jail pushen:
push route 10.8.1.21 255.255.255.255
Das verstehe ich nicht...
Ich kann die Jail von einem OpenVPN Client ja per SSH (ssh user@10.8.1.1) erreichen.

Nur habe ich innerhalb der Jail keine Netz-Verbingung nach draußen durch das Gatway (18.8.1.1). Egal ob ich per ssh in der Jail bin oder direkt vom Host per jexec in die Jail abtauche.

Die push Option betrifft doch nur die OpenVpn Clients. Die Jail ist kein Client, sondern für den OpenVPN Server ein "Rechner" im Lan Segment hinter ihm.
Iirgendwie fehlt mir die Route von 10.8.1.21 durch 10.8.1.1 nach "draußen".
Eigentlich dachte ich, ich würde das auf dem Host mittels:
Code:
gateway_enable="YES"
und in der Jail mittels
Code:
defaultrouter="10.8.1.1"
erreichen.

Grüße.
arcona
arcona ist offline   Mit Zitat antworten
Alt 09.02.2011, 16:10   #4
arcona
Registered User
 
Registrierungsdatum: Dec 2009
Beiträge: 85
Vielleicht sieht jemand hier ein Routingproblem.
Auf dem Host:
Code:
vpn# netstat -r Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 192.168.0.1 UGS 0 108 em0 10.8.1.0 link#3 U 1 1501 tap0 10.8.1.1 link#3 UHS 0 0 lo0 10.8.1.21 link#3 UHS 0 0 lo0 localhost link#2 UH 0 53 lo0 192.168.0.0 link#1 U 1 3334 em0 192.168.0.122 link#1 UHS 0 0 lo0 Internet6: Destination Gateway Flags Netif Expire localhost localhost UH lo0 fe80::%lo0 link#2 U lo0 fe80::1%lo0 link#2 UHS lo0 ff01:2:: fe80::1%lo0 U lo0 ff02::%lo0 fe80::1%lo0 U lo0
Dennoch komme ich nicht aus der Jail nach draußen, ein Beispiel:
Code:
vpn# jexec 4 su -l jail1# pkg_add -r lsof Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/lsof.tbz: No address record pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/lsof.tbz' by URL
In der Jail sieht es so aus.
Code:
jail1# ifconfig em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 08:00:27:e9:34:3a media: Ethernet autoselect (1000baseT <full-duplex>) status: active lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> tap0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=80000<LINKSTATE> ether 00:bd:2a:11:00:00 inet 10.8.1.21 netmask 0xffffff00 broadcast 10.8.1.255 Opened by PID 678 jail1# cat /etc/resolv.conf nameserver 83.169.185.161 nameserver 83.169.185.225 nameserver 192.168.0.1 jail1# cat /etc/rc.conf hostname="jail1" defaultrouter="10.8.1.1" rpcbind_enable="NO" inetd_enable="NO" network_interfaces="" sshd_enable="YES" sendmail_enable="NONE" sendmail_outbound_enable="NO" syslogd_enable="YES" syslogd_programm="/usr/sbin/syslogd" syslogd_flags="-s -s -a 10.8.1.21" #IP-Adress-Alias aus 5. font8x8="iso15-8x8" font8x14="iso15-8x14" font8x16="iso15-8x16" keymap="german.iso" cron_enable="NO"
Ich weiß einfach nicht was noch fehlt.

Grüße
arcona

Geändert von arcona (09.02.2011 um 16:28 Uhr).
arcona ist offline   Mit Zitat antworten
Alt 10.02.2011, 03:30   #5
Bummibaer
Registered Schwarzbär
 
Benutzerbild von Bummibaer
 
Registrierungsdatum: Jan 2004
Ort: RZ Bärenhöhle Raum Stuttgart grob
Beiträge: 941
Hi,

wenn Du ein gebrücktes VPN baust kannst Du aus dem VPN Netz immer alles in diesem Netz Segement erreichen. Du brauchst aber natürlich auch das korrekte GW (des wo nach drausen kann und aus dem VPN Netz aus erreichbar ist) in der Routing Tabelle sonst kommst Du vom VPN Netz nicht raus. Die Firewall Rules müssen dementsprechend natürlich auch die Verbindungen erlauben. Wenn 10.8.1.1 das Default GW wäre - *Augen reib* - warum zeigt der auf lo0 ?

Gruß Bummibär
__________________
- Bärenmitglied des Ordens des Heiligen Huthes _/\_

Running FreeBSD 8.x, FreeBSD 9.x, Bummi-OS 9.1-PRERELEASE
Bummibaer ist offline   Mit Zitat antworten
Alt 11.02.2011, 16:16   #6
arcona
Registered User
 
Registrierungsdatum: Dec 2009
Beiträge: 85
Zitat:
Zitat von Bummibaer Beitrag anzeigen
Hi,

wenn Du ein gebrücktes VPN baust kannst Du aus dem VPN Netz immer alles in diesem Netz Segement erreichen. Du brauchst aber natürlich auch das korrekte GW (des wo nach drausen kann und aus dem VPN Netz aus erreichbar ist) in der Routing Tabelle sonst kommst Du vom VPN Netz nicht raus. Die Firewall Rules müssen dementsprechend natürlich auch die Verbindungen erlauben. Wenn 10.8.1.1 das Default GW wäre - *Augen reib* - warum zeigt der auf lo0 ?

Gruß Bummibär
Ich verstehe nicht so ganz wie ich das Routing verändern soll.
Es gibt ja kein wirkliches VPN Netz. Es gibt nur den VPN Server (em0 192.168.0.122 und tap0 10.8.1.1) und die eine Jail (tap0 alias 10.8.1.21), die ich nur durch das VPN auf dem Host erreichbar machen will.
Für das VPN Nezt muss doch dann der VPN Server, also der Jail Host, selbst das GW sein.
Das Default Gateway des Servers ist ein Hardware Router (192.168.0.1).

Ist es für mein Vorhaben überhaupt richtig der Jail ein Alias an tap0 zuzuordnen?

Grüße
arcona
arcona ist offline   Mit Zitat antworten
Alt 16.02.2011, 19:44   #7
arcona
Registered User
 
Registrierungsdatum: Dec 2009
Beiträge: 85
Ich habe eine Lösung gefunden, vielleicht interessiert es noch jemand anderen:

Der Jail wird ein IP Alias von tap0 zugeordnet:
Code:
vpn# ifconfig tap0 alias 10.8.1.21/32
Dann die nötigen Einträge in der rc.conf
Code:
jail_enable="YES" jail_list="jail1" jail_jail1_devfs_enable="YES" jail_jail1_devfs_ruleset="devfsrules_jail" jail_jail1_procfs_enable="YES" jail_jail1_fdescfs_enable="NO" jail_jail1_mount_enable="NO" jail_jail1_rootdir="/usr/home/jail/jails/jail1" jail_jail1_hostname="jail1" jail_jail1_netmask="255.255.255.255" jail_jail1_ip="10.8.1.21" jail_jail1_exec_start="/bin/sh /etc/rc" jail_jail1_exec_stop="/bin/sh /etc/rc.shutdown"
Jail starten:
Code:
/etc/rc.d/jail start jail1
Nun ist die Jail schon erreichbar, allerdings nur, wenn man zu dem Jail Host einen OpenVPN Tunnel aufgebaut hat.
Will man der Jail erlauben ins Internet zu kommen, dann funktioiert das mittels NAT Routing durch pf. Dazu sind folgende Einträge in der /etc/pf.conf nötig:
Code:
vpn# cat /etc/pf.conf nat on em0 from 10.8.1.21 to any -> 192.168.0.122 pass all
Dann schnell pf starten:
Code:
/etc/rc.d/pf onestart
Vielleicht hilft es ja noch jemanden.

Grüße
arcona
arcona ist offline   Mit Zitat antworten
Antwort


Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste)
 
Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus
Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Auf Jail Host nfsd starten arcona FreeBSD - Allgemein 5 21.03.2011 23:41
OpenVPN in einer Jail noch immer nicht möglich? arcona FreeBSD - Netzwerk 2 30.12.2009 12:03
FreeBSD und Server - was rennt? mike FreeBSD - Allgemein 8 08.03.2008 22:21
Openvpn im Jail? Mips FreeBSD - Netzwerk 4 02.09.2006 14:11
Openvpn macht mucken, und will vpn connects nicht ans default gateway weiterreichen carbuncle FreeBSD - Anwendungen und Ports 1 29.01.2006 11:23


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.


Powered by vBulletin (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.