Linux的openvpn

来源:互联网 发布:虚拟变量数据案例 编辑:程序博客网 时间:2024/05/17 05:03

Linux的openvpn

[日期:2009-06-01]来源:Linux社区  作者:Linux编辑

参考答案:

lsmod|grep tun

modprobe tun

rpm -ivh lzo2-2.02-2.el3.rf.i386.rpm

rpm -ivh lzo2-devel-2.02-2.el3.rf.i386.rpm

rpm -ivh openvpn-2.0.9-1.el3.rf.i386.rpm

2.1).更新rpm资料库

2.2).查看OpenVPN的所有相关文档

参考答案:

updatedb

locate openvpn

3).服务端操作:

3.1).将模版中的easy-rsa的目录链接到/etc/openvpn/的路径下

3.2).查看/etc/openvpn/easy-rsa/目录下所有文件

3.3).进入/etc/openvpn/easy-rsa/目录,更改所有脚本为可执行

3.4).执行vars脚本建立环境变量,之后执行clean-all脚本清空从前的认证

3.5).执行build-ca脚本生成根证书CA,Common Name指定为主机名,其余直接按回车,默认为vars中的设置

3.6).查看生成的根证书

3.7).执行build-dh脚本生成Diffie-Hellman参数文件(dh-pem文件),用作SSL/TLS连接

3.8).查看产生的dh-pem文件

参考答案:

服务器端:

ln -s  /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn

ll /etc/openvpn/easy-rsa/

cd /etc/openvpn/easy-rsa/

chmod 755 *

. ./vars

./clean-all---清空从前的认证

./build-ca

输入上面的命令后,会输入一长串字符,对于Country Name、State or Province Name等等参数都在vars文件中设置,可直接回车。

但Common Name (eg, your name or your server's hostname) []:必须输入你的服务器名字(你想取的任意名字)。

这里输入的是主机名(pmg)

ll keys/

./build-dh

ll keys/

4.1).生成服务器的ca证书,提示your name or your server's hostname:时,输入server,其余回答均为默认

4.2).查看生成的服务器证书文件

4.3).生成客户端的ca证书,提示your name or your server's hostname:时,输入client,其余回答均为默认

4.4).查看生成的客户端证书文件

参考答案:

./build-key-server server

your name or your server's hostname:输入的是server

ll keys/

./build-key client

注意:这里你输入的your name or your server's hostname:名,一定是client(证书名)

不能写错,否则就会出现SSL验证失败

ll keys/

5.1).为防止恶意攻击(如DOS、UDP port flooding),生成一个"HMAC firewall"

5.2).查看生成的ta文件

参考答案:

openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key

ll keys/

6.1).执行脚本make-crl生成吊销证书链文件

6.2).查看生成的吊销证书链文件

参考答案:

./make-crl vpncrl.pem

ll keys/

7.1).将模版配置文件复制到/etc/openvpn目录下

7.2).将/etc/openvpn/easy-rsa/keys目录下证书复制到/etc/openvpn

7.3).编辑/etc/openvpn/server.conf文件

7.4).监听所有本机上的网络接口(默认)

7.5).设定的监听端口,默认是1194,修改为8205

7.6).设定在传输层使用的协议,设定UDP协议(默认)

7.7).设定传输设备节点为tun(三层设备),tap为二层设备,要加入IP路由所以选择tun(默认)

7.8).设定根证书CA、服务器证书、以及服务器密钥文件的位置为/etc/openvpn/keys(默认)

7.9).设定Server端虚拟出来的VPN网段,更改为server 10.88.99.0 255.255.255.0

7.10).设定虚拟地址租约文件,用于记录某个Client获得的IP地址(默认)

7.11).设定本机的虚拟地址为10.88.99.1,子网掩码为255.255.255.0

7.12).设定接入的Client之间能够被允许互相访问

7.13).设定允许单证书多连接,Client使用的CA的Common Name有重复也可连接

7.14).设定每10秒通过ping来确定Client存活,超过120秒无反馈为失效(默认)

7.15).设定ta密钥的路径,server端后面的数字肯定使用0,client使用1

7.16).使用Lzo功能对虚拟链路进行压缩,服务端/客户端要同时开启(默认)

7.17).设定状态记录日志路径为/var/log/openvpn-status.log

7.18).设定OpenVPN的服务日志路径/var/log/openvpn.log

7.19).每次重新启动openvpn后保留原有的log信息,新信息追加到文件最后

7.20).设定OpenVPN的dubug等级,使用默认3级(默认)

7.21).保存退出

参考答案:

cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn

cp /etc/openvpn/easy-rsa/keys /etc/openvpn -a

vi /etc/openvpn/server.conf

port 8205

proto udp

dev tun

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/server.crt

key /etc/openvpn/keys/server.key

dh /etc/openvpn/keys/dh1024.pem

server 10.88.99.0 255.255.255.0

ifconfig-pool-persist ipp.txt

ifconfig 10.88.99.1 255.255.255.0

client-to-client

duplicate-cn

keepalive 10 120

tls-auth /etc/openvpn/keys/ta.key 0

comp-lzo

status /var/log/openvpn-status.log

log  /var/log/openvpn.log

log-append  /var/log/openvpn.log

verb 3

保存退出

8.1).启动VPN服务端

8.2).查看openvpn.log

8.3).查看VPN的端口号

8.4).查看VPN虚拟的IP地址及路由

参考答案:

服务端:

openvpn --config /etc/openvpn/server.conf

tail -f /var/log/openvpn.log

netstat -anp|grep 8205

ifconfig

route

9).客户端操作

9.1).将客户端的配置模板COPY到/etc/openvpn

9.2).新建/etc/openvpn/keys目录,用于存放客户端的CA证书

参考答案:

客户端:

cp /usr/share/doc/openvpn-2.0.9/sample-config-files/client.conf /etc/openvpn/

#ln -s  /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn

mkdir /etc/openvpn/keys

10).服务端操作

10.1).将服务端生成的CA根证书COPY到客户端keys目录下

10.2).将服务端生成的客户端CA证书COPY到客户端keys目录下

10.3).将服务端生成的ta证书COPY到客户端keys目录下

参考答案:

服务端:

cd /etc/openvpn/keys/

scp ca.* 192.168.6.217:/etc/openvpn/keys

scp client.* 192.168.6.217:/etc/openvpn/keys

scp ta.* 192.168.6.217:/etc/openvpn/keys

11).配置client.conf

11.1).设定远程Server的IP地址和端口

11.2).始终重新解析Server的IP地址,无需人为重新启动,即可重新接入VPN

11.3).Client的不绑定特定的监听端口

参考答案:

客户端:

vi /etc/openvpn/client.conf

remote 192.168.6.220 8205

resolv-retry infinite

nobind

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/client.crt

key /etc/openvpn/keys/client.key

tls-auth /etc/openvpn/keys/ta.key 1

12.1).启动客户端vpn

12.2).查看客户端的IP地址

12.3).测试客户端与服务端VPN的连通性

12.4).查看服务端的openvpn.log

参考答案:

客户端:

openvpn --config /etc/openvpn/client.conf

ifconfig

ping 10.88.99.1

服务端:

ping 10.88.99.6

tail -f /var/log/openvpn.log

13.1).关闭VPN服务端于客户端

13.1).以daemon方式运行服务端与客户端程序

参考答案:

客户端/服务端:

kill -9 `ps -ef|grep vpn|awk '{print $2}'`

服务端:

openvpn --daemon --config /etc/openvpn/server.conf

客户端:

openvpn --daemon --config /etc/openvpn/client.conf

原创粉丝点击