[转]与OpenVPN有关的数篇文章
- 作者:locyoo
- /
- 时间:2012-10-13
- /
- 浏览:8,246 views
- /
- 分类:网上冲浪
以下文章著作权归原作者所有,locyoo只是从Gmail里备份至此而已,作者和链接就不一一列举了,请原作者们海涵!
OpenVPN客户端和服务器之间的共享密钥配置
1) 在服务器上运行下面的命令,生成共享密钥
openvpn –genkey –secret static.key
把生成的static.key 传到客户端 openvpn 配置文件所在目录下,如/etc/openvpn
2)服务器端的配置:
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key
proto udp
# 选一个随机的端口,至少不要用缺省的1194
port 35287
comp-lzo
log-append openvpn-static.log
3)客户端的配置:
#端口需要与服务器设置的端口一致
remote IP_address_of_your_server 35287
proto udp
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
#如果客户端不制定端口,使用缺省的1194,仍然容易被发现
port 23456
comp-lzo
log-append openvpn-static.log
redirect-gateway def1
注意:不能同时配置证书认证、同时又配置静态密钥认证。
OpenVPN 流量混淆补丁
补丁位于Github 上: https://gist.github.com/4372285
使用说明
从 OpenVPN 官方下载 2.2.2 源码包,并解压
将此补丁保存到解压后的目录内,然后执行
patch < openvpn-2.2.2-obfs.patch
另外建议手工修改源码目录中的 version.m4 文件,将 OpenVPN 的版本号 2.2.2 改为 2.2.2-obfs,以便和原始的 OpenVPN 区分
之后按正常的编译安装步骤进行
./configure –enable-password-save
make
make install
配置选项说明
该补丁有 2 个配置文件参数,分别如下
obfs-salt <secret>
混淆密钥,secret 是一个任意字符串,必须保证服务端的配置文件和客户端的配置文件的 secret 完全相同,否则客户端无法连接到服务器。
使用此选项即可开启流量混淆功能。
obfs-padlen <num>
num 是一个不大于 255 的正整数。如果使用了此选项,则本补丁会在每个数据包后面添加一个长度随机且不超过 num 的随机内容。
该选项只有在启用了 obfs-salt 之后才能使用。
注意事项
本补丁会在数据包在发送出去之前在数据包头部增加4字节的数据,如果启用了 obfs-padlen <num> 选项,还会在数据包尾部增加最多 num 字节的数据请使用 OpenVPN 自带的 mssfix 参数来指定最大的 TCP 包长度,保证原始TCP 包长度与随机增加的内容的长度之和不小于 MTU,如有必要,还应使用 fragment 来指定最大包长度,以确保数据包能够正常发送出去。
本补丁虽然使用了类似加密的方法对流量进行处理,但是我无法保证这种类似加密算法的安全性,不要尝试使用本补丁对流量进行加密。要对流量进行加密,请使用 OpenVPN 自带的加密功能。
SSH隧道加载OpenVPN
配置如下
[root@galaxy ~]# uname -a
Linux galaxy 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
利用autossh
[root@galaxy ~]# cat /etc/rc.local
export AUTOSSH_POLL=60
/usr/local/bin/autossh -M 20010 -f -N -c blowfish -m hmac-md5-96 -L 1194:localhost:1194 root@你的openvpnserver_ip -p 22
/etc/openvpn/client.conf
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote 127.0.0.1 1194
你好 ,我的openvpn配置时一直显示tls错误,请问这是什么原因呢
请参考www.v2ex.com/t/79622