欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
使用OpenVPN可以在Linux下,三步快速搭建一个VPN服务器。
1. 安装服务端程序
2. 配置服务端
3. 安装客户端
一。安装服务端软件
下载lzo和openvpn:
根据需要,下载需要的版本。我使用了lzo-1.08.tar.gz 和 openvpn-2.0.tar.gz.分别进行解压和安装:
# ./configure
# make && make install
二。配置服务端
1. 生成证书
使用openvpn安装包中的easy-rsa生成相应的服务端和客户端证书。
根据需要,编辑easy-rsa目录中的vars文件:
export D=”`pwd`”
export KEY_CONFIG=”$D/openssl.cnf”
export KEY_DIR=”$D/keys”
export KEY_COUNTRY=”CN”
export KEY_PROVINCE=”SH”
export KEY_CITY=”PD”
export KEY_ORG=”test”
export KEY_EMAIL=”xx@xx.com”
# source vars
source与shell命令的不同在于,source会在当前shell下执行指定的命令。
执行完成后,查看一下环境变量,确保赋值成功。
第一次安装时,可以运行。/clean-all,会清除所有已生成的证书密钥。
生成服务端证书:
# ./build-ca
根据提示填入相应信息。
2. 生成密钥
生成服务端密钥:
# ./build-key-server server-name
根据提示填入相应信息。
生成客户端密钥:
# ./build-key client-name
每个客户端的Common Name(client name)必须不一样。同理可以生成其他的客户端密钥。
3. 生成Diffie Hellman参数
# ./build-dh
4. 将 keys 下的所有文件打包下载到本地
5. 创建、配置服务端配置文件
/etc/openvpn/server.conf
dev tun
ifconfig 10.8.0.1 10.8.0.2
ca xx/ca.crt #指向生成的服务端证书
cert xx/server.crt #指向生成的服务器证书
key xx/server.key #指向生成的服务器密钥
dh xx/dh1024.pem #指向相应目录下的文件
user nobody ;降低执行权限
group nobody
port 3389 ;改端口
comp-lzo ;开启压缩加速
;no-log ;关闭日志
verb 0
status /dev/null
log /dev/null
log-append /dev/null
6. 开启Linux服务器的路由功能,并配置iptables
在/etc/sysctl.conf中添加
net.ipv4.ip_forward = 1
# sysctl ?p
# iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE
# /etc/init.d/iptables save
[1][2]
人情似纸张张薄,世事如棋局局新。