CentOS 5.2上的OpenVPN服务器
因此,您的用户需要从组织外部访问Exchange和数据。 当然可以通过HTTPS和各种其他工具设置RPC来访问数据。 我只是发现OpenVPN非常好,方便可靠。
而在战斗后找到一个很好的简单的HOWTO,我把它放在一起。 这是一个快速和讨厌,但它的作品!:)
首先,确保您是root用户,并且为了防止OpenVPN不在基本存储库中,请添加rpmforge repo(您可以在其他位置找到这些步骤)。
如果您使用selinux,您将需要:
#semanage port -a -t openvpn_port_t -p tcp 1723yum install openvpn
cd /etc/openvpn/
cp -R /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/
. ../vars
chmod +rwx *
./clean-all
source ./vars
vi ../vars
(在文件的底部更改值以匹配站点。)
vi vars
(在文件的底部更改值以匹配站点。)
./build-ca
(这建立CA证书。)
source ./vars
./clean-all
./build-ca
./build-key-server server
(这建立了server.key
文件。)
vi /etc/openvpn/openvpn.conf
(对于慢线UDP速度更快,请使用下面的起点:)
port 1723 # (1194 is the default but on some APN networks this is blocked) proto tcp dev tun ca ca.crt cert server.crt key server.key dh dh1024.pem server 172.16.0.0 255.255.255.0 push "dhcp-option DNS 192.168.168.1" push "dhcp-option DNS 168.210.2.2" #push "dhcp-option WINS 192.168.1.2" push "route 192.168.168.0 255.255.255.0" ifconfig-pool-persist ipp.txt keepalive 10 120 comp-lzo user nobody group users persist-key persist-tun status openvpn-status.log verb 3 client-to-client duplicate-cn # (this means several users can use the same key)
cp keys/{ca.crt,ca.key,server.crt,server.key} /etc/openvpn/
./build-dh (builds the dh1024)
cp keys/dh1024.pem /etc/openvpn/
/etc/init.d/openvpn start
chkconfig --list | grep vpn
(确保设置为启动时启动。)
./build-key <name>
(如果您想要几个单独的客户端密钥,请重复并冲洗。)
cd keys/
zip keys.zip ca.crt ca.key <name>.crt <name>.csr <name>.key
yum install -y nail
nail -s “Keys" -a keys.zip me@mydomain.co.za
netstat -ntpl | grep 1723
设置iptables防火墙规则以允许使用以下规则:
#VPN的外部接口
#VPN接口
VPNIF =“tun0”
VPNNET =“172.16.0.0/24”
VPNIP =“172.16.0.1”
### OpenVPN
$ IPTABLES -A INPUT -i $ EXTIF -p tcp -s $ UNIVERSE -d $ EXTIP --destination-port 1723 -j
ACCEPT#OpenVPN
$ IPTABLES -A INPUT -i $ EXTIF -p tcp -s $ UNIVERSE -d $ EXTIP --destination-port 1723 -j
ACCEPT#OpenVPN
#允许TUN接口连接到OpenVPN服务器
$ IPTABLES -A OUTPUT -o $ INTIF -s $ EXTIP -d $ VPNNET -j ACCEPT
$ IPTABLES -A OUTPUT -o $ VPNIF -s $ EXTIP -d $ VPNNET -j ACCEPT
#OpenVPN
$ IPTABLES -A FORWARD -i $ EXTIF -o $ VPNIF -m状态 - 状态ESTABLISHED,RELATED -j
接受
$ IPTABLES -A FORWARD -o $ INTIF -s $ EXTIP -d $ VPNNET -j ACCEPT
$ IPTABLES -A FORWARD -o $ VPNIF -s $ EXTIP -d $ VPNIP -j ACCEPT
$ IPTABLES -A FORWARD -o $ EXTIF -s $ EXTIP -d $ VPNNET -j ACCEPT
$ IPTABLES -A FORWARD -o $ VPNIF -s $ INTNET -d $ VPNNET -j ACCEPT
按照客户端说明从这里...
在Windows XP / Vista上安装OpenVPN GUI
一旦安装了OpenVPN服务器,并将客户端密钥提供给您进行安装,请按照以下步骤将VPN转发到客户端:
- 在这里下载客户端软件: http : //www.openvpn.se/ 。 测试版本为1.0.3。 版本2.0.9在Vista中使用以下在client.ovpn文件中:
路由方法exe路由延迟2
- 安装程序。
- 在C:\ Program Files \ OpenVPN \ config
下面放置以下内容:
ca.crt
ca.key
client.ovpn
(您可能需要稍后编辑此文件)
<name> .crt
(例如johnl.crt)
<name> .csr
<name> .key
- 编辑client.ovpn
文件,并确保以下字段匹配站点/用户:
# The hostname/IP and port of the server. # You can have multiple remote entries # to load balance between the servers. remote <myserver> 1723 ;remote my-server-2 1194 # SSL/TLS parms. # See the server config file for more # description. It's best to use # a separate .crt/.key file pair # for each client. A single ca # file can be used for all clients. ca ca.crt cert <name>.crt key <name>.key
- 启动OpenVPN和客户机应该连接。 这可以通过右键单击任务托盘中的OpenVPN,然后单击“连接”或通过开始菜单启动程序。