2011年11月28日星期一

Amazon EC2 配置 OpenVPN


Amazon EC2 配置 OpenVPN


前两天在Amazon上购买了一款Type: t1.micro的Linux VPS,实践了下配置OpenVPN和SSH代理。OpenVPN尝试记录如下:
首先联系你的VPS服务商让他把TUN/TAP功能打开,默认大部分都是关闭的,你可以用以下命令检测:
cat /dev/net/tun
若返回以下结果表示OK
cat: /dev/net/tun: File descriptor in bad state

安装openvpn

1、添加源
2、安装
yum -y install openvpn
3、将easy-rsa移动到一个方便操作的位置。
cp -R /usr/share/openvpn/easy-rsa /etc/openvpn/
4、进入目录
cd /etc/openvpn/easy-rsa/2.0

生成证书

1、证书国别、名字之类的个人感觉不修改也没什么问题,如要修改运行
vi vars
2、运行以下命令
 ./clean-all
 source ./vars                    #使设置生效
./build-ca server                #创建证书颁发机构CA,一路回车
./build-key-server server  #生成服务器证书,一路回车,最后两个y
./build-key bsk                  #生成名为bsk的客户证书,一路回车,最后两个y
./build-dh                           #生成Diffie Hellman参数

编辑openvpn配置文件

cd /etc/openvpn/
vi server.conf
输入以下内容
port 443
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 192.168.0.0 255.255.255.0
push  "redirect-gateway def1″
push  "dhcp-option DNS 8.8.8.8″
push  "dhcp-option DNS 8.8.4.4″
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

配置端口转发

vi /etc/sysctl.conf
将net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1,将net.ipv4.tcp_syncookies = 1改为#net.ipv4.tcp_syncookies = 1保存,执行sysctl -p使之生效。
输入
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 1.2.3.4      #1.2.3.4为你的vps IP
/etc/init.d/iptables save              #保存iptables设置
/etc/init.d/iptables restart            #重启iptables

添加开机启动

vi /etc/rc.local
添加一行
/usr/sbin/openvpn –config /etc/openvpn/server.conf

启动openvpn

openvpn –config /etc/openvpn/server.conf
至此服务端配置完毕。

在windows使用openvpn

1、下载安装openvpn
2、在服务器  /etc/openvpn/easy-rsa/2.0/keys/ 文件夹中用sftp(建议wsftpd 的FTP server程序)类软件下载ca.crt、bsk.crt和bsk.key这三个文件放在openvpn客户端安装路径下得config文件夹中。
3、在config下新建一个名字为“bsk.ovpn”的文本文件
client
dev tun
proto tcp
remote 1.2.3.4 443   # 1.2.3.4 为EC2 的Public DNS, 不能用内部IP。
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert bsk.crt
key bsk.key
ns-cert-type server
comp-lzo
verb 3
4、运行 OpenVPN GUI,然后connect。
PS:如果windows的openvpn可以连接到服务端但是所有网页都打不开可能是iptables没有设置好,请重新配置端口转发。
PPS:添加新用户只需运行如下两条命令即可
 source ./vars
./build-key bsk
千万不要运行./clean-all ,否则会将以前生成的证书删除。

1 条评论:

  1. 源http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm是不是没有了?

    回复删除