Debian 5 安装 OpenVPN

2012年2月21日 | 分类: 技术交流 | 标签: , ,

折腾了很久才真正在VPS上搞定了OpenVPN的安装,记录一下

首先确认你的VPS上TUN/TAP功能是否打开,大部分都是默认关闭的
可以用以下命令检测:

1
cat /dev/net/tun

若返回以下结果表示OK

1
cat: /dev/net/tun: File descriptor in bad state

如果不是返回上述结果,请联系你的服务商打开TUN/TAP功能即可

1、安装

1
aptitude install openvpn

2、准备工作

1
2
3
4
5
6
7
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn
 
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
 
cd /etc/openvpn
 
gzip -d server.conf.gz

3、初始化

1
2
3
4
5
6
7
cd easy-rsa/2.0
 
source vars
 
./clean-all
 
./build-ca // 这里会问你很多问题,都回车默认就行了

4、生成服务器证书和密钥

1
./build-key-server server

5、生成客户端证书和密钥

1
./build-key client

6、创建 Diffie Hellman

1
./build-dh


7、编辑服务器端配置文件

1
vi /etc/openvpn/server.conf

配置文件中需要修改的关键部分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
;local a.b.c.d
local YOUR.IP.ADDRESS  // 这行是服务器的外网 IP 地址
 
port 1194 // 端口,客户端配置文件和服务器保持一致就行了,想玩狠一点就放在 53 上
 
;proto tcp
proto udp // 这两个二选一,默认是 udp,同样客户端和服务器端保持一致,但是我用 tcp 的时候非常慢,所以推荐使用 udp
 
;dev tap
dev tun // 使用默认 tun (tunnel)模式
 
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  # This file should be kept secret
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem // 证书和 dh 文件的位置
 
server 10.8.0.0 255.255.255.0 // 给客户端分配的 IP 段,千万不要和现有网段冲突
 
push "redirect-gateway def1 bypass-dhcp" // 把 openvpn 服务器作为网关
 
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4" // 推送 Google DNS 服务器到客户端
 
;duplicate-cn  // 每个用户只允许一个链接
 
;max-clients 100 // 最多客户端数
 
;user nobody
;group nogroup // 启动所用用户组
 
log         openvpn.log
;log-append  openvpn.log // 单独的日志,会出现在 /etc/openvpn ,第二种是追加模式

8、修改包转发设置

1
2
3
4
5
6
7
8
9
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
 
vi /etc/sysctl.conf
修改 net.ipv4.ip_forward = 1
sysctl -p

9、启用包转发

1
iptables --table nat --append POSTROUTING --jump MASQUERADE

10、编辑客户端配置文件

1
2
3
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~
 
vi ~/client.conf

proto 等内容需要和 server.conf 保持一致,需要修改的部分:

1
2
3
4
remote SERVER.IP.ADDRESS 1194  // IP 和 端口按照服务器实际情况填写
ca ca.crt
cert client.crt
key client.key //后面两个要根据实际证书文件名修改

11、下载证书和配置文件(将服务器上如下四个文件下载到本地,放到某个文件夹中)

1
2
3
4
/etc/openvpn/easy-rsa/2.0/keys/ca.crt
/etc/openvpn/easy-rsa/2.0/keys/client.crt
/etc/openvpn/easy-rsa/2.0/keys/client.key
~/client.conf

12、启动 openvpn 并检查

1
/etc/init.d/openvpn start

如果在这里出现错误请仔细检查前面几步是否有出现差错…

目前还没有任何评论.


使用新浪微博登陆