设为首页 收藏本站
查看: 1604|回复: 0

[经验分享] centos6.5 Open×××服务搭建部署,访问内网服务器

[复制链接]

尚未签到

发表于 2019-1-27 15:23:26 | 显示全部楼层 |阅读模式
  centos6.5 Open×××服务搭建部署,访问内网服务器
  1 简介
  ×××(Virtual Private Network)直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道。     Open×××无疑是Linux下开源×××的先锋,提供了良好的性能和友好的用户GUI。该软件最早由James Yonan编写。Open×××允许参与建立×××的单点使用预设的私钥,第三方证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库,以及SSLv3/TLSv1协议。Open×××能在Linux、xBSD、Mac OS X与Windows上运行。
  2 环境准备
  公网ip:     内网ip:   
open***:10.8.0.0    操作系统:centos6.5
  3 安装open及easy-rsa     open-2.4.6   easy-rsa-3.0   open***-install-2.4.6
  安装open及easy-rsa     其中easy-rsa为open证书制作工具。

首先要有epel的yum源
yum install epel-release
lsb_release -a
yum install -y openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig makecache
yum install -y open***
yum install -y easy-rsa
#启动open***的用户
groupadd open***
useradd -g open*** -M -s /sbin/nologin open***
  4.然后 将配置文件复制到相应位置

mkdir /etc/open***/
cp -R /usr/share/easy-rsa/ /etc/open***/
cp /usr/share/doc/open***-2.4.6/sample/sample-config-files/server.conf /etc/open***/
cp -r /usr/share/doc/easy-rsa-3.0.3/vars.example /etc/open***/easy-rsa/3.0/vars
  (1.)vim /etc/open***/server.conf(配置文件如下:)

port 1194            #监听端口
proto udp            #监听协议
dev tun              #采用路由隧道模式
ca /etc/open***/easy-rsa/3.0/pki/ca.crt     #ca证书路径
cert /etc/open***/easy-rsa/3.0/pki/issued/wwwserver.crt   #服务器证书路径
key /etc/open***/easy-rsa/3.0/pki/private/wwwserver.key   #服务器秘钥路径
dh /etc/open***/easy-rsa/3.0/pki/dh.pem                   # 秘钥交换协议
tls-auth /etc/open***/ta.key 0                          
server 10.8.0.0 255.255.255.0     # 给客服端分配的地址池(注:不能和服务器内网ip一个网段)
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 223.5.5.5"                  #dhcp分配dns
push "dhcp-option DNS 114.114.114.114"
keepalive 10 120                      #存活时间,10秒ping延迟,120秒没收到回应则视为断线
cipher AES-256-CBC
comp-lzo                              #  传输数据压缩
max-clients 50
user open***
group open***
persist-key
persist-tun
status open***-status.log
log-append  open***.log
verb 3
mute 20
  (2.)主要修改配置文件 vars  :vim /etc/open***/easy-rsa/3.0/vars
  修改第45、65、76、84-89、97、105、113、117、134、139、171、180、192行:
  set_var EASYRSA                 "$PWD"

set_var EASYRSA_PKI             "$EASYRSA/pki"
set_var EASYRSA_DN      "cn_only"
set_var EASYRSA_REQ_COUNTRY     "CN"
set_var EASYRSA_REQ_PROVINCE    "BeiJing"
set_var EASYRSA_REQ_CITY        "BeiJing"
set_var EASYRSA_REQ_ORG         "Company"
set_var EASYRSA_REQ_EMAIL       "个人邮箱@163.com"
set_var EASYRSA_REQ_OU          "Open××× EASY CA"
set_var EASYRSA_KEY_SIZE        2048
set_var EASYRSA_ALGO            rsa
set_var EASYRSA_CA_EXPIRE       7000
set_var EASYRSA_CERT_EXPIRE     3650
set_var EASYRSA_NS_SUPPORT      "no"
set_var EASYRSA_NS_COMMENT      "Open××× CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF        "$EASYRSA/openssl-1.0.cnf"
set_var EASYRSA_DIGEST          "sha256"
  5.生成证书:
  生成各种证书    生成ca证书     ca证书, 用于签发 Server 和 Client 证书
  (1) 生成ca证书

cd /etc/open***/easy-rsa/3.0
./easyrsa init-pki   #初始化
./easyrsa build-ca   #生成根证书 创建CA、密码ca.com
设置ca密码(输入两次):ca.com      
  (2)创建服务端证书
  生成ta.key,是为了防止恶意×××(如DoS、UDP port flooding)而生成的一个"HMAC firewall"。

./easyrsa gen-dh
open*** --genkey --secret ta.key
cp -r ta.key /etc/open***/
  创建服务端证书,生成请求,使用gen-req来生成req

./easyrsa  gen-req wwwserver
设置server密码(输入两次):openserver
  签发证书,签约服务端证书

./easyrsa sign-req server wwwserver
#输入yes签发证书,输入ca密码:ca.com
  (3)生成windows客户端用户:(多用户的话 依次步骤添加)

./easyrsa build-client-full zhangxx
#注意:生成客户端用户的时候会提示设置密码
#可以直按回车密码为空、也可以设置输入密码(如设置密码,客户端连接时需输入密码)
查看客户端证书存放路径:
ls -l /etc/open***/easy-rsa/3.0/pki/issued/zhangxx.crt
-rw-------. 1 root root 4517 Apr 16 00:30 /etc/open***/easy-rsa/3.0/pki/issued/zhangxx.crt  
ls -l /etc/open***/easy-rsa/3.0/pki/private/zhangxx.key
-rw-------. 1 root root 1834 Apr 16 00:30 /etc/open***/easy-rsa/3.0/pki/private/zhangxx.key
  6.配置防火墙及路由
  (1)关闭selinux



    • [root@iZ23vn3rqxnZ ~]# setenforce 0

      • setenforce: SELinux is disabled
      • [root@iZ23vn3rqxnZ ~]# vi /etc/sysconfig/selinux
      • # This file controls the state of SELinux on the system.
      • # SELINUX= can take one of these three values:
      • #       enforcing - SELinux security policy is enforced.
      • #       permissive - SELinux prints warnings instead of enforcing.
      • #       disabled - SELinux is fully disabled.
      • SELINUX=disabled
      • # SELINUXTYPE= type of policy in use. Possible values are:
      • #       targeted - Only targeted network daemons are protected.
      • #       strict - Full SELinux protection.
      • SELINUXTYPE=targeted  
        (2)开启服务器路由转发功能
        vim /etc/sysctl.conf



  修改:net.ipv4.ip_forward = 1
  sysctl -p

```
  (3)设置防火墙nat转发

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -I INPUT -p udp --dport 1194 -m comment --comment "open***" -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  **七.启动open***
  方式一:

/usr/sbin/open*** --config /etc/open***/server.conf
#启动时输入服务端证书密码:openserver
  方式二:

[root@iZ23vn3rqxnZ open***]# /etc/init.d/open*** start  
Starting open***:                                          [  OK  ]  
[2]+  Killed                  /usr/sbin/open*** --config /etc/open***/server.conf  
[root@iZ23vn3rqxnZ open***]# /etc/init.d/open*** status  
Status written to /var/log/messages  
[root@iZ23vn3rqxnZ open***]# ps -ef | grep open***  
nobody    4277     1  0 22:06 ?        00:00:00 /usr/sbin/open*** --daemon --writepid /var/run/open***/server.pid --cd /etc/open*** --config server.conf  
root      4336 32542  0 22:07 pts/0    00:00:00 grep open***
  哦,不幸的是出现服务开始失败!!!
  但是当你运行:
  Open /etc/open/server.conf
  又可以运行,解决办法:
  删除/ etc / open /下的ipp.txt open-status.log
  然后就可以启动服务了。如果你还不能解决,那就去无功/日志中找消息慢慢分析原因
  八.设置Open×××服务器reboot后自动启动open***
  执行命令:
  代码:

vi /etc/rc.local
  然后在最后面加入此行:
  代码:

/usr/local/sbin/open*** --config /usr/local/etc/server.conf > /dev/null 2>&1 &
  九.客户端open***版本为2.4.6
  客户端需要的证书:zhnagxx.crt、zhangxx.key、ca.crt、ta.key

存放到一个文件夹,然后将里边的文件夹拷贝到本地电脑
mkdir -p /etc/open***/client
cp -r /etc/open***/easy-rsa/3.0/pki/issued/www001.crt /etc/open***/client/
cp -r /etc/open***/easy-rsa/3.0/pki/private/www001.key /etc/open***/client/
cp -r /etc/open***/easy-rsa/3.0/pki/ca.crt /etc/open***/client/
cp -r /etc/open***/ta.key /etc/open***/client/
  客户端配置文件zhangxx.o(ip换为open服务器外网ip)

client
dev tun
proto udp
resolv-retry infinite
nobind
remote 服务器公网ip 1194  
ns-cert-type server
comp-lzo
ca ca.crt
cert zhangxx.crt
key zhangxx.key
tls-auth ta.key 1
keepalive 10 120
persist-key
persist-tun
verb 5
  windows默认安装路径是C:\Program Files (x86)\Open×××\bin    如果你手动修改安装路径也可以。前提是你必须知道你的安装路径在哪里。
  将证书文件拷贝到  C:\Program Files (x86)\Open×××\config   下面 。在这个目录下面默认是有证书文件的,但是那不是我们所需要的,我们要覆盖原来的证书文件。
  将zhangxx.crt、zhangxx.key、ca.crt、ta.key、zhangxx001.o***放入config中
  配置完毕之后。进入到C:\Program Files (x86)\Open×××\bin   下面。找到客户端的启动文件,使用管理员权限启动。如果不是管理员权限启动软件,会导致open client不能配置电脑网络,导致连接不上open服务器
  右键点击,连接:connect。连接成功颜色会变为绿色。正在连接中颜色是×××。空闲时颜色是白色!
  当不能长时间连接的时候你需要查看出错误日志,我第一链接时候出错了,tls的某个错但是我已经解决了就是注释掉客户端配置文件中的#ns-cert-type server,这样就不会出错了。我提供给你的配置选项一修复问题。
  如生成证书时输错密码了(如再次添加用户),报错误导致生成证书失败:
  删除以下文件即可
  rm -rf /etc/open***/easy-rsa/3.0/pki/reqs/www002.req
  rm -rf /etc/open***/easy-rsa/3.0/pki/private/www002.key
  撤销证书(www002为例)


  •   撤销命令revoke
      cd /etc/open***/easy-rsa/3.0
    ./easyrsa revoke www002

  •   生成CRL文件(撤销证书的列表)
      ./easyrsa gen-crl
      重启open***服务生效





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668357-1-1.html 上篇帖子: linux下的开源open v p n的自动化新建用户并发送邮件的shell脚本 下篇帖子: 解决java报Too many open files错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表