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 21:01] 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目录下面,这样生成的证书目录里面就会直接拷贝好这个文件了。 另外如果要为一个人新增证书的话,可以直接使用我之前写好脚本[[network-service:create-openvpn-keys|一个自动生成OpenVPN证书的脚本]],同时要将客户端配置文件client.conf放到2.0/keys目录下面,这样生成的证书目录里面就会直接拷贝好这个文件了。
 +
 +
  
 配置文件只要修改服务器IP地址,端口,连接方式(tcp/udp). 配置文件只要修改服务器IP地址,端口,连接方式(tcp/udp).
 +
 +
  
 如果服务器更改了端口或连接方式,客户端也要做同样的修改 如果服务器更改了端口或连接方式,客户端也要做同样的修改
 +
 +
  
   qttproxy-server:~/openvpn/2.0/keys$ cat client.conf |grep -v -E "^#|^;|^$"   qttproxy-server:~/openvpn/2.0/keys$ cat client.conf |grep -v -E "^#|^;|^$"
 +
      
 +
 ===== 客户端配置文件client.conf ===== ===== 客户端配置文件client.conf =====
 +
 +
  
 <file client.conf> <file client.conf>
 +
 client client
 +
 dev tun dev tun
 +
 proto udp proto udp
 +
 remote 61.219.200.134 1194 remote 61.219.200.134 1194
 +
 resolv-retry infinite resolv-retry infinite
 +
 nobind nobind
 +
 persist-key persist-key
 +
 persist-tun persist-tun
 +
 ca ca.crt ca ca.crt
 +
 cert client.crt cert client.crt
 +
 key client.key key client.key
 +
 ns-cert-type server ns-cert-type server
 +
 comp-lzo comp-lzo
 +
 verb 3 verb 3
 +
 </file> </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.1274360499.txt.gz · Last modified: 2016/05/05 13:06 (external edit)