
 
 
 
 # ! / b i n / b a s h 
 
 # 
 
 #   h t t p s : / / g i t h u b . c o m / N y r / o p e n v p n - i n s t a l l 
 
 # 
 
 #   C o p y r i g h t   ( c )   2 0 1 3   N y r .   R e l e a s e d   u n d e r   t h e   M I T   L i c e n s e . 
 
 
 
 
 
 i f   g r e p   - q s   " U b u n t u   1 6 . 0 4 "   " / e t c / o s - r e l e a s e " ;   t h e n 
 
                 e c h o   ' U b u n t u   1 6 . 0 4   i s   n o   l o n g e r   s u p p o r t e d   i n   t h e   c u r r e n t   v e r s i o n   o f   o p e n v p n - i n s t a l l 
 
 U s e   a n   o l d e r   v e r s i o n   i f   U b u n t u   1 6 . 0 4   s u p p o r t   i s   n e e d e d :   h t t p s : / / g i t . i o / v p n 1 6 0 4 ' 
 
                 e x i t 
 
 f i 
 
 
 
 #   D e t e c t   D e b i a n   u s e r s   r u n n i n g   t h e   s c r i p t   w i t h   " s h "   i n s t e a d   o f   b a s h 
 
 i f   r e a d l i n k   / p r o c / $ $ / e x e   |   g r e p   - q   " d a s h " ;   t h e n 
 
                 e c h o   " T h i s   s c r i p t   n e e d s   t o   b e   r u n   w i t h   b a s h ,   n o t   s h " 
 
                 e x i t 
 
 f i 
 
 
 
 i f   [ [   " $ E U I D "   - n e   0   ] ] ;   t h e n 
 
                 e c h o   " S o r r y ,   y o u   n e e d   t o   r u n   t h i s   a s   r o o t " 
 
                 e x i t 
 
 f i 
 
 
 
 i f   [ [   !   - e   / d e v / n e t / t u n   ] ] ;   t h e n 
 
                 e c h o   " T h e   T U N   d e v i c e   i s   n o t   a v a i l a b l e 
 
 Y o u   n e e d   t o   e n a b l e   T U N   b e f o r e   r u n n i n g   t h i s   s c r i p t " 
 
                 e x i t 
 
 f i 
 
 
 
 i f   [ [   - e   / e t c / d e b i a n _ v e r s i o n   ] ] ;   t h e n 
 
                 O S = d e b i a n 
 
                 G R O U P N A M E = n o g r o u p 
 
 e l i f   [ [   - e   / e t c / c e n t o s - r e l e a s e   | |   - e   / e t c / r e d h a t - r e l e a s e   ] ] ;   t h e n 
 
                 O S = c e n t o s 
 
                 G R O U P N A M E = n o b o d y 
 
 e l s e 
 
                 e c h o   " L o o k s   l i k e   y o u   a r e n ' t   r u n n i n g   t h i s   i n s t a l l e r   o n   D e b i a n ,   U b u n t u   o r   C e n t O S " 
 
                 e x i t 
 
 f i 
 
 
 
 n e w c l i e n t   ( )   { 
 
                 #   G e n e r a t e s   t h e   c u s t o m   c l i e n t . o v p n 
 
                 c p   / e t c / o p e n v p n / s e r v e r / c l i e n t - c o m m o n . t x t   ~ / $ 1 . o v p n 
 
                 e c h o   " < c a > "   > >   ~ / $ 1 . o v p n 
 
                 c a t   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / p k i / c a . c r t   > >   ~ / $ 1 . o v p n 
 
                 e c h o   " < / c a > "   > >   ~ / $ 1 . o v p n 
 
                 e c h o   " < c e r t > "   > >   ~ / $ 1 . o v p n 
 
                 s e d   - n e   ' / B E G I N   C E R T I F I C A T E / , $   p '   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / p k i / i s s u e d / $ 1 . c r t   > >   ~ / $ 1 . o v p n 
 
                 e c h o   " < / c e r t > "   > >   ~ / $ 1 . o v p n 
 
                 e c h o   " < k e y > "   > >   ~ / $ 1 . o v p n 
 
                 c a t   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / p k i / p r i v a t e / $ 1 . k e y   > >   ~ / $ 1 . o v p n 
 
                 e c h o   " < / k e y > "   > >   ~ / $ 1 . o v p n 
 
                 e c h o   " < t l s - a u t h > "   > >   ~ / $ 1 . o v p n 
 
                 s e d   - n e   ' / B E G I N   O p e n V P N   S t a t i c   k e y / , $   p '   / e t c / o p e n v p n / s e r v e r / t a . k e y   > >   ~ / $ 1 . o v p n 
 
                 e c h o   " < / t l s - a u t h > "   > >   ~ / $ 1 . o v p n 
 
 } 
 
 
 
 i f   [ [   - e   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f   ] ] ;   t h e n 
 
                 w h i l e   : 
 
                 d o 
 
                 c l e a r 
 
                                 e c h o   " L o o k s   l i k e   O p e n V P N   i s   a l r e a d y   i n s t a l l e d . " 
 
                                 e c h o 
 
                                 e c h o   " W h a t   d o   y o u   w a n t   t o   d o ? " 
 
                                 e c h o   "       1 )   A d d   a   n e w   u s e r " 
 
                                 e c h o   "       2 )   R e v o k e   a n   e x i s t i n g   u s e r " 
 
                                 e c h o   "       3 )   R e m o v e   O p e n V P N " 
 
                                 e c h o   "       4 )   E x i t " 
 
                                 r e a d   - p   " S e l e c t   a n   o p t i o n   [ 1 - 4 ] :   "   o p t i o n 
 
                                 c a s e   $ o p t i o n   i n 
 
                                                 1 ) 
 
                                                 e c h o 
 
                                                 e c h o   " T e l l   m e   a   n a m e   f o r   t h e   c l i e n t   c e r t i f i c a t e . " 
 
                                                 e c h o   " P l e a s e ,   u s e   o n e   w o r d   o n l y ,   n o   s p e c i a l   c h a r a c t e r s . " 
 
                                                 r e a d   - p   " C l i e n t   n a m e :   "   - e   C L I E N T 
 
                                                 c d   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / 
 
                                                 E A S Y R S A _ C E R T _ E X P I R E = 3 6 5 0   . / e a s y r s a   b u i l d - c l i e n t - f u l l   $ C L I E N T   n o p a s s 
 
                                                 #   G e n e r a t e s   t h e   c u s t o m   c l i e n t . o v p n 
 
                                                 n e w c l i e n t   " $ C L I E N T " 
 
                                                 e c h o 
 
                                                 e c h o   " C l i e n t   $ C L I E N T   a d d e d ,   c o n f i g u r a t i o n   i s   a v a i l a b l e   a t : "   ~ / " $ C L I E N T . o v p n " 
 
                                                 e x i t 
 
                                                 ; ; 
 
                                                 2 ) 
 
                                                 #   T h i s   o p t i o n   c o u l d   b e   d o c u m e n t e d   a   b i t   b e t t e r   a n d   m a y b e   e v e n   b e   s i m p l i f i e d 
 
                                                 #   . . . b u t   w h a t   c a n   I   s a y ,   I   w a n t   s o m e   s l e e p   t o o 
 
                                                 N U M B E R O F C L I E N T S = $ ( t a i l   - n   + 2   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / p k i / i n d e x . t x t   |   g r e p   - c   " ^ V " ) 
 
                                                 i f   [ [   " $ N U M B E R O F C L I E N T S "   =   ' 0 '   ] ] ;   t h e n 
 
                                                                 e c h o 
 
                                                                 e c h o   " Y o u   h a v e   n o   e x i s t i n g   c l i e n t s ! " 
 
                                                                 e x i t 
 
                                                 f i 
 
                                                 e c h o 
 
                                                 e c h o   " S e l e c t   t h e   e x i s t i n g   c l i e n t   c e r t i f i c a t e   y o u   w a n t   t o   r e v o k e : " 
 
                                                 t a i l   - n   + 2   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / p k i / i n d e x . t x t   |   g r e p   " ^ V "   |   c u t   - d   ' = '   - f   2   |   n l   - s   ' )   ' 
 
                                                 i f   [ [   " $ N U M B E R O F C L I E N T S "   =   ' 1 '   ] ] ;   t h e n 
 
                                                                 r e a d   - p   " S e l e c t   o n e   c l i e n t   [ 1 ] :   "   C L I E N T N U M B E R 
 
                                                 e l s e 
 
                                                                 r e a d   - p   " S e l e c t   o n e   c l i e n t   [ 1 - $ N U M B E R O F C L I E N T S ] :   "   C L I E N T N U M B E R 
 
                                                 f i 
 
                                                 C L I E N T = $ ( t a i l   - n   + 2   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / p k i / i n d e x . t x t   |   g r e p   " ^ V "   |   c u t   - d   ' = '   - f   2   |   s e d   - n   " $ C L I E N T N U M B E R " p ) 
 
                                                 e c h o 
 
                                                 r e a d   - p   " D o   y o u   r e a l l y   w a n t   t o   r e v o k e   a c c e s s   f o r   c l i e n t   $ C L I E N T ?   [ y / N ] :   "   - e   R E V O K E 
 
                                                 i f   [ [   " $ R E V O K E "   =   ' y '   | |   " $ R E V O K E "   =   ' Y '   ] ] ;   t h e n 
 
                                                                 c d   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / 
 
                                                                 . / e a s y r s a   - - b a t c h   r e v o k e   $ C L I E N T 
 
                                                                 E A S Y R S A _ C R L _ D A Y S = 3 6 5 0   . / e a s y r s a   g e n - c r l 
 
                                                                 r m   - f   p k i / r e q s / $ C L I E N T . r e q 
 
                                                                 r m   - f   p k i / p r i v a t e / $ C L I E N T . k e y 
 
                                                                 r m   - f   p k i / i s s u e d / $ C L I E N T . c r t 
 
                                                                 r m   - f   / e t c / o p e n v p n / s e r v e r / c r l . p e m 
 
                                                                 c p   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / p k i / c r l . p e m   / e t c / o p e n v p n / s e r v e r / c r l . p e m 
 
                                                                 #   C R L   i s   r e a d   w i t h   e a c h   c l i e n t   c o n n e c t i o n ,   w h e n   O p e n V P N   i s   d r o p p e d   t o   n o b o d y 
 
                                                                 c h o w n   n o b o d y : $ G R O U P N A M E   / e t c / o p e n v p n / s e r v e r / c r l . p e m 
 
                                                                 e c h o 
 
                                                                 e c h o   " C e r t i f i c a t e   f o r   c l i e n t   $ C L I E N T   r e v o k e d ! " 
 
                                                 e l s e 
 
                                                                 e c h o 
 
                                                                 e c h o   " C e r t i f i c a t e   r e v o c a t i o n   f o r   c l i e n t   $ C L I E N T   a b o r t e d ! " 
 
                                                 f i 
 
                                                 e x i t 
 
                                                 ; ; 
 
                                                 3 ) 
 
                                                 e c h o 
 
                                                 r e a d   - p   " D o   y o u   r e a l l y   w a n t   t o   r e m o v e   O p e n V P N ?   [ y / N ] :   "   - e   R E M O V E 
 
                                                 i f   [ [   " $ R E M O V E "   =   ' y '   | |   " $ R E M O V E "   =   ' Y '   ] ] ;   t h e n 
 
                                                                 P O R T = $ ( g r e p   ' ^ p o r t   '   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f   |   c u t   - d   "   "   - f   2 ) 
 
                                                                 P R O T O C O L = $ ( g r e p   ' ^ p r o t o   '   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f   |   c u t   - d   "   "   - f   2 ) 
 
                                                                 i f   p g r e p   f i r e w a l l d ;   t h e n 
 
                                                                                 I P = $ ( f i r e w a l l - c m d   - - d i r e c t   - - g e t - r u l e s   i p v 4   n a t   P O S T R O U T I N G   |   g r e p   ' \ - s   1 0 . 8 . 0 . 0 / 2 4   ' " ' " ' ! ' " ' " '   - d   1 0 . 8 . 0 . 0 / 2 4   - j   S N A T   - - t o   '   |   c u t   - d   "   "   - f   1 0 ) 
 
                                                                                 #   U s i n g   b o t h   p e r m a n e n t   a n d   n o t   p e r m a n e n t   r u l e s   t o   a v o i d   a   f i r e w a l l d   r e l o a d . 
 
                                                                                 f i r e w a l l - c m d   - - r e m o v e - p o r t = $ P O R T / $ P R O T O C O L 
 
                                                                                 f i r e w a l l - c m d   - - z o n e = t r u s t e d   - - r e m o v e - s o u r c e = 1 0 . 8 . 0 . 0 / 2 4 
 
                                                                                 f i r e w a l l - c m d   - - p e r m a n e n t   - - r e m o v e - p o r t = $ P O R T / $ P R O T O C O L 
 
                                                                                 f i r e w a l l - c m d   - - p e r m a n e n t   - - z o n e = t r u s t e d   - - r e m o v e - s o u r c e = 1 0 . 8 . 0 . 0 / 2 4 
 
                                                                                 f i r e w a l l - c m d   - - d i r e c t   - - r e m o v e - r u l e   i p v 4   n a t   P O S T R O U T I N G   0   - s   1 0 . 8 . 0 . 0 / 2 4   !   - d   1 0 . 8 . 0 . 0 / 2 4   - j   S N A T   - - t o   p p p 0 
 
                                                                                 f i r e w a l l - c m d   - - p e r m a n e n t   - - d i r e c t   - - r e m o v e - r u l e   i p v 4   n a t   P O S T R O U T I N G   0   - s   1 0 . 8 . 0 . 0 / 2 4   !   - d   1 0 . 8 . 0 . 0 / 2 4   - j   S N A T   - - t o   p p p 0 
 
                                                                 e l s e 
 
                                                                                 s y s t e m c t l   d i s a b l e   - - n o w   o p e n v p n - i p t a b l e s . s e r v i c e 
 
                                                                                 r m   - f   / e t c / s y s t e m d / s y s t e m / o p e n v p n - i p t a b l e s . s e r v i c e 
 
                                                                 f i 
 
                                                                 i f   s e s t a t u s   2 > / d e v / n u l l   |   g r e p   " C u r r e n t   m o d e "   |   g r e p   - q   " e n f o r c i n g "   & &   [ [   " $ P O R T "   ! =   ' 1 1 9 4 '   ] ] ;   t h e n 
 
                                                                                 s e m a n a g e   p o r t   - d   - t   o p e n v p n _ p o r t _ t   - p   $ P R O T O C O L   $ P O R T 
 
                                                                 f i 
 
                                                                 s y s t e m c t l   d i s a b l e   - - n o w   o p e n v p n - s e r v e r @ s e r v e r . s e r v i c e 
 
                                                                 r m   - r f   / e t c / o p e n v p n / s e r v e r 
 
                                                                 r m   - f   / e t c / s y s c t l . d / 3 0 - o p e n v p n - f o r w a r d . c o n f 
 
                                                                 i f   [ [   " $ O S "   =   ' d e b i a n '   ] ] ;   t h e n 
 
                                                                                 a p t - g e t   r e m o v e   - - p u r g e   - y   o p e n v p n 
 
                                                                 e l s e 
 
                                                                                 y u m   r e m o v e   o p e n v p n   - y 
 
                                                                 f i 
 
                                                                 e c h o 
 
                                                                 e c h o   " O p e n V P N   r e m o v e d ! " 
 
                                                 e l s e 
 
                                                                 e c h o 
 
                                                                 e c h o   " R e m o v a l   a b o r t e d ! " 
 
                                                 f i 
 
                                                 e x i t 
 
                                                 ; ; 
 
                                                 4 )   e x i t ; ; 
 
                                 e s a c 
 
                 d o n e 
 
 e l s e 
 
                 c l e a r 
 
                 e c h o   ' W e l c o m e   t o   t h i s   O p e n V P N   " r o a d   w a r r i o r "   i n s t a l l e r ! ' 
 
                 e c h o 
 
                 #   O p e n V P N   s e t u p   a n d   f i r s t   u s e r   c r e a t i o n 
 
                 e c h o   " I   n e e d   t o   a s k   y o u   a   f e w   q u e s t i o n s   b e f o r e   s t a r t i n g   t h e   s e t u p . " 
 
                 e c h o   " Y o u   c a n   l e a v e   t h e   d e f a u l t   o p t i o n s   a n d   j u s t   p r e s s   e n t e r   i f   y o u   a r e   o k   w i t h   t h e m . " 
 
                 e c h o 
 
                 e c h o   " F i r s t ,   p r o v i d e   t h e   I P v 4   a d d r e s s   o f   t h e   n e t w o r k   i n t e r f a c e   y o u   w a n t   O p e n V P N " 
 
                 e c h o   " l i s t e n i n g   t o . " 
 
                 #   A u t o d e t e c t   I P   a d d r e s s   a n d   p r e - f i l l   f o r   t h e   u s e r 
 
                 I P = $ ( i p   a d d r   |   g r e p   ' i n e t '   |   g r e p   - v   i n e t 6   |   g r e p   - v E   ' 1 2 7 \ . [ 0 - 9 ] { 1 , 3 } \ . [ 0 - 9 ] { 1 , 3 } \ . [ 0 - 9 ] { 1 , 3 } '   |   g r e p   - o E   ' [ 0 - 9 ] { 1 , 3 } \ . [ 0 - 9 ] { 1 , 3 } \ . [ 0 - 9 ] { 1 , 3 } \ . [ 0 - 9 ] { 1 , 3 } '   |   h e a d   - 1 ) 
 
                 r e a d   - p   " I P   a d d r e s s :   "   - e   - i   $ I P   I P 
 
                 #  I f   $ I P   i s   a   p r i v a t e   I P   a d d r e s s ,   t h e   s e r v e r   m u s t   b e   b e h i n d   N A T 
 
                 i f   e c h o   " $ I P "   |   g r e p   - q E   ' ^ ( 1 0 \ . | 1 7 2 \ . 1 [ 6 7 8 9 ] \ . | 1 7 2 \ . 2 [ 0 - 9 ] \ . | 1 7 2 \ . 3 [ 0 1 ] \ . | 1 9 2 \ . 1 6 8 ) ' ;   t h e n 
 
                                 e c h o 
 
                                 e c h o   " T h i s   s e r v e r   i s   b e h i n d   N A T .   W h a t   i s   t h e   p u b l i c   I P v 4   a d d r e s s   o r   h o s t n a m e ? " 
 
                                 r e a d   - p   " P u b l i c   I P   a d d r e s s   /   h o s t n a m e :   "   - e   P U B L I C I P 
 
                 f i 
 
                 e c h o 
 
                 e c h o   " W h i c h   p r o t o c o l   d o   y o u   w a n t   f o r   O p e n V P N   c o n n e c t i o n s ? " 
 
                 e c h o   "       1 )   U D P   ( r e c o m m e n d e d ) " 
 
                 e c h o   "       2 )   T C P " 
 
                 r e a d   - p   " P r o t o c o l   [ 1 - 2 ] :   "   - e   - i   1   P R O T O C O L 
 
                 c a s e   $ P R O T O C O L   i n 
 
                                 1 ) 
 
                                 P R O T O C O L = u d p 
 
                                 ; ; 
 
                                 2 ) 
 
                                 P R O T O C O L = t c p 
 
                                 ; ; 
 
                 e s a c 
 
                 e c h o 
 
                 e c h o   " W h a t   p o r t   d o   y o u   w a n t   O p e n V P N   l i s t e n i n g   t o ? " 
 
                 r e a d   - p   " P o r t :   "   - e   - i   1 1 9 4   P O R T 
 
                 e c h o 
 
                 e c h o   " W h i c h   D N S   d o   y o u   w a n t   t o   u s e   w i t h   t h e   V P N ? " 
 
                 e c h o   "       1 )   C u r r e n t   s y s t e m   r e s o l v e r s " 
 
                 e c h o   "       2 )   1 . 1 . 1 . 1 " 
 
                 e c h o   "       3 )   G o o g l e " 
 
                 e c h o   "       4 )   O p e n D N S " 
 
                 e c h o   "       5 )   V e r i s i g n " 
 
                 r e a d   - p   " D N S   [ 1 - 5 ] :   "   - e   - i   1   D N S 
 
                 e c h o 
 
                 e c h o   " F i n a l l y ,   t e l l   m e   y o u r   n a m e   f o r   t h e   c l i e n t   c e r t i f i c a t e . " 
 
                 e c h o   " P l e a s e ,   u s e   o n e   w o r d   o n l y ,   n o   s p e c i a l   c h a r a c t e r s . " 
 
                 r e a d   - p   " C l i e n t   n a m e :   "   - e   - i   c l i e n t   C L I E N T 
 
                 e c h o 
 
                 e c h o   " O k a y ,   t h a t   w a s   a l l   I   n e e d e d .   W e   a r e   r e a d y   t o   s e t   u p   y o u r   O p e n V P N   s e r v e r   n o w . " 
 
                 r e a d   - n 1   - r   - p   " P r e s s   a n y   k e y   t o   c o n t i n u e . . . " 
 
                 i f   [ [   " $ O S "   =   ' d e b i a n '   ] ] ;   t h e n 
 
                                 a p t - g e t   u p d a t e 
 
                                 a p t - g e t   i n s t a l l   o p e n v p n   i p t a b l e s   o p e n s s l   c a - c e r t i f i c a t e s   - y 
 
                 e l s e 
 
                                 #   E l s e ,   t h e   d i s t r o   i s   C e n t O S 
 
                                 y u m   i n s t a l l   e p e l - r e l e a s e   - y 
 
                                 y u m   i n s t a l l   o p e n v p n   i p t a b l e s   o p e n s s l   c a - c e r t i f i c a t e s   - y 
 
                 f i 
 
                 #   G e t   e a s y - r s a 
 
                 E A S Y R S A U R L = ' h t t p s : / / g i t h u b . c o m / O p e n V P N / e a s y - r s a / r e l e a s e s / d o w n l o a d / v 3 . 0 . 5 / E a s y R S A - n i x - 3 . 0 . 5 . t g z ' 
 
                 w g e t   - O   ~ / e a s y r s a . t g z   " $ E A S Y R S A U R L "   2 > / d e v / n u l l   | |   c u r l   - L o   ~ / e a s y r s a . t g z   " $ E A S Y R S A U R L " 
 
                 t a r   x z f   ~ / e a s y r s a . t g z   - C   ~ / 
 
                 m v   ~ / E a s y R S A - 3 . 0 . 5 /   / e t c / o p e n v p n / s e r v e r / 
 
                 m v   / e t c / o p e n v p n / s e r v e r / E a s y R S A - 3 . 0 . 5 /   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / 
 
                 c h o w n   - R   r o o t : r o o t   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / 
 
                 r m   - f   ~ / e a s y r s a . t g z 
 
                 c d   / e t c / o p e n v p n / s e r v e r / e a s y - r s a / 
 
                 #   C r e a t e   t h e   P K I ,   s e t   u p   t h e   C A   a n d   t h e   s e r v e r   a n d   c l i e n t   c e r t i f i c a t e s 
 
                 . / e a s y r s a   i n i t - p k i 
 
                 . / e a s y r s a   - - b a t c h   b u i l d - c a   n o p a s s 
 
                 E A S Y R S A _ C E R T _ E X P I R E = 3 6 5 0   . / e a s y r s a   b u i l d - s e r v e r - f u l l   s e r v e r   n o p a s s 
 
                 E A S Y R S A _ C E R T _ E X P I R E = 3 6 5 0   . / e a s y r s a   b u i l d - c l i e n t - f u l l   $ C L I E N T   n o p a s s 
 
                 E A S Y R S A _ C R L _ D A Y S = 3 6 5 0   . / e a s y r s a   g e n - c r l 
 
                 #   M o v e   t h e   s t u f f   w e   n e e d 
 
                 c p   p k i / c a . c r t   p k i / p r i v a t e / c a . k e y   p k i / i s s u e d / s e r v e r . c r t   p k i / p r i v a t e / s e r v e r . k e y   p k i / c r l . p e m   / e t c / o p e n v p n / s e r v e r 
 
                 #   C R L   i s   r e a d   w i t h   e a c h   c l i e n t   c o n n e c t i o n ,   w h e n   O p e n V P N   i s   d r o p p e d   t o   n o b o d y 
 
                 c h o w n   n o b o d y : $ G R O U P N A M E   / e t c / o p e n v p n / s e r v e r / c r l . p e m 
 
                 #   G e n e r a t e   k e y   f o r   t l s - a u t h 
 
                 o p e n v p n   - - g e n k e y   - - s e c r e t   / e t c / o p e n v p n / s e r v e r / t a . k e y 
 
                 #   C r e a t e   t h e   D H   p a r a m e t e r s   f i l e   u s i n g   t h e   p r e d e f i n e d   f f d h e 2 0 4 8   g r o u p 
 
                 e c h o   ' - - - - - B E G I N   D H   P A R A M E T E R S - - - - - 
 
 M I I B C A K C A Q E A / / / / / / / / / / + t + F R Y o r t K m q / c V i A n P T z x 2 L n F g 8 4 t N p W p 4 T Z B F G Q z 
 
 + 8 y T n c 4 k m z 7 5 f S / j Y 2 M M d d j 2 g b I C r s R h e t P f H t X V / W V h J D P 1 H 1 8 G b t C F Y 2 V V P e 0 a 
 
 8 7 V X E 1 5 / V 8 k 1 m E 8 M c O D m i 3 f i p o n a 8 + / o c h 3 x W K E 2 r e c 1 M K z K T 0 g 6 e X q 8 C r G C s y T 7 
 
 Y d E I q U u y y O P 7 u W r a t 2 D X 9 G g d T 0 K j 3 j l N 9 K 5 W 7 e d j c r s Z C w e n y O 4 K b X C e A v z h z f f i 
 
 7 M A 0 B M 0 o N C 9 h k X L + n O m F g / + O T x I y 7 v K B g 8 P + O x t M b 6 1 z O 7 X 8 v C 7 C I A X F j v G D f R a D 
 
 s s b z S i b B s u / 6 i G t C O G E o X J f / / / / / / / / / / w I B A g = = 
 
 - - - - - E N D   D H   P A R A M E T E R S - - - - - '   >   / e t c / o p e n v p n / s e r v e r / d h . p e m 
 
                 #   G e n e r a t e   s e r v e r . c o n f 
 
                 e c h o   " p o r t   $ P O R T 
 
 p r o t o   $ P R O T O C O L 
 
 d e v   t u n 
 
 s n d b u f   0 
 
 r c v b u f   0 
 
 c a   c a . c r t 
 
 c e r t   s e r v e r . c r t 
 
 k e y   s e r v e r . k e y 
 
 d h   d h . p e m 
 
 a u t h   S H A 5 1 2 
 
 t l s - a u t h   t a . k e y   0 
 
 t o p o l o g y   s u b n e t 
 
 s e r v e r   1 0 . 8 . 0 . 0   2 5 5 . 2 5 5 . 2 5 5 . 0 
 
 i f c o n f i g - p o o l - p e r s i s t   i p p . t x t "   >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                 e c h o   ' p u s h   " r e d i r e c t - g a t e w a y   d e f 1   b y p a s s - d h c p " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                 #   D N S 
 
                 c a s e   $ D N S   i n 
 
                                 1 ) 
 
                                 #   L o c a t e   t h e   p r o p e r   r e s o l v . c o n f 
 
                                 #   N e e d e d   f o r   s y s t e m s   r u n n i n g   s y s t e m d - r e s o l v e d 
 
                                 i f   g r e p   - q   " 1 2 7 . 0 . 0 . 5 3 "   " / e t c / r e s o l v . c o n f " ;   t h e n 
 
                                                 R E S O L V C O N F = ' / r u n / s y s t e m d / r e s o l v e / r e s o l v . c o n f ' 
 
                                 e l s e 
 
                                                 R E S O L V C O N F = ' / e t c / r e s o l v . c o n f ' 
 
                                 f i 
 
                                 #   O b t a i n   t h e   r e s o l v e r s   f r o m   r e s o l v . c o n f   a n d   u s e   t h e m   f o r   O p e n V P N 
 
                                 g r e p   - v   ' # '   $ R E S O L V C O N F   |   g r e p   ' n a m e s e r v e r '   |   g r e p   - E   - o   ' [ 0 - 9 ] { 1 , 3 } \ . [ 0 - 9 ] { 1 , 3 } \ . [ 0 - 9 ] { 1 , 3 } \ . [ 0 - 9 ] { 1 , 3 } '   |   w h i l e   r e a d   l i n e ;   d o 
 
                                                 e c h o   " p u s h   \ " d h c p - o p t i o n   D N S   $ l i n e \ " "   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 d o n e 
 
                                 ; ; 
 
                                 2 ) 
 
                                 e c h o   ' p u s h   " d h c p - o p t i o n   D N S   1 . 1 . 1 . 1 " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 e c h o   ' p u s h   " d h c p - o p t i o n   D N S   1 . 0 . 0 . 1 " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 ; ; 
 
                                 3 ) 
 
                                 e c h o   ' p u s h   " d h c p - o p t i o n   D N S   8 . 8 . 8 . 8 " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 e c h o   ' p u s h   " d h c p - o p t i o n   D N S   8 . 8 . 4 . 4 " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 ; ; 
 
                                 4 ) 
 
                                 e c h o   ' p u s h   " d h c p - o p t i o n   D N S   2 0 8 . 6 7 . 2 2 2 . 2 2 2 " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 e c h o   ' p u s h   " d h c p - o p t i o n   D N S   2 0 8 . 6 7 . 2 2 0 . 2 2 0 " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 ; ; 
 
                                 5 ) 
 
                                 e c h o   ' p u s h   " d h c p - o p t i o n   D N S   6 4 . 6 . 6 4 . 6 " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 e c h o   ' p u s h   " d h c p - o p t i o n   D N S   6 4 . 6 . 6 5 . 6 " '   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                                 ; ; 
 
                 e s a c 
 
                 e c h o   " k e e p a l i v e   1 0   1 2 0 
 
 c i p h e r   A E S - 2 5 6 - C B C 
 
 u s e r   n o b o d y 
 
 g r o u p   $ G R O U P N A M E 
 
 p e r s i s t - k e y 
 
 p e r s i s t - t u n 
 
 s t a t u s   o p e n v p n - s t a t u s . l o g 
 
 v e r b   3 
 
 c r l - v e r i f y   c r l . p e m "   > >   / e t c / o p e n v p n / s e r v e r / s e r v e r . c o n f 
 
                 #   E n a b l e   n e t . i p v 4 . i p _ f o r w a r d   f o r   t h e   s y s t e m 
 
                 e c h o   ' n e t . i p v 4 . i p _ f o r w a r d = 1 '   >   / e t c / s y s c t l . d / 3 0 - o p e n v p n - f o r w a r d . c o n f 
 
                 #   E n a b l e   w i t h o u t   w a i t i n g   f o r   a   r e b o o t   o r   s e r v i c e   r e s t a r t 
 
                 e c h o   1   >   / p r o c / s y s / n e t / i p v 4 / i p _ f o r w a r d 
 
                 i f   p g r e p   f i r e w a l l d ;   t h e n 
 
                                 #   U s i n g   b o t h   p e r m a n e n t   a n d   n o t   p e r m a n e n t   r u l e s   t o   a v o i d   a   f i r e w a l l d 
 
                                 #   r e l o a d . 
 
                                 #   W e   d o n ' t   u s e   - - a d d - s e r v i c e = o p e n v p n   b e c a u s e   t h a t   w o u l d   o n l y   w o r k   w i t h 
 
                                 #   t h e   d e f a u l t   p o r t   a n d   p r o t o c o l . 
 
                                 f i r e w a l l - c m d   - - a d d - p o r t = $ P O R T / $ P R O T O C O L 
 
                                 f i r e w a l l - c m d   - - z o n e = t r u s t e d   - - a d d - s o u r c e = 1 0 . 8 . 0 . 0 / 2 4 
 
                                 f i r e w a l l - c m d   - - p e r m a n e n t   - - a d d - p o r t = $ P O R T / $ P R O T O C O L 
 
                                 f i r e w a l l - c m d   - - p e r m a n e n t   - - z o n e = t r u s t e d   - - a d d - s o u r c e = 1 0 . 8 . 0 . 0 / 2 4 
 
                                 #   S e t   N A T   f o r   t h e   V P N   s u b n e t 
 
                                 f i r e w a l l - c m d   - - d i r e c t   - - a d d - r u l e   i p v 4   n a t   P O S T R O U T I N G   0   - s   1 0 . 8 . 0 . 0 / 2 4   !   - d   1 0 . 8 . 0 . 0 / 2 4   - j   S N A T   - - t o   p p p 0 
 
                                 f i r e w a l l - c m d   - - p e r m a n e n t   - - d i r e c t   - - a d d - r u l e   i p v 4   n a t   P O S T R O U T I N G   0   - s   1 0 . 8 . 0 . 0 / 2 4   !   - d   1 0 . 8 . 0 . 0 / 2 4   - j   S N A T   - - t o   p p p 0 
 
                 e l s e 
 
                                 #   C r e a t e   a   s e r v i c e   t o   s e t   u p   p e r s i s t e n t   i p t a b l e s   r u l e s 
 
                                 e c h o   " [ U n i t ] 
 
 B e f o r e = n e t w o r k . t a r g e t 
 
 [ S e r v i c e ] 
 
 T y p e = o n e s h o t 
 
 E x e c S t a r t = / s b i n / i p t a b l e s   - t   n a t   - A   P O S T R O U T I N G   - s   1 0 . 8 . 0 . 0 / 2 4   !   - d   1 0 . 8 . 0 . 0 / 2 4   - j   S N A T   - - t o   p p p 0 
 
 E x e c S t a r t = / s b i n / i p t a b l e s   - I   I N P U T   - p   $ P R O T O C O L   - - d p o r t   $ P O R T   - j   A C C E P T 
 
 E x e c S t a r t = / s b i n / i p t a b l e s   - I   F O R W A R D   - s   1 0 . 8 . 0 . 0 / 2 4   - j   A C C E P T 
 
 E x e c S t a r t = / s b i n / i p t a b l e s   - I   F O R W A R D   - m   s t a t e   - - s t a t e   R E L A T E D , E S T A B L I S H E D   - j   A C C E P T 
 
 E x e c S t o p = / s b i n / i p t a b l e s   - t   n a t   - D   P O S T R O U T I N G   - s   1 0 . 8 . 0 . 0 / 2 4   !   - d   1 0 . 8 . 0 . 0 / 2 4   - j   S N A T   - - t o   p p p 0 
 
 E x e c S t o p = / s b i n / i p t a b l e s   - D   I N P U T   - p   $ P R O T O C O L   - - d p o r t   $ P O R T   - j   A C C E P T 
 
 E x e c S t o p = / s b i n / i p t a b l e s   - D   F O R W A R D   - s   1 0 . 8 . 0 . 0 / 2 4   - j   A C C E P T 
 
 E x e c S t o p = / s b i n / i p t a b l e s   - D   F O R W A R D   - m   s t a t e   - - s t a t e   R E L A T E D , E S T A B L I S H E D   - j   A C C E P T 
 
 R e m a i n A f t e r E x i t = y e s 
 
 [ I n s t a l l ] 
 
 W a n t e d B y = m u l t i - u s e r . t a r g e t "   >   / e t c / s y s t e m d / s y s t e m / o p e n v p n - i p t a b l e s . s e r v i c e 
 
                                 s y s t e m c t l   e n a b l e   - - n o w   o p e n v p n - i p t a b l e s . s e r v i c e 
 
                 f i 
 
                 #   I f   S E L i n u x   i s   e n a b l e d   a n d   a   c u s t o m   p o r t   w a s   s e l e c t e d ,   w e   n e e d   t h i s 
 
                 i f   s e s t a t u s   2 > / d e v / n u l l   |   g r e p   " C u r r e n t   m o d e "   |   g r e p   - q   " e n f o r c i n g "   & &   [ [   " $ P O R T "   ! =   ' 1 1 9 4 '   ] ] ;   t h e n 
 
                                 #   I n s t a l l   s e m a n a g e   i f   n o t   a l r e a d y   p r e s e n t 
 
                                 i f   !   h a s h   s e m a n a g e   2 > / d e v / n u l l ;   t h e n 
 
                                                 i f   g r e p   - q s   " C e n t O S   L i n u x   r e l e a s e   7 "   " / e t c / c e n t o s - r e l e a s e " ;   t h e n 
 
                                                                 y u m   i n s t a l l   p o l i c y c o r e u t i l s - p y t h o n   - y 
 
                                                 e l s e 
 
                                                                 y u m   i n s t a l l   p o l i c y c o r e u t i l s - p y t h o n - u t i l s   - y 
 
                                                 f i 
 
                                 f i 
 
                                 s e m a n a g e   p o r t   - a   - t   o p e n v p n _ p o r t _ t   - p   $ P R O T O C O L   $ P O R T 
 
                 f i 
 
                 #   A n d   f i n a l l y ,   e n a b l e   a n d   s t a r t   t h e   O p e n V P N   s e r v i c e 
 
                 s y s t e m c t l   e n a b l e   - - n o w   o p e n v p n - s e r v e r @ s e r v e r . s e r v i c e 
 
                 #   I f   t h e   s e r v e r   i s   b e h i n d   a   N A T ,   u s e   t h e   c o r r e c t   I P   a d d r e s s 
 
                 i f   [ [   " $ P U B L I C I P "   ! =   " "   ] ] ;   t h e n 
 
                                 I P = $ P U B L I C I P 
 
                 f i 
 
                 #   c l i e n t - c o m m o n . t x t   i s   c r e a t e d   s o   w e   h a v e   a   t e m p l a t e   t o   a d d   f u r t h e r   u s e r s   l a t e r 
 
                 e c h o   " c l i e n t 
 
 d e v   t u n 
 
 p r o t o   $ P R O T O C O L 
 
 s n d b u f   0 
 
 r c v b u f   0 
 
 r e m o t e   x 9 6 . d d n s . n e t   $ P O R T 
 
 r e s o l v - r e t r y   i n f i n i t e 
 
 n o b i n d 
 
 p e r s i s t - k e y 
 
 p e r s i s t - t u n 
 
 r e m o t e - c e r t - t l s   s e r v e r 
 
 a u t h   S H A 5 1 2 
 
 c i p h e r   A E S - 2 5 6 - C B C 
 
 s e t e n v   o p t   b l o c k - o u t s i d e - d n s 
 
 k e y - d i r e c t i o n   1 
 
 v e r b   3 "   >   / e t c / o p e n v p n / s e r v e r / c l i e n t - c o m m o n . t x t 
 
                 #   G e n e r a t e s   t h e   c u s t o m   c l i e n t . o v p n 
 
                 n e w c l i e n t   " $ C L I E N T " 
 
                 e c h o 
 
                 e c h o   " F i n i s h e d ! " 
 
                 e c h o 
 
                 e c h o   " Y o u r   c l i e n t   c o n f i g u r a t i o n   i s   a v a i l a b l e   a t : "   ~ / " $ C L I E N T . o v p n " 
 
                 e c h o   " I f   y o u   w a n t   t o   a d d   m o r e   c l i e n t s ,   y o u   s i m p l y   n e e d   t o   r u n   t h i s   s c r i p t   a g a i n ! " 
 
 f i 
 
 