29 lines
		
	
	
		
			652 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			652 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| # Make sure OpenVPN config directory exists.
 | |
| mkdir -p /config/openvpn/
 | |
| 
 | |
| cp -n /openvpn.conf /config/openvpn/
 | |
| 
 | |
| # Check if keys exist, if not, create with easy-rsa
 | |
| if [ ! -d "/config/openvpn/keys" ]; then
 | |
|     cd /usr/share/easy-rsa
 | |
|     source vars
 | |
|     ./clean-all
 | |
|     ./build-dh
 | |
|     ./pkitool --initca
 | |
|     ./pkitool --server server
 | |
|     ./pkitool client
 | |
|     openvpn --genkey --secret /config/openvpn/keys/ta.key
 | |
| fi
 | |
| 
 | |
| # Make the tun device
 | |
| mkdir -p /dev/net
 | |
| if [ ! -c /dev/net/tun ]; then
 | |
|     mknod /dev/net/tun c 10 200
 | |
| fi
 | |
| 
 | |
| iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
 | |
| 
 | |
| exec openvpn /config/openvpn/openvpn.conf
 |