为毛线网上关于Open VPN的帖子都慢慢没了?收藏的好几个重要帖子都被删除了,这???
翻墙违法关VPN什么事?技术无罪懂不懂?果然一棒子打死是政*惯用的手段
没办法,只能自己写了
准备
电脑
人
安装
正常安装步骤,但是选择组件的时候必须要把Easy RSA 勾上
安装过程会弹出安装虚拟网卡选项,同意
配置
初始化文件
可以打开Open VPN目录下的/easy-rsa/vars.bat.sample 文件,往最下划
可以看到
set KEY_COUNTRY=US set KEY_PROVINCE=CA set KEY_CITY=SanFrancisco set KEY_ORG=OpenVPN set KEY_EMAIL=mail@host.domain set KEY_CN=changeme set KEY_NAME=changeme set KEY_OU=changeme set PKCS11_MODULE_PATH=changeme set PKCS11_PIN=1234
都可以根据需求该,可以略过。
建议修改文件openssl-1.0.0.cnf,找到
default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL
修改为
default_days = 3650 # how long to certify for default_crl_days= 3650 # how long before next CRL
这是为了防止因为证书过期,导致用户连接报错无法连接。可以按照自己需求自己修改
已生成过的证书可以通过命令重新设置证书有效时长
openssl ca -gencrl -keyfile keys/ca.key -cert keys/ca.crt -out keys/crl.pem -config ./openssl-1.0.0.cnf
这是在初始化命令运行后才可以运行的命令,下面会讲
初始化命令
初始化命令行
使用CMD命令行进行初始化
cd C:\Program Files\OpenVPN\easy-rsa
我这是默认安装目录,如果你有修改,修改到你安装的目录的easy-rsa下
依次输入下列命令
init-config vars clean-all
第一次执行clean-all时,提示”系统找不到指定的文件”是正常的,不用管它。该命令会删除掉之前生成的所有证书和密钥文件,以避免与之后全新生成的证书和密钥发生冲突。
生成CA证书
就在上述命令提示符窗口中,继续执行命令build-ca来生成CA根证书密钥对。
build-ca
除了build-ca命令外,其他输入主要用于设置根证书的签名信息,如果你不输入、直接按回车,则表示使用vars.bat.sample中的默认值;如果你输入”.”则表示该字段信息留空。其中Common Name(通用名称)比较重要,相当于我们常说的”账号”,此处填写为
vpn_ca
创建服务器端证书
使用命令build-key-server server来创建服务器端证书和私钥。
build-key-server server
只需要注意Comman Name的参数值为”server”并随后设置相应的密码(这里设为”server_pwd”,一般不会用到密码),最后输入两次”y”进行确认即可。
创建客户端证书
创建命令为build-key clientName,例如build-key client1、build-key client2
build-key client1build-key client2
注意Comman Name的参数值可以设置为任意名称(不能是server),并随后设置相应的密码(这里设为”server_pwd”,一般不会用到密码),最后输入两次”y”进行确认即可。
创建迪菲·赫尔曼密钥
命令为build-dh。迪菲·赫尔曼交换密钥是一种安全协议,用以对数据进行加密。
build-dh
开启tls-auth(可选)
这一步是可选操作。OpenVPN提供tls-auth功能,可以防御DoS、UDP淹没等恶意攻击。执行命令openvpn –genkey –secret keys/ta.key即可生成开启tls-auth所需的密钥文件ta.key。如果你不需要,可以忽略此步骤。
openvpn --genkey --secret keys/ta.key
移动关键文件
服务端要把easy-rsa/keys文件夹中的下列文件复制到/config文件夹中
ca.crt
ca.key
dh1024.pem (如果最初的变量KEY_SIZE设为2048,这里就是dh2048.pem)
server.crt
server.key
ta.key (如果不开启tls-auth,则无需该文件)
客户端需要准备
ca.crt
client1.crt
client1.key (名称client1根据个人设置可能有所不同)
ta.key(如果不开启tls-auth,则无需该文件)
配置文件
服务端
OpenVPN已经在sample-config目录中为我们提供了相关的示例文件server.ovpn和client.ovpn,并且配置文件中的每个配置选项均有详细的英文说明(配置文件中”#”或”;”开头的均为注释内容)。
我建议使用这个配置,个人使用经验
local 127.0.0.1 #指定监听的本机IP,根据情况可以修改,如果一直连不上可以删掉或者加;注释掉 port 1194 #指定监听的本机端口号 proto tcp #指定采用的传输协议,可以选择tcp或udp dev tun #指定创建的通信隧道类型,可选tun或tap ca ca.crt #指定CA证书的文件路径 cert server.crt #指定服务器端的证书文件路径 key server.key #指定服务器端的私钥文件路径 dh dh2048.pem #指定迪菲赫尔曼参数的文件路径,注意大小 server 10.4.0.0 255.255.0.0 #指定虚拟局域网占用的IP地址段和子网掩码,此处配置的服务器自身占用10.4.0.1。 keepalive 10 120 #每10秒ping一次,连接超时时间设为120秒。 comp-lzo #开启VPN连接压缩,如果服务器端开启,客户端也必须开启 client-to-client #允许客户端与客户端相连接,默认情况下客户端只能与服务器相连接 persist-key persist-tun #持久化选项可以尽量避免访问在重启时由于用户权限降低而无法访问的某些资源。 status openvpn-status.log 60 #已连接用户的状态信息,后面的数字指的是刷新时间(s) verb 3 #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细 #duplicate-cn #允许多人共同使用一个配置文件(crt,key),删除#启用 #crl-verify "../easy-rsa/keys/crl.pem" #指定封禁文件,必须引用后封禁才会起效,需要先任意封禁一个用户产生crl.pem文件否则会报错,删除#启用 #client-config-dir "../ccd" #指定固定ip配置目录,需要先创建ccd文件夹,否则会报错,删除#启用
把上述配置保存命名为“server.ovpn”,并移动到config文件夹内
客户端
client dev tun proto tcp remote 0.0.0.0 1194 #0.0.0.0修改为服务器ip resolv-retry infinite nobind mute-replay-warnings comp-lzo <ca>#填写ca.crt证书的内容 </ca> <cert>#填写client1.crt中的内容 </cert> <key>#填写client1.key中的内容 </key>
将上述配置填写完成后保存为 “任意名称.ovpn”,把文件保存到你找得到的位置
启动
服务端
右键右下角的Open VPN图标,点击 连接 即可
如果有其他配置文件,服务端启动就在server选项中
客户端
右键右下角的Open VPN图标,点击 导入配置文件 ,选择刚才保存的客户端文件,添加成功
再次右键Open VPN的图标,选择你保存的客户端文件名的那个选项,点击 连接 即可
总结
还没完呢,你以为就这些?