User Tools

Site Tools


network-service:setup-openvpn

配置OpenVPN注意事项

最近台北给了一台装好Ubuntu的服务器,在上面正好可以配置OpenVPN服务器。

由于之前已经有过一次在VPS上配置的经验,所以整个过程还算顺利.

主要参考了这个教程:在 VPS创建open vpn指南

其中server.conf也就添加了两行

push "redirect-gateway def1"   
push "dhcp-option DNS 8.8.8.8"

这里配置时出现了一点小的差错,由于我之前手动输入的gateway写成了gatway,所以导致我可以连上VPN,但却不能通过VPN上网。

配置文件

最后的配置文件:

cat  /etc/openvpn/server.conf |grep -v -E "^#|^;|^$"

port 1194

proto udp

dev tun

ca ca.crt

cert server.crt

key server.key  # This file should be kept secret

dh dh1024.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

keepalive 10 120

comp-lzo

persist-key

persist-tun

status openvpn-status.log

log-append  openvpn.log

verb 3

mute 20



push "redirect-gateway def1"   

push "dhcp-option DNS 8.8.8.8"


设置数据转发

还有配置好后,要设置后数据转发:

sudo sysctl -w net.ipv4.ip_forward=1
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

sudo /etc/init.d/openvpn restart

自动生成证书脚本

另外如果要为一个人新增证书的话,可以直接使用我之前写好脚本一个自动生成OpenVPN证书的脚本,同时要将客户端配置文件client.conf放到2.0/keys目录下面,这样生成的证书目录里面就会直接拷贝好这个文件了。

配置文件只要修改服务器IP地址,端口,连接方式(tcp/udp).

如果服务器更改了端口或连接方式,客户端也要做同样的修改

qttproxy-server:~/openvpn/2.0/keys$ cat client.conf |grep -v -E "^#|^;|^$"

客户端配置文件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

Start VPN setting

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

/var/www/dokuwiki/wiki/data/pages/network-service/setup-openvpn.txt · Last modified: 2016/05/05 13:07 by 127.0.0.1