четверг, 12 декабря 2013 г.

OpenVPN (inner)






root@openvpn:/etc/openvpn# aptitude install openvpn


root@openvpn:/etc/openvpn# iptables --list
Chain INPUT (policy DROP)                
target     prot opt source               destination        
ACCEPT     tcp  --  172.16.0.0/16        anywhere            tcp dpt:ssh
ACCEPT     udp  --  172.16.0.0/16        anywhere            udp dpt:openvpn
ACCEPT     icmp --  10.8.0.0/24          anywhere                           
ACCEPT     icmp --  172.16.0.0/16        anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  10.8.0.0/24          anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
LOG        all  --  anywhere             anywhere            limit: avg 3/min burst 3 LOG level debug prefix `IPT FORWARD packet died: '

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  localhost            172.16.0.0/16
ACCEPT     all  --  172.16.0.126         172.16.0.0/16
ACCEPT     icmp --  10.8.0.1             10.8.0.0/24
ACCEPT     icmp --  172.16.0.126         172.16.0.0/16

Chain allowed (0 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN
ACCEPT     tcp  --  anywhere             anywhere            state RELATED,ESTABLISHED
DROP       tcp  --  anywhere             anywhere

Chain bad_tcp_packets (0 references)
target     prot opt source               destination
REJECT     tcp  --  anywhere             anywhere            tcp flags:SYN,ACK/SYN,ACK state NEW reject-with tcp-reset
LOG        tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN state NEW LOG level warning prefix `New not syn:'
DROP       tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN state NEW


root@openvpn:/etc/openvpn# iptables --list-rules
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
-N allowed
-N bad_tcp_packets
-A INPUT -s 172.16.0.0/16 -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -i eth1 -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -s 10.8.0.0/24 -i tun0 -p icmp -j ACCEPT
-A INPUT -s 172.16.0.0/16 -i eth1 -p icmp -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7
-A OUTPUT -s 127.0.0.1/32 -d 172.16.0.0/16 -j ACCEPT
-A OUTPUT -s 172.16.0.126/32 -d 172.16.0.0/16 -j ACCEPT
-A OUTPUT -s 10.8.0.1/32 -d 10.8.0.0/24 -p icmp -j ACCEPT
-A OUTPUT -s 172.16.0.126/32 -d 172.16.0.0/16 -p icmp -j ACCEPT
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn:"
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP


root@openvpn:/etc/openvpn# cat iptables.sh
#!/bin/sh                                
#                                        
# rc.firewall - Initial SIMPLE IP Firewall script for Linux 2.4.x and iptables
#                                                                            
# Copyright (C) 2001  Oskar Andreasson <bluefluxATkoffeinDOTnet>       
#                                                                            
# This program is free software; you can redistribute it and/or modify       
# it under the terms of the GNU General Public License as published by       
# the Free Software Foundation; version 2 of the License.                    
#                                                                            
# This program is distributed in the hope that it will be useful,            
# but WITHOUT ANY WARRANTY; without even the implied warranty of             
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              
# GNU General Public License for more details.                               
#                                                                            
# You should have received a copy of the GNU General Public License          
# along with this program or from the site that you downloaded it            
# from; if not, write to the Free Software Foundation, Inc., 59 Temple       
# Place, Suite 330, Boston, MA  02111-1307   USA                             
#                                                                            

###########################################################################
#                                                                         
# 1. Configuration options.                                               
#                                                                         

#
# 1.1 Internet Configuration.
#                           

#
# 1.1.1 DHCP
#          

#
# 1.1.2 PPPoE
#           

#
# 1.2 Local Area Network configuration.
#                                     
# your LAN's IP range and localhost IP. /24 means to only use the first 24
# bits of the 32 bit IP address. the same as netmask 255.255.255.0       
#                                                                        

VPN_IP="10.8.0.1"
VPN_IP_RANGE="10.8.0.0/24"
VPN_IFACE="tun0"         

CHG_IP="172.16.0.126"
CHG_IP_RANGE="172.16.0.0/16"
CHG_IFACE="eth1"           

#
# 1.3 DMZ Configuration.
#                      

#
# 1.4 Localhost Configuration.
#                            

LO_IFACE="lo"
LO_IP="127.0.0.1"

#
# 1.5 IPTables Configuration.
#                           

IPTABLES="/sbin/iptables"

#
# 1.6 Other Configuration.
#                        

###########################################################################
#                                                                         
# 2. Module loading.                                                      
#                                                                         

#
# Needed to initially load modules
#                                

/sbin/depmod -a

#
# 2.1 Required modules
#                    

/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat  
/sbin/modprobe ipt_LOG      
/sbin/modprobe ipt_limit    
/sbin/modprobe ipt_state    

#
# 2.2 Non-Required modules
#                        

#/sbin/modprobe ipt_owner
#/sbin/modprobe ipt_REJECT
#/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp      
#/sbin/modprobe ip_nat_irc     

###########################################################################
#                                                                         
# 3. /proc set up.                                                        
#                                                                         

#
# 3.1 Required proc configuration
#                               

echo "1" > /proc/sys/net/ipv4/ip_forward

#
# 3.2 Non-Required proc configuration
#                                   

#echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
#echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr       

###########################################################################
#                                                                         
# 4. rules set up.                                                        
#                                                                         

######
# 4.1 Filter table
#                

#
# 4.1.1 Set policies
#                  

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#
# 4.1.2 Create userspecified chains
#                                 

#
# Create chain for bad tcp packets
#                                

$IPTABLES -N bad_tcp_packets

#
# Create separate chains for ICMP, TCP and UDP to traverse
#                                                        

$IPTABLES -N allowed
#$IPTABLES -N tcp_packets
#$IPTABLES -N udp_packets
#$IPTABLES -N icmp_packets

#
# 4.1.3 Create content in userspecified chains
#                                            

#
# bad_tcp_packets chain
#                     

$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset          
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix "New not syn:"                                             
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

#
# allowed chain
#             

$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP                                      

#
# TCP rules
#         

#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed

#
# UDP ports
#         

#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 53 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 123 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 2074 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 4000 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 1194 -j ACCEPT

#
# In Microsoft Networks you will be swamped by broadcasts. These lines
# will prevent them from showing up in the logs.                      
#                                                                     

#$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d $INET_BROADCAST \
#--destination-port 135:139 -j DROP                                

#
# If we get DHCP requests from the Outside of our network, our logs will
# be swamped as well. This rule will block them from getting logged.    
#                                                                       

#$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d 255.255.255.255 \
#--destination-port 67:68 -j DROP                                  

#
# ICMP rules
#          

#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

#
# 4.1.4 INPUT chain
#                 

#
# Bad TCP packets we don't want.
#                              

#$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

#
# Rules for special networks not part of the Internet
#                                                   

$IPTABLES -A INPUT -p TCP --dport 22 -i $CHG_IFACE -s $CHG_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p UDP --dport 1194 -i $CHG_IFACE -s $CHG_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ICMP -i $VPN_IFACE -s $VPN_IP_RANGE -j ACCEPT           
$IPTABLES -A INPUT -p ICMP -i $CHG_IFACE -s $CHG_IP_RANGE -j ACCEPT           
#$IPTABLES -A INPUT -i $VPN_IFACE -s $VPN_IP_RANGE -j ACCEPT                  
#$IPTABLES -A INPUT -i $CHG_IFACE -s $CHG_IP_RANGE -j ACCEPT                  

#
# Special rule for DHCP requests from LAN, which are not caught properly
# otherwise.                                                           
#                                                                      

#$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT

#
# Rules for incoming packets from the internet.
#                                             

#$IPTABLES -A INPUT -p ALL -d $OUTER_IP -m state --state ESTABLISHED,RELATED \
#-j ACCEPT                                                                   
#$IPTABLES -A INPUT -p TCP -i $OUTER_IFACE -j tcp_packets                    
#$IPTABLES -A INPUT -p UDP -i $OUTER_IFACE -j udp_packets                    
#$IPTABLES -A INPUT -p ICMP -i $OUTER_IFACE -j icmp_packets                  

#
# If you have a Microsoft Network on the outside of your firewall, you may
# also get flooded by Multicasts. We drop them so we do not get flooded by
# logs                                                                    
#                                                                         

#$IPTABLES -A INPUT -i $INET_IFACE -d 224.0.0.0/8 -j DROP

#
# Log weird packets that don't match the above.
#                                             

#$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
#--log-level DEBUG --log-prefix "IPT INPUT packet died: "            

#
# 4.1.5 FORWARD chain
#                   

#
# Bad TCP packets we don't want
#                             

#$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

#
# Accept the packets we actually want to forward
#                                              

#$IPTABLES -A FORWARD -i $VPN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -s $VPN_IP_RANGE -j ACCEPT


$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#$IPTABLES -A FORWARD -j ACCEPT                                   

#
# Log weird packets that don't match the above.
#                                             

$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT FORWARD packet died: "            

#
# 4.1.6 OUTPUT chain
#                  

#
# Bad TCP packets we don't want.
#                              

#$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

#
# Special OUTPUT rules to decide which IP's to allow.
#                                                   

#$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
#$IPTABLES -A OUTPUT -p ALL -s $VPN_IP -j ACCEPT
#$IPTABLES -A OUTPUT -p ALL -s $CHG_IP -j ACCEPT
#$IPTABLES -A OUTPUT -p ALL -s $OUTER_IP -j ACCEPT

$IPTABLES -A OUTPUT -p ALL -s $LO_IP -d $CHG_IP_RANGE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $CHG_IP -d $CHG_IP_RANGE -j ACCEPT
$IPTABLES -A OUTPUT -p ICMP -s $VPN_IP -d $VPN_IP_RANGE -j ACCEPT
$IPTABLES -A OUTPUT -p ICMP -s $CHG_IP -d $CHG_IP_RANGE -j ACCEPT

#$IPTABLES -A OUTPUT -p ALL -s $LO_IP -d $CHG_IP_RANGE -j ACCEPT
#$IPTABLES -A OUTPUT -p ALL -s $VPN_IP -d $VPN_IP_RANGE -j ACCEPT



#
# Log weird packets that don't match the above.
#                                             

#$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
#--log-level DEBUG --log-prefix "IPT OUTPUT packet died: "            

######
# 4.2 nat table
#             

#
# 4.2.1 Set policies
#                  

#
# 4.2.2 Create user specified chains
#                                  

#
# 4.2.3 Create content in user specified chains
#                                             

#
# 4.2.4 PREROUTING chain
#                      

#
# 4.2.5 POSTROUTING chain
#                       

#
# Enable simple IP Forwarding and Network Address Translation
#                                                           

#$IPTABLES -t nat -A POSTROUTING -d $VPN_IP_RANGE -j SNAT --to-source $CHG_IP
#$IPTABLES -t nat -A POSTROUTING -o $VPN_IFACE -j SNAT --to-source $CHG_IP  
$IPTABLES -t nat -A POSTROUTING -s $VPN_IP_RANGE -j SNAT --to-source $CHG_IP

#
# 4.2.6 OUTPUT chain
#                  

######
# 4.3 mangle table
#                

#
# 4.3.1 Set policies
#                  

#
# 4.3.2 Create user specified chains
#

#
# 4.3.3 Create content in user specified chains
#

#
# 4.3.4 PREROUTING chain
#

#
# 4.3.5 INPUT chain
#

#
# 4.3.6 FORWARD chain
#

#
# 4.3.7 OUTPUT chain
#

#
# 4.3.8 POSTROUTING chain
#





root@openvpn:/etc/openvpn# cat server.conf
#################################################
# Sample OpenVPN 2.0 config file for            #
# multi-client server.                          #
#                                               #
# This file is for the server side              #
# of a many-clients <-> one-server              #
# OpenVPN configuration.                        #
#                                               #
# OpenVPN also supports                         #
# single-machine <-> single-machine             #
# configurations (See the Examples page         #
# on the web site for more info).               #
#                                               #
# This config should work on Windows            #
# or Linux/BSD systems.  Remember on            #
# Windows to quote pathnames and use            #
# double backslashes, e.g.:                     #
# "C:\\Program Files\\OpenVPN\\config\\foo.key" #
#                                               #
# Comments are preceded with '#' or ';'         #
#################################################

# Which local IP address should OpenVPN
# listen on? (optional)               
;local a.b.c.d                        

# Which TCP/UDP port should OpenVPN listen on?
# If you want to run multiple OpenVPN instances
# on the same machine, use a different port   
# number for each one.  You will need to      
# open up this port on your firewall.         
port 1194                                     

# TCP or UDP server?
;proto tcp         
proto udp          

# "dev tun" will create a routed IP tunnel,
# "dev tap" will create an ethernet tunnel.
# Use "dev tap0" if you are ethernet bridging
# and have precreated a tap0 virtual interface
# and bridged it with your ethernet interface.
# If you want to control access policies     
# over the VPN, you must create firewall     
# rules for the the TUN/TAP interface.       
# On non-Windows systems, you can give       
# an explicit unit number, such as tun0.     
# On Windows, use "dev-node" for this.       
# On most systems, the VPN will not function 
# unless you partially or fully disable      
# the firewall for the TUN/TAP interface.    
;dev tap                                     
dev tun                                      

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel if you
# have more than one.  On XP SP2 or higher,
# you may need to selectively disable the 
# Windows firewall for the TAP adapter.   
# Non-Windows systems usually don't need this.
;dev-node MyTap                              

# SSL/TLS root certificate (ca), certificate
# (cert), and private key (key).  Each client
# and the server must have their own cert and
# key file.  The server and all clients will
# use the same ca file.                     
#                                           
# See the "easy-rsa" directory for a series 
# of scripts for generating RSA certificates
# and private keys.  Remember to use        
# a unique Common Name for the server       
# and each of the client certificates.      
#                                           
# Any X509 key management system can be used.
# OpenVPN can also use a PKCS #12 formatted key file
# (see "pkcs12" directive in man page).            
ca /etc/openvpn/easy-rsa/keys/ca.crt               
cert /etc/openvpn/easy-rsa/keys/server.crt         
key /etc/openvpn/easy-rsa/keys/server.key  # This file should be kept secret

# Diffie hellman parameters.
# Generate your own with:  
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys.                          
dh /etc/openvpn/easy-rsa/keys/dh1024.pem  

# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.  
# The server will take 10.8.0.1 for itself,   
# the rest will be made available to clients. 
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
server 10.8.0.0 255.255.255.0                      

# Maintain a record of client <-> virtual IP address
# associations in this file.  If OpenVPN goes down or
# is restarted, reconnecting clients can be assigned
# the same virtual IP address from the pool that was
# previously assigned.                              
ifconfig-pool-persist ipp.txt                       

# Configure server mode for ethernet bridging.
# You must first use your OS's bridging capability
# to bridge the TAP interface with the ethernet  
# NIC interface.  Then you must manually set the 
# IP/netmask on the bridge interface, here we    
# assume 10.8.0.4/255.255.255.0.  Finally we     
# must set aside an IP range in this subnet      
# (start=10.8.0.50 end=10.8.0.100) to allocate   
# to connecting clients.  Leave this line commented
# out unless you are ethernet bridging.           
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

# Push routes to the client to allow it
# to reach other private subnets behind
# the server.  Remember that these    
# private subnets will also need      
# to know to route the OpenVPN client 
# address pool (10.8.0.0/255.255.255.0)
# back to the OpenVPN server.         
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
#push "route 172.16.0.0 255.255.0.0"   

# To assign specific IP addresses to specific
# clients or if a connecting client has a private
# subnet behind it that should also have VPN access,
# use the subdirectory "ccd" for client-specific   
# configuration files (see man page for more info).

# EXAMPLE: Suppose the client
# having the certificate common name "Thelonious"
# also has a small subnet behind his connecting 
# machine, such as 192.168.40.128/255.255.255.248.
# First, uncomment out these lines:              
;client-config-dir ccd                           
;route 192.168.40.128 255.255.255.248            
# Then create a file ccd/Thelonious with this line:
#   iroute 192.168.40.128 255.255.255.248         
# This will allow Thelonious' private subnet to   
# access the VPN.  This example will only work    
# if you are routing, not bridging, i.e. you are  
# using "dev tun" and "server" directives.        

# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:             
;client-config-dir ccd                         
;route 10.9.0.0 255.255.255.252                
# Then add this line to ccd/Thelonious:        
#   ifconfig-push 10.9.0.1 10.9.0.2            

# Suppose that you want to enable different
# firewall access policies for different groups
# of clients.  There are two methods:         
# (1) Run multiple OpenVPN daemons, one for each
#     group, and firewall the TUN/TAP interface
#     for each group/daemon appropriately.     
# (2) (Advanced) Create a script to dynamically
#     modify the firewall in response to access
#     from different clients.  See man         
#     page for more info on learn-address script.
;learn-address ./script                         

# If enabled, this directive will configure
# all clients to redirect their default   
# network gateway through the VPN, causing
# all IP traffic such as web browsing and 
# and DNS lookups to go through the VPN   
# (The OpenVPN server machine may need to NAT
# the TUN/TAP interface to the internet in  
# order for this to work properly).         
# CAVEAT: May break client's network config if
# client's local DHCP server packets get routed
# through the tunnel.  Solution: make sure    
# client's local DHCP server is reachable via 
# a more specific route than the default route
# of 0.0.0.0/0.0.0.0.                         
;push "redirect-gateway"                      
push "redirect-gateway"                       

# Certain Windows-specific network settings
# can be pushed to clients, such as DNS   
# or WINS server addresses.  CAVEAT:      
# http://openvpn.net/faq.html#dhcpcaveats 
;push "dhcp-option DNS 10.8.0.1"          
;push "dhcp-option WINS 10.8.0.1"         
push "dhcp-option DNS 172.16.0.10"        
push "dhcp-option DNS 70.84.161.11"       
push "dhcp-option DNS 195.54.1.2"         

# Uncomment this directive to allow different
# clients to be able to "see" each other.   
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.                 
;client-to-client                             

# Uncomment this directive if multiple clients
# might connect with the same certificate/key
# files or common names.  This is recommended
# only for testing purposes.  For production use,
# each client should have its own certificate/key
# pair.                                         
#                                               
# IF YOU HAVE NOT GENERATED INDIVIDUAL          
# CERTIFICATE/KEY PAIRS FOR EACH CLIENT,        
# EACH HAVING ITS OWN UNIQUE "COMMON NAME",     
# UNCOMMENT THIS LINE OUT.                      
duplicate-cn                                    

# The keepalive directive causes ping-like
# messages to be sent back and forth over
# the link so that each side knows when  
# the other side has gone down.          
# Ping every 10 seconds, assume that remote
# peer is down if no ping received during 
# a 120 second time period.               
keepalive 10 120                          

# For extra security beyond that provided
# by SSL/TLS, create an "HMAC firewall" 
# to help block DoS attacks and UDP port flooding.
#                                                
# Generate with:                                 
#   openvpn --genkey --secret ta.key             
#                                                
# The server and each client must have           
# a copy of this key.                            
# The second parameter should be '0'             
# on the server and '1' on the clients.          
;tls-auth ta.key 0 # This file is secret         

# Select a cryptographic cipher.
# This config item must be copied to
# the client config file as well.  
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES              
;cipher DES-EDE3-CBC  # Triple-DES       

# Enable compression on the VPN link.
# If you enable it here, you must also
# enable it in the client config file.
comp-lzo                             

# The maximum number of concurrently connected
# clients we want to allow.                  
;max-clients 100                             

# It's a good idea to reduce the OpenVPN
# daemon's privileges after initialization.
#                                         
# You can uncomment this out on           
# non-Windows systems.                    
;user nobody                              
;group nobody                             

# The persist options will try to avoid
# accessing certain resources on restart
# that may no longer be accessible because
# of the privilege downgrade.            
persist-key                              
persist-tun                              

# Output a short status file showing
# current connections, truncated   
# and rewritten every minute.
status openvpn-status.log

# By default, log messages will go to the syslog (or
# on Windows, if running as a service, they will go to
# the "\Program Files\OpenVPN\log" directory).
# Use log or log-append to override this default.
# "log" will truncate the log file on OpenVPN startup,
# while "log-append" will append to it.  Use one
# or the other (but not both).
;log         openvpn.log
;log-append  openvpn.log
#log         /var/log/openvpn.log

# Set the appropriate level of log
# file verbosity.
#
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 3

# Silence repeating messages.  At most 20
# sequential messages of the same message
# category will be output to the log.

Комментариев нет:

Отправить комментарий