openvpn提供两种类型的虚拟网络接口:TUN和TAP,tun用于建立IP隧道,tap用于建立以太网桥,这两种模式我们也称为路由模式和网桥模式。 TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。
参考http://blog.csdn.net/guoliquan1/article/details/4851332
一、
Lzo库的编译安装:
登录http://www.oberhumer.com/opensource/lzo/download/,下载lzo-2.04.tar.gz源码包。
或者采用命令:
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz
安装lzo库:
# tar -zxvf lzo-2.04.tar.gz
# cd lzo-2.04
# ./configure –prefix=/usr/local/lzo && make && make install
二、 openvpn的配置
安装openvpn:
tar -zxvf openvpn-2.1_rc4.tar.gz cd openvpn-2.1_rc4 ./configure && make && make install cp easy-rsa/ /etc/openvpn -r cd /etc/openvpn cp /usr/src/openvpn-2.1_rc4/sample-config-files/server.conf . cd /etc/openvpn/2.0
修改配置文件
vim /etc/openvpn/server.conf ;local a.b.c.d local 113.105.249.8 port 11940 ;dev tap dev tun ca /etc/openvpn/2.0/keys/ca.crt cert /etc/openvpn/2.0/keys/server.crt key /etc/openvpn/2.0/keys/server.key dh /etc/openvpn/2.0/keys/dh1024.pem server 10.8.0.0 255.255.255.0
#配置固定IP
client-config-dir /etc/openvpn/ccd
#格式为 ifconfig-push 10.8.0.100 10.8.0.101
client-to-client
user nobody
group nobody
***变量
vim vars
export KEY_COUNTRY="CN"export KEY_PROVINCE="BeiJing"export KEY_CITY="BeiJing"export KEY_ORG="xxx"export KEY_EMAIL="[email protected]"
初始化PKI
source vars
./clean-all
※小心,一旦运行clean-all,它会删除keys下的所有证书。
./build-ca
创建服务器的证书和密钥
./build-key-server server
最后两步记得“y”
创建客户端的证书和密钥,client 作为客户端标识
./build-key client1
./build-key client2
创建Diffie Hellman 参数
Diffie Hellman 用于增强安全性,在OpenVPN是必须的:
./build-dh
修改server.conf,保证证书路径匹配
client 部分:
安装步骤与server端一致,部分调整
cp /usr/src/openvpn-2.1_rc4/sample-config-files/server.conf /etc/openvpn/client.conf remote 123.56.100.172 1194 ca /etc/openvpn/2.0/keys/ca.crt cert /etc/openvpn/2.0/keys/client2.crt key /etc/openvpn/2.0/keys/client2.key
三、验证服务
openvpn server.conf &
lsof -i:1190
nohup openvpn client.conf &