====== 配置OpenVPN注意事项 ======
最近台北给了一台装好Ubuntu的服务器,在上面正好可以配置OpenVPN服务器。
由于之前已经有过一次在VPS上配置的经验,所以整个过程还算顺利.
主要参考了这个教程:[[http://forum.ubuntu.org.cn/viewtopic.php?f=166&t=262036|在 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
===== 自动生成证书脚本 =====
另外如果要为一个人新增证书的话,可以直接使用我之前写好脚本[[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 =====
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