本来想写一篇在Gentoo下安装OpenVPN Server的文章,可是Gentoo下还没有测试成功,所以先写一篇Ubuntu Server下安装OpenVPN Server。OpenVPN在Linux下作为Server还是Client,就看配置文件怎么写了。
Ubuntu下安装OpenVPN还是那句经典的apt-get:
sudo apt-get install openvpn
配置证书的过程稍微复杂一点,先拷贝/usr/share/doc/openvpn/examples/easy-rsa/2.0目录到/etc/openvpn目录下或者home目录里。修改目录里面的vars文件中的几个配置项:
export KEY_COUNTRY="" export KEY_PROVINCE="" export KEY_CITY="" export KEY_ORG="" export KEY_EMAIL=""
注意:KEY_COUNTRY使用2个大写字母来表示国家。
source ./vars ./clean-all ./build-ca ./build-key-server <servername> ./build-key <clientname> ./build-dh
build-ca是创建根证书,除非是打算重置全部的证书,否则第一次运行完这个命令后就不要再运行了。build-key-server和build-key的命令可以多次运行,最好是为每一个用户做一个client的key。
拷贝示例的server.conf文件到/etc/openvpn目录,进行修改:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gzip -d /etc/openvpn/server.conf.gz
server.conf文件中对每个选项都有详细的解释,根据自己需要进行修改。下面是一个删除注释的配置文件示例:
#OpenVPN的监听地址 local xxx.xxx.xxx.xxx #OpenVPN的监听端口 port 1194 #使用UDP Server proto udp #使用tun通道 dev tun #相对路径 /etc/openvpn ca ca.crt cert server.crt key server.key dh dh1024.pem #OpenVPN的子网地址 server 10.8.0.0 255.255.255.0 #客户端的Internet访问使用OpenVPN通道 push "redirect-gateway def1" #Windows客户端会使用此DNS地址 push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" #记录客户端分配的ip地址情况,如果OpenVPN服务重启, #客户端重新连接的时候会按照此文件分配原先的地址。 ifconfig-pool-persist ipp.txt #每10秒ping一次,120秒内客户端没有动作就断开连接 keepalive 10 120 #客户端之间可以互相访问 client-to-client #对OpenVPN链接进行压缩,客户端的配置文件必须同时使用 comp-lzo #OpenVPN的用户和用户组 user nobody group nobody #如果user和group的用户和用户组没有访问key的权限 #避免产生权限不足的bug persist-key persist-tun #日志文件 status openvpn-status.log #日志文件的记录级别 verb 3
OpenVPN的安装设置完成,还需要设置数据包转发:
sudo sysctl -w net.ipv4.ip_forward=1 sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
这两个命令如果不执行,OpenVPN的客户端虽然能连接成功,但不能访问Internet。iptables需要内核的支持,如果在Gentoo系统下就需要编译内核的一些选项了。
[...] 豆花 « Ubuntu Server 安装 OpenVPN Server [...]
[...] localip和remoteip和OpenVPN里面的”server 10.8.0.0 255.255.255.0″差不多,设定连接的客户端的IP段。 [...]
[...] http://www.douhua.im/2010/01/06/ubuntu-server-install-openvpn-server/ [...]
[...] This post was mentioned on Twitter by aaajiao. aaajiao said: http://drp.ly/PZXel 哎vpn [...]