centos6.5 Open×××服务搭建部署,访问内网服务器

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

    1. [[email protected] ~]# setenforce 0

      1. setenforce: SELinux is disabled
      2. [[email protected] ~]# vi /etc/sysconfig/selinux
      3. # This file controls the state of SELinux on the system.
      4. # SELINUX= can take one of these three values:
      5. # enforcing - SELinux security policy is enforced.
      6. # permissive - SELinux prints warnings instead of enforcing.
      7. # disabled - SELinux is fully disabled.
      8. SELINUX=disabled
      9. # SELINUXTYPE= type of policy in use. Possible values are:
      10. # targeted - Only targeted network daemons are protected.
      11. # strict - Full SELinux protection.
      12. 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

方式二:

[[email protected] open***]# /etc/init.d/open*** start
Starting open***:                                          [  OK  ]
[2]+  Killed                  /usr/sbin/open*** --config /etc/open***/server.conf
[[email protected] open***]# /etc/init.d/open*** status
Status written to /var/log/messages
[[email protected] 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***版本为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***服务生效

原文地址:http://blog.51cto.com/13922718/2164577

时间: 2024-10-14 00:51:16

centos6.5 Open×××服务搭建部署,访问内网服务器的相关文章

用静态NAT实现外网PC访问内网服务器

在我们的生产环境中常常处于安全考虑将服务器置于内网环境中,但同时得向外网提供各种服务功能,此时就需要用到NAT技术.下面是我用思科的仿真软件搭建的一个实验环境,实现外网PC访问内网服务器. 先说明一下实验环境: 路由器R0左边为内网环境,右边为外网环境,内网服务器IP地址为192.168.1.2,网关为R0接口地址192.168.1.1,外网PC机IP地址为211.211.211.2,网关为路由器R1接口地址211.211.211.1,现在要求实现外网PC访问内网服务器. 数据配置如下: 路由器

ROS Dst-Nat 后内网不能通过公网IP访问内网服务器解决方法

通常企业内部会有很多服务器需要互联网用户访问,这时就需要做Dst-Nat. 但是我们配置完后会 发现内网用户不能通过公网IP访问对应的服务器.其实这时我们再添加一条策略即可搞定. 实例说明: 内网服务器:172.16.0.101 路由器LAN口: 172.16.254.2 公网IP: 106.37.xxx.xxx 外网访问IP假设为 1.1.1.1    内网访问的PC 假设IP为172.16.3.100 配置NAT: 配置完后,外网可以正常访问了.但是内网通过公网IP不可访问. 究其原因: 外

解决为什么内网不能用公网地址访问内网服务器

NAT地址池和服务器地址要与出口IP不同网段,NAT地址池可以和服务器地址在同一网段,也可在不同网段. 对于下文中推论的回答:我认为不会成环,ping NAT地址池的没用到的地址,得不到回应,就没有回去的数据包,怎么会成环呢..... 以下参考下面这个文章,附上本文留存,原文引用链接为: http://www.2cto.com/net/201202/119693.html NAT网络回流现象解释,内网使用服务器的外网IP登陆 hi大家好,今天我们来讨论一个很多人都找不到答案得问题:究竟为什么内网

H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器

H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 这个问题很经典的,防火墙上显然配置了NAT的方式进行了转换,但是内部用户在访问的

内网主机通过外网地址访问内网服务器

网关设备一般都具有NAT功能,分别为源地址NAT.目标地址NAT,这两种功能应用比较普遍,各厂商都有很标准的实现方式.但是对于"内网主机通过外网地址访问内网服务器"这一场景,各厂商的实现不通,下面就这个场景,分别说一下各厂商的实现.1.华为2.华三内网用户通过NAT地址访问内网服务器1组网需求 · 某公司内部网络中有一台FTP服务器,地址为192.168.1.4/24. · 该公司拥有两个外网IP地址:202.38.1.1和202.38.1.2. 需要实现如下功能: · 外网主机可以通

怎样从外网访问内网服务器

假设内网有一个自己的电脑A(运行Win7),希望在家中用另一台电脑B(运行Win7)访问内网资源. 先决条件 1. A机上可访问外网并且可以安装虚拟机. 2. 拥有一个外网的VPS服务器S(运行Debian),可购买BandWagon的廉价服务器(http://bandwagonhost.com/),一年100多元. 原理 从A机发起到S的连接,并保持此连接.以此连接为基础,建立从S到A的隧道.再将S所有到80端口的请求(HTTP请求)通过隧道转发到A机上,由A机作为S机的HTTP代理.外网B机

通过外网访问内网服务器

一.可以通过netsh在外网服务器添加端口映射来实现. 1.新增映射 netsh interface portproxy add v4tov4 listenaddress=公网IP listenport=侦听端口号 connectaddress=内网IP connectport=链接到的端口号 2.删除映射 netsh interface portproxy add v4tov4 listenaddress=公网IP listenport=侦听端口号 3.查看映射 netsh interface

linux部署dns内网服务器

安装: yum -y install bind* 编辑named.conf vim /etc/named.conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/nam

映射-外网访问内网服务-ngrok和cisco路由做映射

一:软件解决 软件下载地址: https://ngrok.com/download ngrok-stable-windows-amd64.zip 使用: cmd ---CD..切换到软件目录 ngrok.exe 在弹出框输入:ngrok http 80   (80或者其他端口号,根据实际情况) 二:cisco路由做映射 步骤如下 登陆cisco en ,config 查看配置   show run 固定IP: ip nat inside source static tcp 10.10.1.253