Open科学 是一个基于 OpenSSL 库的应用层 科学 实现。和传统 科学 相比,它的优点是简单易用。Open科学 提供给企业之间或者个人与公司之间安全数据传输的隧道,Open科学无疑是Linux下开源科学的先锋,提供了良好的性能和友好的用户GUI。
安装EPEL套件库,顺道更新
# yum -y install epel-release && yum -y update安装 Open科学
首先我们需要安装Open科学。我们还将安装Easy RSA来生成我们的SSL密钥对,这将保护我们的科学连接。
# yum install -y open科学 easy-rsa生成密钥及证书的前置条件
3.1.创建密钥与证书储存目录,并且准备好要产生密钥与证书的相关文件:
# mkdir -p /etc/open科学/easy-rsa/keys# cp -rf /usr/share/easy-rsa/2.0/* /etc/open科学/easy-rsa# cp /etc/open科学/easy-rsa/openssl-1.0.0.cnf /etc/open科学/easy-rsa/openssl.cnf
3.2.修改凭证的默认资料,之后产生凭证时就会自动填写,不必再手动输入。
# vim /etc/open科学/easy-rsa/vars
所有凭证资料的预设值分别是:国家、省份、城市、组织、电子邮件位址、单位。
...
export KEY_COUNTRY="CN"export KEY_PROVINCE="GD"export KEY_CITY="ZHUHAI"export KEY_ORG="YUNXI"export KEY_EMAIL="[email protected]"export KEY_OU="IT YUNXI."
...
上述参数的值可以自定义设置,对配置无影响。
Server 端密钥与证书生成
4.1.清除并删除 keys 目录下的所有 key
# cd /etc/open科学/easy-rsa
以下步骤列出需要清理的目录:
# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/open科学/easy-rsa/keys
# ./clean-all
4.2.生成CA的密钥及凭证,设定值不需修改的话,可以直接按Enter使用vars档案里的预设值。
# ./build-ca
4.3.生成 Open科学 Server 端的密钥及凭证,同样可以使用vars档案的预设值。
注意:一直回车,直至最后有两次交互,输入 y 确认。
# ./build-key-server renwoleserver
4.4.生成 Diffie Hellman 参数,这个步骤比较久,可能要跑大约 6 分钟左右。
# ./build-dh
4.5.将Server的密钥及凭证放到主目录里:
# cd /etc/open科学/easy-rsa/keys# cp dh2048.pem ca.crt renwoleserver.crt renwoleserver.key /etc/open科学生成 Client 端的密钥及凭证,文件名可以自定义,有两种方式,分别是:(一直回车即可)
5.1.生成不用输入密码的凭证:
# /etc/open科学/easy-rsa/build-key renwoleusers
5.2.生成需要输入密码的凭证:
# /etc/open科学/easy-rsa/build-key-pass renwoleusers生成TLS-auth密钥(可选)
Open科学提供了TLS-auth功能,可以用来抵御Dos、UDP端口淹没攻击。出于安全考虑,你可以启用该功能;启用该功能,你需要执行以下命令:
# cd /etc/open科学# open科学 --genkey --secret ta.key
6.目前我们总共产生了这些金钥及凭证:
# ll keys/
total 84
01.pem
02.pem
renwoleserver.crt
renwoleserver.csr
renwoleserver.key
renwoleusers.crt
renwoleusers.csr
renwoleusers.key
ca.crt
ca.key
dh2048.pem
index.txt
index.txt.attr
index.txt.attr.old
index.txt.old
serial
serial.old
配置 Open科学 server.conf
Open科学安装目录默认存在 server.conf 配置文件,我们拷贝一份并修改使用:
# cp /usr/share/doc/open科学-*/sample/sample-config-files/server.conf /etc/open科学
我们进入 /etc/open科学/ 目录编辑 server.conf 文件。
配置完成后的内容如下:
# egrep -v "^$|^#|^;" server.conflocal 10.10.204.62
port 1194
proto udp
dev tun
ca ca.crt
cert renwoleserver.crt
key renwoleserver.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 223.5.5.5"
client-to-client
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
compress lz4-v2
push "compress lz4-v2"
user nobody
group nobody
persist-key
persist-tun
#新增日志路径
status /var/log/open科学-status.log
log /var/log/open科学.log
verb 3
explicit-exit-notify 1
启动IP转发功能
# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf# sysctl -p配置firewall转发规则
确保服务器可以转发数据包到服务器内外网,开启必要的通讯服务,并启用IP伪装(Masquerade)功能。
# firewall-cmd --permanent --add-service open科学# firewall-cmd --permanent --add-masquerade# DEV=$(ip route get 223.5.5.5 | awk 'NR==1 {print $(NF-2)}' )# firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $DEV -j MASQUERADE# firewall-cmd --reload# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client open科学 ssh
ports:
protocols:
masquerade: yes
forward-ports:
sourceports:
icmp-blocks:
rich rules:
启动 Open科学
重启网络与Open科学服务,并且让Open科学开机后自动启动:
# systemctl restart network# systemctl restart open科学@server# systemctl enable open科学@server执行以下命令我们会看到一个新增的Open科学 专用网络:tun0
# ip a
...
tun0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
Windows PC 客户端的配置
12.1.下载 open科学 客户端并安装:Windows系统下安装,按照默认安装完成即可。
12.2.将Server端生成的Client密钥与证书下载到本地并放在 C:\Program Files\Open科学\config 目录下。
需要下载的文件列表:
/etc/open科学/easy-rsa/keys/renwoleusers.crt
/etc/open科学/easy-rsa/keys/renwoleusers.key
/etc/open科学/easy-rsa/keys/ca.crt
/etc/open科学/ta.key
12.3.将 C:\Program Files\Open科学\sample-config 下 client.o科学 文件拷贝到 C:\Program Files\Open科学\config 目录。
client.o科学 文件配置完成后的内容如下:
client
dev tun
;proto tcp
proto udp
remote 10.10.204.62 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert renwoleusers.crt
key renwoleusers.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
此时点击桌面上的 “Open科学 GUI” 图标,如果不出意外即可连接成功,若连接报错,请查看分析 C:\Users\yunxi\Open科学\log\client.log 日志文件。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/212474.html<

