aquaballoon

OpenVPN

Jun 22nd, 2011
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.53 KB | None | 0 0
  1. http://library.linode.com/networking/openvpn/ubuntu-10.04-lucid
  2.  
  3. ## Installing
  4.  
  5. $ sudo apt-get install openvpn udev network-manager-openvpn -y
  6.  
  7. $ cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn
  8.  
  9.  
  10. ## Configure Public Key Infrastructure Variables
  11.  
  12. $ sudo gedit /etc/openvpn/easy-rsa/vars
  13. export KEY_COUNTRY="MNG"
  14. export KEY_PROVINCE="UB"
  15. export KEY_CITY="Ulanbator"
  16. export KEY_ORG="aquaballoon"
  17. export KEY_EMAIL="[email protected]"
  18.  
  19.  
  20. ## Initialize the Public Key Infrastructure (PKI)
  21.  
  22. $ cd /etc/openvpn/easy-rsa/2.0/
  23. $ ./etc/openvpn/easy-rsa/2.0/vars
  24. $ ./etc/openvpn/easy-rsa/2.0/clean-all
  25. $ ./etc/openvpn/easy-rsa/2.0/build-ca
  26.  
  27.  
  28. ## Generate Certificates and Private Keys
  29.  
  30. $ ./etc/openvpn/easy-rsa/2.0/build-key-server server
  31.  
  32. $ ./etc/openvpn/easy-rsa/2.0/build-key client1
  33.  
  34.  
  35. ## Generate Diffie Hellman Parameters
  36.  
  37. $ ./etc/openvpn/easy-rsa/2.0/build-dh
  38.  
  39.  
  40. ## Relocate Secure Keys - Client1
  41.  
  42. /etc/openvpn/easy-rsa/2.0/keys/
  43.  
  44. In order to authenticate to the VPN, you will need to copy a number of certificate and key files to the remote client machines. They are:
  45.  
  46. ca.crt
  47. client1.crt
  48. client1.key
  49.  
  50.  
  51. ## Relocate Secure Keys - Server
  52.  
  53. $ cd /etc/openvpn/easy-rsa/2.0/keys
  54. $ cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn
  55.  
  56.  
  57. ## Removing a user to the VPN server
  58.  
  59. $ ./etc/openvpn/easy-rsa/2.0/vars
  60. $ ./etc/openvpn/easy-rsa/2.0/revoke-full client1
  61.  
  62.  
  63. ## Configuring server.conf file
  64.  
  65. $ cd /usr/share/doc/openvpn/examples/sample-config-files
  66. $ gunzip -d server.conf.gz
  67. $ cp server.conf /etc/openvpn/
  68. $ cd /etc/openvpn
  69.  
  70. $ gedit server.conf
  71. dev tun
  72. proto tcp
  73. port 1194
  74.  
  75. ca /etc/openvpn/easy-rsa/keys/ca.crt
  76. cert /etc/openvpn/easy-rsa/keys/server.crt
  77. key /etc/openvpn/easy-rsa/keys/server.key
  78. dh /etc/openvpn/easy-rsa/keys/dh1024.pem
  79.  
  80. user nobody
  81. group nogroup
  82.  
  83. server 10.8.0.0 255.255.255.0
  84.  
  85. persist-key
  86. persist-tun
  87.  
  88. #status openvpn-status.log
  89. #verb 3
  90.  
  91. client-to-client
  92.  
  93. push "redirect-gateway def1"
  94.  
  95. push "dhcp-option DNS 10.8.0.1"
  96.  
  97. #log-append /var/log/openvpn
  98. comp-lzo
  99.  
  100.  
  101. ## Or,configuring openvpn.conf file
  102.  
  103. $ gedit /etc/openvpn/openvpn.conf
  104. dev tun
  105. proto tcp
  106. port 1194
  107.  
  108. ca /etc/openvpn/easy-rsa/keys/ca.crt
  109. cert /etc/openvpn/easy-rsa/keys/server.crt
  110. key /etc/openvpn/easy-rsa/keys/server.key
  111. dh /etc/openvpn/easy-rsa/keys/dh1024.pem
  112.  
  113. user nobody
  114. group nogroup
  115.  
  116. server 10.8.0.0 255.255.255.0
  117.  
  118. persist-key
  119. persist-tun
  120.  
  121. #status openvpn-status.log
  122. #verb 3
  123.  
  124. client-to-client
  125.  
  126. push "redirect-gateway def1"
  127.  
  128. push "dhcp-option DNS 10.8.0.1"
  129.  
  130. #log-append /var/log/openvpn
  131. comp-lzo
  132.  
  133.  
  134. ## Configuring client.conf file
  135.  
  136. $ cd /usr/share/doc/openvpn/examples/sample-config-files
  137. $ cp client.conf /etc/openvpn/
  138. $ cd /etc/openvpn
  139.  
  140. $ gedit /etc/openvpn/client.conf
  141. ;dev tap
  142. dev tun
  143.  
  144. proto tcp
  145. ;proto udp
  146.  
  147. remote example.com 1194
  148.  
  149. ca ca.crt
  150. cert client1.crt
  151. key client1.key
  152.  
  153. /* Copy the ~/client.conf file to your client system */
  154.  
  155. $ /etc/init.d/openvpn start
  156.  
  157.  
  158. ## Tunnel All Connections
  159.  
  160. $ echo 1 > /proc/sys/net/ipv4/ip_forward
  161.  
  162. $ iptables -A INPUT -d 10.8.0.1/32 -i tun0 -j INBOUND          // 10.8.0.1 tunnel accessible
  163. $ iptables -A INPUT -d 124.158.xx.xx/32 -i tun0 -j INBOUND   // 124.158.xx.xx tunnel accessible
  164. $ iptables -A INPUT -d 192.168.2.0/24 -i tun0 -j INBOUND       // 192.168.2.0 subnet tunnel accessible
  165.  
  166. $ iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT                 // All ports available (DNS Service)
  167.  
  168. $ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  169.  
  170.  
  171. $ /etc/init.d/openvpn restart
Advertisement
Add Comment
Please, Sign In to add comment