您好,欢迎访问这里是深圳市硕远科技有限公司!
戴尔服务器价格_IBM联想配置_浪潮代理-深圳市硕远科技有限公司
联系我们
戴尔服务器价格_IBM联想配置_浪潮代理-深圳市硕远科技有限公司
邮箱:2324898850@qq.com
电话:400-080-6079
地址:深圳市龙华区河背工业区108创业园A301
当前位置:主页 > 新闻动态 > 行业新闻 >

行业新闻

内网部署OpenVPN实现远程管理EXSI服务器

发布时间:2022-04-21 17:00:06浏览次数:

最近一直在困惑一个事情,EXSI无法远程登录。对EXSI的443及902端口进行映射后,在外网远程连接的时候,Web是没问题,但是Workstation出现了可以连接,但是虚拟机桌面无法连接的情况。查阅了网上很多资料,没办法解决,只能曲线救国了。 现在有个想法就是,在内网架设一台OpenVPN服务器,需要管理时,通过vpn接入到内网,然后再对EXSI进行相应的管理,也可以对EXSI上的虚拟机进行相关的管理。

1、OpenVPN的安装

本次我们使用的环境是CentOS 7 X64这个版本的操作系统。我们使用使用epel源进行安装OpenVPN。

#关闭selinux
vim /etc/selinux/config
更改 SELINUX=disabled
#安装epel源
yum install -y epel-release
#安装依赖包
yum install -y openssl lzo pam openssl-devel lzo-devel pam-devel zip
yum install -y easy-rsa
#安装openvpn
yum install -y openvpn

然后设置日志目录

mkdir -p /var/log/openvpn/
chown openvpn:openvpn /var/log/openvpn

服务器证书生成

cp -rf /usr/share/easy-rsa/3.0.8 /etc/openvpn/server/easy-rsa
cd /etc/openvpn/server/easy-rsa
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa build-server-full server nopass
./easyrsa gen-dh
openvpn --genkey --secret ta.key

将证书拷贝到统一目录

$ mkdir -p /etc/openvpn/server/certs
$ cp -a pki/ca.crt /etc/openvpn/server/certs
$ cp -a pki/private/server.key /etc/openvpn/server/certs
$ cp -a pki/issued/server.crt /etc/openvpn/server/certs
$ cp -a pki/dh.pem /etc/openvpn/server/certs
$ cp -a ta.key /etc/openvpn/server/certs
2、网络规划

本次我们实施的网络拓扑结构如下。

NET1为无公网IP网络,通过拨号连接入因特网;NET2为有公网网络,通过固定IP接入因特网。在系统内部,存在有三台EXSI服务器。其中2号机和3号机为双线接入,1号机仅为NET1网络接入。

我们想通过互联网直接连接进入到该网络内部,以便访问及管理各个EXSI服务器。

3、服务器端配置

打开或者新建server.ovpn

vim /etc/openvpn/server.conf

然后编辑该文件

port 1194 # 监听的端口号
proto udp # 服务端用的协议,udp 能快点,所以我选择 udp
dev tun
# CA 根证书路径
ca /etc/openvpn/server/certs/ca.crt 
# open VPN 服务器证书路径
cert /etc/openvpn/server/certs/server.crt 
# open VPN 服务器密钥路径,This file should be kept secret 
key /etc/openvpn/server/certs/server.key 
# Diffie-Hellman 算法密钥文件路径 
dh /etc/openvpn/server/certs/dh.pem 
# tls-auth key,参数 0 可以省略,如果不省略,那么客户端
tls-auth /etc/openvpn/server/certs/ta.key 0 
# 配置相应的参数该配成 1。如果省略,那么客户端不需要 tls-auth 配置
 # 该网段为 open VPN 虚拟网卡网段,不要和内网网段冲突即可。open VPN 默认为 10.8.0.0/24
server 10.8.0.0 255.255.255.0 
keepalive 10 120
comp-lzo
persist-key
persist-tun
# open VPN 进程启动用户,openvpn 用户在安装完 openvpn 后就自动生成了
user openvpn 
group openvpn
# 指定 log 文件位置
log /var/log/openvpn/server.log 
log-append /var/log/openvpn/server.log
status /var/log/openvpn/status.log
verb 3
explicit-exit-notify 1

启动openvpn服务

openvpn --daemon --config /etc/openvpn/server.conf

客户端证书生成模板

新建或编辑sample.ovpn
vim /etc/openvpn/client/sample.ovpn

client
proto udp
dev tun
remote Your Server IP 1194 //服务器公网ip和端口
route-nopull //指定ip段路由转发
route 10.8.0.0 255.255.255.0 vpn_gateway
route 192.168.9.0 255.255.255.0 vpn_gateway
route 172.100.0.0 255.255.0.0 vpn_gateway
ca ca.crt //如果是在windows系统使用的话请使用C:\\\\该文件目录
cert admin.crt //如果是在windows系统使用的话请使用C:\\\\该文件目录
key admin.key //如果是在windows系统使用的话请使用C:\\\\该文件目录
tls-auth ta.key 1 //如果是在windows系统使用的话请使用C:\\\\该文件目录
remote-cert-tls server
persist-tun
persist-key
comp-lzo
verb 3
mute-replay-warnings

客户端生成脚本

vim /etc/openvpn/client/open_user.sh

set -e
OVPN_USER_KEYS_DIR=/etc/openvpn/client/keys
EASY_RSA_VERSION=3
EASY_RSA_DIR=/etc/openvpn/server/easy-rsa/
PKI_DIR=$EASY_RSA_DIR/pki

for user in "$@"
do
        if [ -d "$OVPN_USER_KEYS_DIR/$user" ]; then
                rm -rf $OVPN_USER_KEYS_DIR/$user
                rm -rf  $PKI_DIR/reqs/$user.req
                sed -i '/'"$user"'/d' $PKI_DIR/index.txt
        fi
        cd $EASY_RSA_DIR
        # 生成客户端 ssl 证书文件
        ./easyrsa build-client-full $user nopass
        # 整理下生成的文件
        mkdir -p  $OVPN_USER_KEYS_DIR/$user
        cp $PKI_DIR/ca.crt $OVPN_USER_KEYS_DIR/$user/   # CA 根证书
        cp $PKI_DIR/issued/$user.crt $OVPN_USER_KEYS_DIR/$user/   # 客户端证书
        cp $PKI_DIR/private/$user.key $OVPN_USER_KEYS_DIR/$user/  # 客户端证书密钥
        cp /etc/openvpn/client/sample.ovpn $OVPN_USER_KEYS_DIR/$user/$user.ovpn # 客户端配置文件
        sed -i 's/admin/'"$user"'/g' $OVPN_USER_KEYS_DIR/$user/$user.ovpn
        cp /etc/openvpn/server/certs/ta.key $OVPN_USER_KEYS_DIR/$user/ta.key  # auth-tls 文件
        cd $OVPN_USER_KEYS_DIR
        zip -r $user.zip $user
done
exit 0

这样就架设成功了。将配置文件下载后,使用OPENVPN就可以连接了。

400-080-6079