Aufsetzen von OpenVPN auf einem Redhat

Transcription

Aufsetzen von OpenVPN auf einem Redhat
Aufsetzen von OpenVPN auf einem Redhat-Server
1
Voraussetzungen
Benutzer-Namen und Passwort für RedHat-Server sind bekannt. Benutzer muss z.B. via sudo Zugri mit System-Rechten haben.
2
Installation auf einem RedHat Server (5.4)
Die meisten Informationen kommen von: http://www.packtpub.com/article/installing-openvpn-on-linux-and-unix-systems-1
Folgende Befehle als root ausführen:
wget http : / /www. f e d o r a f a q . org / samples /yum . c o n f
rpm −Uvh http : / /www. f e d o r a f a q . org /yum
yum i n s t a l l openvpn
3
Einfacher Test, ob es läuft oder nicht
S.a. http://www.openvpn.net/index.php/open-source/documentation/miscellaneous/78-static-key-mini-howto.html
Achtung: Damit kann auf dem Server jedoch nur 1 Client laufen!
Generate a static key:
cd / e t c /openvpn && openvpn −−genkey −− s e c r e t e l e x i s _ t e s t _ l a b o . key
Copy the static key to both client and server, over a pre-existing secure channel. Server conguration le /etc/openvpn/elexis_test_labo.conf
# K o n f i g u r a t i o n e i n f a c h e r OpenVPN Test −S e r v e r f u e r e l e x i s
# Server − S e i t e
dev tun
ifconfig 10.87.53.102
10.87.53.101
s e c r e t e l e x i s _ t e s t _ l a b o . key
Danach kann man lokal testen, mit Hilfe von sftp 100.87.0.53.101
Client conguration le Pfad-Zu-Installation-Von-OpenVPN/etc/openvpn/elexis_test_arzt.ovpn (ovpn ist für WindowsClients, für *nux-Clients muss die *.ovpn-Datei nach *.conf umbenannt werden)
# K o n f i g u r a t i o n e i n f a c h e r OpenVPN Test −S e r v e r f u e r Labor
# Client
dev tun
remote 6 2 . 2 0 2 . 1 . 1 5 2
#
#
C l i e n t ( Arzt ) −>
S e r v e r ( Labo )
ifconfig 10.87.53.102
10.87.53.101
s e c r e t Labor_test_1 . key
Firewall-Einstellungen wurde so geändert, dass sie auf dem Port 1194 sowohl UDP als auch TCP in beide Richtung zulassen.
Falls auf dem Client alles gut läuft, können die geöneten Dienste (FTP) auf dem Server 10.87.53.101 benutzt werden.
3.1
Anpassungen für mehrere Clients
Dazu müssen auf dem Server Schlüssel generiert werden. Die Schlüssel für den Server müssen nur einmal generiert werden. Dazu
dient folgendes Script
#! / bin / bash
# 2010 -04 -10 Niklaus Giger
# Die Dateien / etc / openvpn / vars und / etc / openvpn / server . conf anpassen .
# Dann diese Datei als root ausführen
rm - rf / etc / openvpn / easy - rsa
mkdir / etc / openvpn / easy - rsa
cp - rp / usr / src / redhat / BUILD / openvpn -2.1.1/ easy - rsa /2.0/* / etc / openvpn / easy - rsa
rm - rf / etc / openvpn / easy - rsa / vars
1
cd / etc / openvpn / easy - rsa
. / etc / openvpn / vars
/ etc / openvpn / easy - rsa / clean - all
# Hier sollte bei ein paar Fragen nur noch okay geklickt werden müssen
/ etc / openvpn / easy - rsa / build - ca -- batch
# Den Server - Key erstellen
/ etc / openvpn / easy - rsa / build - key - server -- batch server
# Der nächste Befehl kann auch auf einer schnellen Maschine mehrere Minuten dauern
/ etc / openvpn / easy - rsa / build - dh
Folgendes Script muss jeweils pro neuen Clients ausgeführt werden.
#! / bin / bash
# 2010 -06 -10 Niklaus Giger
#
# *. key - Dateien sollten geheim gehalten werden . Müssen aber
#
wegen der Windows - Clients world - readable sein .
# *. crt und *. pem - Dateien sind öffentlich
# Am besten keine Leerzeichen beim Kundenamen haben .
#
KundenName =" client3 "
#-----------------------------------------------------------------------------# Hier noch ihre Parameter beim UserAdd hinzufügen
# Habe mal -m zum Erstellen des Home - Verzeichnisses genommen
#-----------------------------------------------------------------------------/ usr / sbin / useradd -- create - home $KundenName
# passwd $KundenName ??
#-----------------------------------------------------------------------------# Ab hier sollte es nichts mehr zum Andern geben
#-----------------------------------------------------------------------------# Dann diese Datei als root ausführen
cd / etc / openvpn / easy - rsa
. / etc / openvpn / vars
# Jetzt noch den ersten Test - Clients erstellen
/ etc / openvpn / easy - rsa / build - key -- batch $KundenName
# What follows is a so called Here document ( or variable ) of bash
confFile = $ ( cat << EndOfVar
##############################################
# Config - File for Labor OpenVPN
#
##############################################
client
dev tun
# Windows needs the TAP - Win32 adapter name
# from the Network Connections panel
# if you have more than one . On XP SP2 ,
# you may need to disable the firewall
# for the TAP adapter .
; dev - node MyTap
proto udp
remote 172.23.45.1 1194
# Keep trying indefinitely to resolve the
2
# host name of the OpenVPN server . Very useful
# on machines which are not permanently connected
# to the internet such as laptops .
resolv - retry infinite
nobind
# Try to preserve some state across restarts .
persist - key
persist - tun
ca
Labor - ca . crt
cert $KundenName . crt
key $KundenName . key
ns - cert - type server
comp - lzo
# Set log file verbosity .
verb 3
# Silence repeating messages
mute 20
mute - replay - warnings
EndOfVar )
echo " $confFile " > / etc / openvpn / keys / $KundenName . ovpn
unix2dos / etc / openvpn / keys / $KundenName . ovpn
chown $KundenName / etc / openvpn / keys / $KundenName .*
cp / etc / openvpn / keys / ca . crt / home / $KundenName / Labor - ca . crt
cp / etc / openvpn / keys / $KundenName . crt / home / $KundenName
cp / etc / openvpn / keys / $KundenName . key / home / $KundenName
chown $KundenName / home / $KundenName / $KundenName .*
echo " $confFile " > / home / $KundenName / $KundenName . ovpn
echo / home / $KundeName / $KundenName . ovpn
echo " Created config / key - files for $KundenName in / home / $KundenName "
ls -l / home / $KundenName
echo $clientConf
Für *nux-Clients muss die *.ovpn-Datei nach *.conf umbenannt werden.
Zum Testen auf dem Client openvpn starten. Etwa folgendes sollte im Log zu sehen sein:
Sun
Apr
11
12:01:41
2010
OpenVPN
Sun
Apr
11
12:01:41
2010
NOTE:
defined
Sun
Apr
11
parms
[
scripts
or
12:01:41
L:1542
2.1.1
OpenVPN
i686
2.1
−pc−mingw32 [ SSL ] [ LZO2 ] [ PKCS11 ]
r e q u i r e s '−− s c r i p t − s e c u r i t y
2 ' or
built
on
higher
Dec
to
11
call
2009
user
−
executables
2010
D: 1 3 8
LZO
compression
EF : 3 8
EB : 0
ET : 0
initialized
EL : 0
Sun
Apr
11
12:01:41
2010
Data
Sun
Apr
11
12:01:41
2010
Local
C h a n n e l MTU parms
Sun
Apr
11
12:01:41
2010
Expected
Sun
Apr
11
12:01:41
2010
Socket
Sun
Apr
11
12:01:41
2010
UDPv4
link
local :
Sun
Apr
11
12:01:41
2010
UDPv4
link
remote :
Sun
Apr
11
12:01:41
2010
TLS :
Sun
Apr
11
12:01:42
2010
VERIFY OK:
Options
hash
[
L:1542
(VER=V4 ) :
Remote
Options
Buffers :
R= [ 8 1 9 2
Initial
Sun
Apr
11
12:01:41
2010
Control
C h a n n e l MTU
]
D: 1 4 5 0
EF : 4 2
EB : 1 3 5
ET : 0
EL : 0
AF : 3 / 1
]
'41690919 '
hash
(VER=V4 ) :
− >8192]
S =[8192
'530 fdded '
− >8192]
[ undef ]
packet
d e p t h =1 ,
172.25.1.134:1194
from
172.25.1.134:1194 ,
s i d =74 d 0 4 8 1 d
b9c0622a
/C=CH/ST=ZH/L=Z u e r i c h /O=L a b o r /CN=Labor_CA/ e m a i l A d d r e s s=
i h r . a d m i n i s t r a t o r @ L a b o r . ch
Sun
Apr
11
12:01:42
2010
VERIFY OK:
n s C e r t T y p e=SERVER
Sun
Apr
11
12:01:42
2010
VERIFY OK:
d e p t h =0 ,
/C=CH/ST=ZH/L=Z u e r i c h /O=L a b o r /CN=s e r v e r / e m a i l A d d r e s s=
i h r . a d m i n i s t r a t o r @ L a b o r . ch
Sun
Apr
11
12:01:42
2010
Data
Channel
Encrypt :
Cipher
Sun
Apr
11
12:01:42
2010
Data
Channel
Encrypt :
Using
authentication
3
−
' BF CBC'
160
bit
initialized
message
hash
with
' SHA1 '
128
for
bit
key
HMAC
Sun
Apr
11
12:01:42
2010
Data
Channel
Decrypt :
Cipher
Sun
Apr
11
12:01:42
2010
Data
Channel
Decrypt :
Using
−
' BF CBC'
160
bit
initialized
message
hash
with
' SHA1 '
128
for
bit
key
HMAC
authentication
Sun
Apr
11
12:01:42
2010
Control
Sun
Apr
11
12:01:42
2010
[ server ]
Sun
Apr
11
12:01:44
2010
SENT CONTROL
Sun
Apr
11
12:01:44
2010
PUSH :
net30 , i f c o n f i g
Sun
un
Apr
Apr
11
11
12:01:44
2010
2010
Peer
TLSv1 ,
cipher
Connection
[ server ] :
Received
172.23.45.14
12:01:44
Channel :
control
TLSv1 / SSLv3
Initiated
with
'PUSH_REQUEST'
message :
−
−
−SHA ,
DHE RSA AES256
1024
bit
( s t a t u s =1)
'PUSH_REPLY, r o u t e
172.23.45.1 , topology
172.23.45.13 '
OPTIONS IMPORT :
OPTIONS IMPORT :
Sun
Apr
11
12:01:44
2010
ROUTE
Sun
Apr
11
12:01:44
2010
TAP WIN32
−− i f c o n f i g / up
route
options
options
modified
S
modified
default_gateway =192.168.102.1
−
device
[ LAN V e r b i n d u n g
−
−
−
Driver
Version
3]
opened :
−E684 −4EC2
\ \ . \ G l o b a l \ {CD34DAE6
−91A5−3FFAA13C25F3 } . t a p
Sun
Apr
11
12:01:44
2010
TAP Win32
Sun
Apr
11
12:01:44
2010
TAP Win32 MTU=1500
Apr
11
12:01:44
2010
Sun
Notified
172.23.45.14/255.255.255.252
172.23.45.13 ,
Sun
Apr
11
lease
12:01:44
−t i m e :
2010
−
TAP Win32
on
9.6
driver
interface
to
set
a DHCP IP / n e t m a s k
of
−E684 −4EC2−91A5−3FFAA13C25F3}
{CD34DAE6
−s e r v :
[ DHCP
31536000]
Successful
ARP
Flush
on
interface
[17]
−E684 −4EC2−91A5−3
{CD34DAE6
FFAA13C25F3}
Sun
Apr
11
12:01:49
2010
TEST ROUTES :
Sun
Apr
11
12:01:49
2010
C : \WINDOWS\ s y s t e m 3 2 \ r o u t e . e x e
1/1
succeeded
l e n =1
2010
ROUTE:
r e t =1
ADD
a=0
u / d=up
172.23.45.1
MASK
255.255.255.255
172.23.45.13
Sun
Apr
11
12:01:49
CreateIpForwardEntry
succeeded
with
d w F o r w a r d M e t r i c 1 =30
and
dwForwardType=4
Sun
Apr
11
12:01:49
2010
Route
Sun
Apr
11
12:01:49
2010
Initialization
3.2
RSA
172.25.1.134:1194
addition
via
IPAPI
Sequence
succeeded
[ adaptive ]
Completed
Testumgebung
RedHat 30-Tag-Lizenz, RedHat 5.4-DVD (2.6 GB) runtergeladen und auf MacBookPro via KVM/virt-manager installiert.
• 1855755 30-day Unsupported Evaluation Red Hat Enterprise Linux (Up to 2 Sockets)
• 03/29/2010 04/27/2010 Info zur Verlängerung
• RHN 363fcca9327b83cc
4

Similar documents