====== 配置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