Debian 搭建 OpenVPN 服务器

日期: 06 月 03日, 2014
标签:

OpenVPN 是一种安全可靠的 VPN 软件,本文中介绍了 Debian Testing 中 OpenVPN 的安装与配置过程。

安装

sudo apt-get install iptables easy-rsa openvpn

准备证书和密钥

使用easy-rsa脚本来生成密钥,首先把脚本复制到当前目录中

cp -r /usr/share/easy-rsa ./
cd easy-rsa

编辑vars,设置KEY_COUNTRY,KEY_PROVINCE, KEY_CITY,KEY_ORG和KEY_EMAIL

export KEY_COUNTRY="**"
export KEY_PROVINCE="**"
export KEY_CITY="**"
export KEY_ORG="**"
export KEY_EMAIL="**"

执行下面的命令来创建服务器需要的证书和密钥:

source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh

生成的证书、密钥保存在keys中,然后复制到/etc/openvpn/keys中:

sudo cp -r keys /etc/openvpn/

build-key脚本用于创建客户端证书和密钥:

./build-key username1
./build-key username2
...

生成的证书和密钥发送给客户。

配置服务器

复制默认配置文件为/etc/openvpn/server.conf

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gunzip /etc/openvpn/server.conf.gz

修改下面几项:

# 端口号,可自定义
port 1194
# 证书/密钥
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem

server 192.168.8.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

重新启动openvpn

sudo service openvpn restart

启用IPv4转发

sudo sysctl net.ipv4.ip_forward=1
# net0 为WAN接口
sudo iptables -t nat -I POSTROUTING -o net0 -j MASQUERADE
sudo iptables -A FORWARD -s 192.168.8.0/24 -j ACCEPT
sudo iptables -A FORWARD -d 192.168.8.0/24 -j ACCEPT

可以把这些指令添加到/etc/rc.local中以便开机自动执行。

配置客户端

客户端使用如下配置:

client
dev tun
proto udp
# 服务器的IP和端口
remote *.*.*.* 1194
resolv-retry infinite
nobind
persist-key
ping 25
ping-restart 60
# 客户端证书/密钥
ca ca.crt
cert clientname.crt
key clientname.key

ns-cert-type server
comp-lzo
verb 3
tun-mtu 1356