User Tools

Site Tools


network-service:setup-openvpn

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
network-service:setup-openvpn [2010/05/20 20:55] percynetwork-service:setup-openvpn [2016/05/05 13:07] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== 配置OpenVPN注意事项 ====== ====== 配置OpenVPN注意事项 ======
 +
 +
  
 最近台北给了一台装好Ubuntu的服务器,在上面正好可以配置OpenVPN服务器。 最近台北给了一台装好Ubuntu的服务器,在上面正好可以配置OpenVPN服务器。
 +
 +
  
 由于之前已经有过一次在VPS上配置的经验,所以整个过程还算顺利. 由于之前已经有过一次在VPS上配置的经验,所以整个过程还算顺利.
  
-其中也就添加了两行+ 
 + 
 +主要参考了这个教程:[[http://forum.ubuntu.org.cn/viewtopic.php?f=166&t=262036|在 VPS创建open vpn指南]] 
 + 
 + 
 + 
 +其中server.conf也就添加了两行 
   push "redirect-gateway def1"      push "redirect-gateway def1"   
 +
   push "dhcp-option DNS 8.8.8.8"   push "dhcp-option DNS 8.8.8.8"
 +
 这里配置时出现了一点小的差错,由于我之前手动输入的gateway写成了gatway,所以导致我可以连上VPN,但却不能通过VPN上网。   这里配置时出现了一点小的差错,由于我之前手动输入的gateway写成了gatway,所以导致我可以连上VPN,但却不能通过VPN上网。  
 +
 +
  
 ===== 配置文件 ===== ===== 配置文件 =====
 +
 +
  
 最后的配置文件: 最后的配置文件:
  
-  cat /etc/openvpn/server.conf |grep -v -E "^#|^;"+  cat  /etc/openvpn/server.conf |grep -v -E "^#|^;|^$" 
      
 +
 <code> <code>
 +
 port 1194 port 1194
 +
 proto udp proto udp
 +
 dev tun dev tun
 +
 ca ca.crt ca ca.crt
 +
 cert server.crt cert server.crt
 +
 key server.key  # This file should be kept secret key server.key  # This file should be kept secret
 +
 dh dh1024.pem dh dh1024.pem
 +
 server 10.8.0.0 255.255.255.0 server 10.8.0.0 255.255.255.0
 +
 ifconfig-pool-persist ipp.txt ifconfig-pool-persist ipp.txt
 +
 keepalive 10 120 keepalive 10 120
 +
 comp-lzo comp-lzo
 +
 persist-key persist-key
 +
 persist-tun persist-tun
 +
 status openvpn-status.log status openvpn-status.log
 +
 log-append  openvpn.log log-append  openvpn.log
 +
 verb 3 verb 3
 +
 mute 20 mute 20
 +
 +
  
 push "redirect-gateway def1"    push "redirect-gateway def1"   
 +
 push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.8.8"
 +
 +
  
 </code>   </code>  
 +
 +
  
 ===== 设置数据转发 ===== ===== 设置数据转发 =====
 +
 +
  
 还有配置好后,要设置后数据转发: 还有配置好后,要设置后数据转发:
 +
 +
  
   sudo sysctl -w net.ipv4.ip_forward=1   sudo sysctl -w net.ipv4.ip_forward=1
 +
   sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE   sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
      
 + ===== 设置数据转发2 =====
 +使用上面的命令,有可能会失败:
 +  root@impjq:~/bin# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
 +  iptables: No chain/target/match by that name.
 +后来找到一个新的命令:
 +  iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 216.24.xxx.xxx
 +然后在pptp遭到大屠杀之后,OpenVPN依然活着
 +
 +  
 +
 最后重启OpenVPN 最后重启OpenVPN
 +
   sudo /etc/init.d/openvpn restart   sudo /etc/init.d/openvpn restart
 +
      
 +
 ===== 自动生成证书脚本 ===== ===== 自动生成证书脚本 =====
  
-另外如果要为一个人新增证书的话,可以直接使用我之前写好�%+ 
 + 
 +另外如果要为一个人新增证书的话,可以直接使用我之前写好脚本[[network-service:create-openvpn-keys|一个自动生成OpenVPN证书的脚本]],同时要将客户端配置文件client.conf放到2.0/keys目录下面,这样生成的证书目录里面就会直接拷贝好这个文件了。 
 + 
 + 
 + 
 +配置文件只要修改服务器IP地址,端口,连接方式(tcp/udp). 
 + 
 + 
 + 
 +如果服务器更改了端口或连接方式,客户端也要做同样的修改 
 + 
 + 
 + 
 +  qttproxy-server:~/openvpn/2.0/keys$ cat client.conf |grep -v -E "^#|^;|^$" 
 + 
 +   
 + 
 +===== 客户端配置文件client.conf ===== 
 + 
 + 
 + 
 +<file client.conf> 
 + 
 +client 
 + 
 +dev tun 
 + 
 +proto udp 
 + 
 +remote 61.219.200.134 1194 
 + 
 +resolv-retry infinite 
 + 
 +nobind 
 + 
 +persist-key 
 + 
 +persist-tun 
 + 
 +ca ca.crt 
 + 
 +cert client.crt 
 + 
 +key client.key 
 + 
 +ns-cert-type server 
 + 
 +comp-lzo 
 + 
 +verb 3 
 + 
 +</file> 
 + 
 +===== Start VPN setting ===== 
 +<code Bash> 
 +root@pjq:~/openvpn# cat start.sh  
 +#!/bin/sh 
 + 
 +sudo sysctl -w net.ipv4.ip_forward=1 
 +iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 216.24.xxx.xx 
 +</code> 
/var/www/dokuwiki/wiki/data/attic/network-service/setup-openvpn.1274360130.txt.gz · Last modified: 2016/05/05 13:06 (external edit)