天天看点

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

公司内网openvpn部署

准备环境

编号 服务器名称 网卡名称 网卡 定位
1号虚拟机 lan1 ens33 lan:10.2.2.1 内网主机
2号虚拟机 lan2 ens33 lan:10.2.2.2 中间主机vpn服务器
ens34 NAT:192.168.15.144
3号虚拟机 lan3 ens33 lan:10.2.2.3 内网主机
4号虚拟机 window1 NAT:192.168.15.136 外网主机
公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

1号虚拟机 网络配置

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

3号虚拟机 网络配置

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

2号虚拟机 网络配置  (openvpn服务器需要2张网卡,一张负责连接内网,一张负责连接外网)

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

系统时间与硬件时间同步

[[email protected] ~]# crontab -l # 定时任务同步系统时间
[[email protected] ~]# crontab -e # 添加定时任务
*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1
[[email protected] ~]# ll /etc/localtime # 使用上海时间
lrwxrwxrwx. 1 root root 33 Mar 9 03:59 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
[[email protected] ~]# hwclock --show # 查看硬件时间
Sun 03 May 2020 03:34:37 PM CST -0.614806 seconds
[[email protected] ~]# hwclock --systohc # 系统时间同步到硬件时间
说明:如果时间不同步,那么VPN登录访问就可能存在问题。
           

安装openvpn

安装前置  查询前置

rpm -q lz4-devel lzo-devel pam-devel openssl-devel systemd-devel sqlite-devel autoconf automake libtool libtool-ltdl
           
公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

安装依赖

yum -y install lz4-devel lzo-devel pam-devel openssl-devel systemd-devel sqlite-devel autoconf automake libtool libtool-ltdl
           

如果无网,,在有网的虚拟机上下载rpm,传上去。 装备2个安装包  (EasyRSA-3.0.8.tgz,openvpn-2.5.0.tar.gz)都可以在github上下载  

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

  开始安装  tar xf openvpn-2.5.0.tar.gz

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

 cd openvpn-2.5.0  autoreconf -i -v -f

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口
./configure --prefix=/usr/local/openvpn --enable-lzo --enable-lz4 --enable-plugins --enable-port-share --enable-iproute2 --enable-pf --enable-plugin-auth-pam --enable-pam-dlopen --enable-systemd
           
公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口
公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

make && make install

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

建立软连接 ln -s /usr/local/openvpn/sbin/openvpn /usr/local/sbin/openvpn

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

来到文件配置端。 cd /usr/local/openvpn/lib/systemd/system/

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

  这里使用[email protected] 文件注册服务端 cp -a /usr/local/openvpn/lib/systemd/system/open[email protected] /usr/lib/systemd/system/openvpn-tcp.service cp -a /usr/local/openvpn/lib/systemd/system/open[email protected] /usr/lib/systemd/system/openvpn-udp.service 复制2份到系统开机注册下 修改服务使用的配置文件对象。 vim openvpn-tcp.service ### 找到 ExecStart 这行,注释改为如下 ExecStart=/usr/local/openvpn/sbin/openvpn --config server-tcp.conf

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

同理 udp的也改。 vim openvpn-udp.service

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

根据配置文件,我们知道(WorkingDirectory在/etc/openvpn/server下面)需要有server-tcp.conf和server-udp.conf2个配置文件 但是这个稍后再做。

生成证书(这里需要一个专门的工具Easy-rsa)

easy-rsa下载与配置修改

tar xf EasyRSA-3.0.8.tgz

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

根据 EasyRSA-3.0.8 /vars.example文件生成全局配置文件vars cp -a vars.example vars

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

需要修改的 # 国家 set_var EASYRSA_REQ_COUNTRY "CN" # 省 set_var EASYRSA_REQ_PROVINCE "SC" # 城市 set_var EASYRSA_REQ_CITY "LeShan" # 组织 set_var EASYRSA_REQ_ORG "yang" # 邮箱 set_var EASYRSA_REQ_EMAIL "[email protected]" # 拥有者 set_var EASYRSA_REQ_OU "yxl"   # 长度 set_var EASYRSA_KEY_SIZE 2048 # 算法 set_var EASYRSA_ALGO rsa   # CA证书过期时间,单位天 set_var EASYRSA_CA_EXPIRE 36500 # 签发证书的有效期是多少天,单位天 set_var EASYRSA_CERT_EXPIRE 36500

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

生成服务端和客户端证书

初始化与创建CA根证书  1  ./easyrsa init-pki 初始化,会在当前目录创建PKI目录,用于存储一些中间变量及最终生成的证书

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

  2 ./easyrsa build-ca 在这部分需要输入PEM密码 PEM pass phrase,输入两次,此密码必须记住,不然以后不能为证书签名。 还需要输入common name 通用名(这里不支持删除键),如: openvpen ,这个你自己随便设置个独一无二的。

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

生成服务端证书 3 ./easyrsa build-server-full server nopass 密码就是刚刚上面一步输入的 为服务端生成证书对并在本地签名。nopass参数生成一个无密码的证书;在此过程中会让你确认ca密码

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

  4 ./easyrsa gen-dh 创建Diffie-Hellman,确保key穿越不安全网络的命令,时间会有点长,耐心等待

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口
公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

生成客户端证书 生成多个客户端证书   ./easyrsa build-client-full client nopass # 无密码,实际应用中不推荐,客户端有密码可提高安全性  //不推荐 不做测试 5  ./easyrsa build-client-full zhonghaoling # 让你输入密码,后续VPN连接时会使用 为客户端生成证书对并在本地签名。nopass参数生成一个无密码的证书;在此过程中都会让你确认ca密码

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

为了提高安全性,openvpn生成ta.key 6 openvpn --genkey secret ta.key 加强认证方式,防攻击。如果配置文件中启用此项(默认是启用的),就需要执行上述命令,并把ta.key放到/etc/openvpn/server目录。配置文件中服务端第二个参数为0,同时客户端也要有此文件,且client.conf中此指令的第二个参数需要为1。 【服务端有该配置,那么客户端也必须要有】

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

整理服务端证书 mkdir -p /etc/openvpn/server/ cp -a pki/ca.crt /etc/openvpn/server/ cp -a pki/private/server.key /etc/openvpn/server/ cp -a pki/issued/server.crt /etc/openvpn/server/ cp -a pki/dh.pem /etc/openvpn/server/ cp -a ta.key /etc/openvpn/server/

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

这些文件都是openvpn服务器需要的,客户端用户等下再整理

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

创建服务端配置文件

参照openvpn-2.4.9/sample/sample-config-files/server.conf文件

配置文件参数说明

参考:openvpn-2.4.9/sample/sample-config-files/server.conf local 0.0.0.0 表示openvpn服务端的监听地址   port 1194 监听的端口,默认是1194   proto tcp 使用的协议,有udp和tcp。建议选择tcp   dev tun 使用三层路由IP隧道(tun)还是二层以太网隧道(tap)。一般都使用tun   ca ca.crt cert server.crt key server.key dh dh2048.pem ca证书、服务端证书、服务端密钥和密钥交换文件。如果它们和server.conf在同一个目录下则可以不写绝对路径,否则需要写绝对路径调用   server 10.8.0.0 255.255.255.0 vpn服务端为自己和客户端分配IP的地址池。 服务端自己获取网段的第一个地址(此处为10.8.0.1),后为客户端分配其他的可用地址。以后客户端就可以和10.8.0.1进行通信。 注意:该网段地址池不要和已有网段冲突或重复。其实一般来说是不用改的。除非当前内网使用了10.8.0.0/24的网段。   ifconfig-pool-persist ipp.txt 使用一个文件记录已分配虚拟IP的客户端和虚拟IP的对应关系, 以后openvpn重启时,将可以按照此文件继续为对应的客户端分配此前相同的IP。也就是自动续借IP的意思。   server-bridge XXXXXX 使用tap模式的时候考虑此选项。   push "route 10.0.10.0 255.255.255.0" push "route 192.168.10.0 255.255.255.0" vpn服务端向客户端推送vpn服务端内网网段的路由配置,以便让客户端能够找到服务端内网。多条路由就写多个Push指令   client-to-client 让vpn客户端之间可以互相看见对方,即能互相通信。默认情况客户端只能看到服务端一个人; 默认是注释的,不能客户端之间相互看见   duplicate-cn 允许多个客户端使用同一个VPN帐号连接服务端 默认是注释的,不支持多个客户登录一个账号   keepalive 10 120 每10秒ping一次,120秒后没收到ping就说明对方挂了   tls-auth ta.key 0 加强认证方式,防攻击。如果配置文件中启用此项(默认是启用的) 需要执行openvpn --genkey --secret ta.key,并把ta.key放到/etc/openvpn/server目录 服务端第二个参数为0;同时客户端也要有此文件,且client.conf中此指令的第二个参数需要为1。   cipher AES-256-CBC # 选择一个密码。如果在服务器上使用了cipher选项,那么您也必须在这里指定它。注意,v2.4客户端/服务器将在TLS模式下自动协商AES-256-GCM。   compress lz4-v2 push "compress lz4-v2" openvpn 2.4版本的vpn才能设置此选项。表示服务端启用lz4的压缩功能,传输数据给客户端时会压缩数据包。 Push后在客户端也配置启用lz4的压缩功能,向服务端发数据时也会压缩。如果是2.4版本以下的老版本,则使用用comp-lzo指令   comp-lzo 启用lzo数据压缩格式。此指令用于低于2.4版本的老版本。且如果服务端配置了该指令,客户端也必须要配置   max-clients 100 并发客户端的连接数   persist-key persist-tun 通过ping得知超时时,当重启vpn后将使用同一个密钥文件以及保持tun连接状态   status openvpn-status.log 在文件中输出当前的连接信息,每分钟截断并重写一次该文件   ;log openvpn.log ;log-append openvpn.log 默认vpn的日志会记录到rsyslog中,使用这两个选项可以改变。 log指令表示每次启动vpn时覆盖式记录到指定日志文件中, log-append则表示每次启动vpn时追加式的记录到指定日志中。 但两者只能选其一,或者不选时记录到rsyslog中   verb 3 日志记录的详细级别。   ;mute 20 沉默的重复信息。最多20条相同消息类别的连续消息将输出到日志。   explicit-exit-notify 1 当服务器重新启动时,通知客户端,以便它可以自动重新连接。仅在UDP协议是可用   配置参数 -------------------------------------------------------------------------------------------- local 0.0.0.0 port 1115 proto tcp dev tun ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/server.crt key /etc/openvpn/server/server.key dh /etc/openvpn/server/dh.pem server 10.123.0.0  255.255.255.0 ifconfig-pool-persist ipp.txt push "route 10.2.2.0 255.255.255.0" ;client-to-client ;duplicate-cn keepalive 10 120 tls-auth /etc/openvpn/server/ta.key 0 cipher AES-256-CBC compress lz4-v2 push "compress lz4-v2" ;comp-lzo max-clients 1000 user nobody group nobody persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3 ;explicit-exit-notify 1         ------------------------------------------------------------------------------------------------------------------------ vim  server-tcp.conf 创建配置文件

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

  local 0.0.0.0 port 1229 proto udp dev tun ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/server.crt key /etc/openvpn/server/server.key dh /etc/openvpn/server/dh.pem server 10.124.0.0  255.255.255.0 ifconfig-pool-persist ipp.txt push "route 10.2.2.0 255.255.255.0" ;client-to-client ;duplicate-cn keepalive 10 120 tls-auth /etc/openvpn/server/ta.key 0 cipher AES-256-CBC compress lz4-v2 push "compress lz4-v2" ;comp-lzo max-clients 1000 user nobody group nobody persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3 ;explicit-exit-notify 1 -------------------------------------------------------------------------------------------------------------------------------------- vim  server-udp.conf

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

注册开机认证 systemctl enable openvpn-tcp.service systemctl enable openvpn-udp.service

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

启动openvpn服务并查看进程与端口

# systemctl start openvpn-tcp.service # ps -ef | grep 'open' nobody     1587      1  0 12:13 ?        00:00:00 /usr/local/openvpn/sbin/openvpn --config server-tcp.conf # systemctl status openvpn-tcp.service

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

ip address  同时也会新增一个网卡

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

同理启动 systemctl start openvpn-udp.service

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

ip address

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

systemctl status openvpn-udp.service

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

客户端client用户配置文件

备注:文件名 windows为client.ovpn,Linux为client.conf 需要的证书与配置文件如下图: 下载并安装客户端

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

用户的配置文件需要放到config下

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

创建用户目录存放用户配置文件

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

说明: 1、注意路径,在OpenVPN/config目录下建立了zhonghaoling目录 2、ca.crt、 zhonghaoling .crt、 zhonghaoling .key、ta.key都是之前创建好的,只有zhangsan.ovpn需要单独下载并修改。 整理客户证书。 如果是公司给员工开通vpn,需要打包 ( ca.crt、 zhonghaoling .crt、 zhonghaoling .key、ta.key, zhonghaoling-tcp.ovpn,zhonghaoling-udp.ovpn ) 发给员工。 员工只需要安装客户端,放入配置文件即可,不要把过多复杂的操作交给员工 cd /home/EasyRSA-3.0.8 mkdir /opt/zhonghaoling cp -a pki/ca.crt /opt/zhonghaoling/ cp -a pki/issued/zhonghaoling.crt /opt/zhonghaoling/ cp -a pki/private/zhonghaoling.key /opt/zhonghaoling/ cp -a ta.key /opt/zhonghaoling/

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

  首先这个用户是用window连接的 来到目录下 cd /opt/zhonghaoling/ 创建客户端配置文件 vim zhonghaoling-tcp.ovpn client dev tun proto tcp remote 192.168.15.144 1115 resolv-retry infinite nobind ;user nobody ;group nobody persist-key persist-tun ca ca.crt cert zhonghaoling.crt key zhonghaoling.key remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC compress lz4-v2 verb 3 ;mute 20

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

  继续创建一份udp的 vim zhonghaoling-udp.ovpn -------------------------------------------------------------------------------------------------------------------------------- client dev tun proto udp remote 192.168.15.144 1229 resolv-retry infinite nobind ;user nobody ;group nobody persist-key persist-tun ca ca.crt cert zhonghaoling.crt key zhonghaoling.key remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC compress lz4-v2 verb 3 ;mute 20

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

配置文件参数说明

参考:openvpn-2.4.9/sample/sample-config-files/client.conf # 文件名 windows为client.ovpn,Linux为client.conf   client # 标识这是个客户端   dev tun # 使用三层路由IP隧道(tun)还是二层以太网隧道(tap)。服务端是什么客户端就是什么   proto tcp # 使用的协议,有udp和tcp。服务端是什么客户端就是什么   remote 10.0.0.190 1194 # 服务端的地址和端口   resolv-retry infinite # 一直尝试解析OpenVPN服务器的主机名。 # 在机器上非常有用,不是永久连接到互联网,如笔记本电脑。   nobind # 大多数客户机不需要绑定到特定的本地端口号。   ;user nobody ;group nobody # 初始化后的降级特权(仅非windows)   persist-key persist-tun # 尝试在重新启动时保留某些状态。   ca ca.crt cert client.crt key client.key # ca证书、客户端证书、客户端密钥 # 如果它们和client.conf或client.ovpn在同一个目录下则可以不写绝对路径,否则需要写绝对路径调用   remote-cert-tls server # 通过检查certicate是否具有正确的密钥使用设置来验证服务器证书。   tls-auth ta.key 1 # 加强认证方式,防攻击。服务端有配置,则客户端必须有   cipher AES-256-CBC # 选择一个密码。如果在服务器上使用了cipher选项,那么您也必须在这里指定它。注意,v2.4客户端/服务器将在TLS模式下自动协商AES-256-GCM。   compress lz4-v2 # 服务端用的什么,客户端就用的什么 # 表示客户端启用lz4的压缩功能,传输数据给客户端时会压缩数据包。   verb 3 # 日志级别   ;mute 20 # 沉默的重复信息。最多20条相同消息类别的连续消息将输出到日志。 最后 查看文件

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

打包发给员工  zip -r  zhonghaoling.zip zhonghaoling/

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

zip给客户端

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

启动openvpn

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

看见2个连接 首先确定openvpn服务器对应端口开启

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

tcp连接能用 能用内网ip登录和外网ip登录openvpn服务器

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口
公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

udp连接能用

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

到了这里意味着成功了一半。 第一步测试网络能否通10.2.2.1

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

这里网络不通。需要开启转发功能   开启转发功能并生效 修改配置 grep 'net.ipv4.ip_forward = 1' /etc/sysctl.conf || echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf 使其生效 sysctl -p

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

原因:从客户端访问web01或web02机器需要通过VPN机器中转。

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

现在能ping通,但是还是无法用ssh登陆 原因是请求后的数据包无法找到网络返回回来,需要手动指定数据包返回路径 这里需要停止防火墙,去除开机启动,用 iptables规则。这里经测试firewall无法使用该规则 systemctl stop firewalld systemctl disable firewalld

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

  iptables配置 只需添加配置,不需要启动iptables服务 添加规则 iptables -t nat -A POSTROUTING -s 10.123.0.0/24 -o ens33  -j MASQUERADE 永久保存 iptables-save > /etc/sysconfig/iptables 查询规则 iptables -L -n -t nat

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

原因:客户端连接VPN后,默认分配的10.123.0.0/24网段地址,不能直接获取web01或web02机器【这两台是10.2.2.0/24网段】返回的数据包,因此需要在iptables进行nat配置。 删除上面的iptables配置信息命令如下。作用:对比正常的访问和异常的访问 iptables -t nat -D POSTROUTING 1   现在可以进行访问了

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

接下来就是另一台Linux做客户端 安装步骤,如服务端一样   tar xf openvpn-2.5.0.tar.gz   cd openvpn-2.5.0   autoreconf -i -v -f   ./configure --prefix=/usr/local/openvpn --enable-lzo --enable-lz4 --enable-plugins --enable-port-share --enable-iproute2 --enable-pf --enable-plugin-auth-pam --enable-pam-dlopen --enable-systemd   make && make install   ln -s /usr/local/openvpn/sbin/openvpn /usr/local/sbin/openvpn   cp -a /usr/local/openvpn/lib/systemd/system/openvpn[email protected] /usr/lib/systemd/system/openvpn-client.service    vi /usr/lib/systemd/system/openvpn-client.service 修改指向配置文件

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

mkdir -p /etc/openvpn/ 将客户端生成的客户配置文件传到该服务器解压

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口
公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

备注:文件名 windows为wangwu.ovpn,Linux为wangwu.conf cp -a zhonghaoling-tcp.ovpn zhonghaoling.conf 注册开机服务 systemctl enable openvpn-client.service 启动服务 systemctl start openvpn-client.service 这里会报提示 Broadcast message from [email protected] (Wed 2021-01-06 22:36:04 CST):   Password entry required for 'Enter Private Key Password:' (PID 16008). Please enter password with the systemd-tty-ask-password-agent tool!

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

这里告诉你需要使用systemd-tty-ask-password-agent( 列出或处理当前正在等待中的系统密码请求)对其输入用户密码, 如果跳过,每隔1分钟又会提示输入密码 直接复制上面的提示,然后会输入密码 systemd-tty-ask-password-agent

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

ip address

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

就可以看见分配的地址了 先ping一下 内网服务器

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

可以看见可以ping通了 然后我们登陆一下

公司内网openvpn部署,公司内网openvpn部署安装openvpn生成证书(这里需要一个专门的工具Easy-rsa)创建服务端配置文件启动openvpn服务并查看进程与端口

发现也可以登录了。   这里udp的连接就不配置了 ,     这里有个很迷的操作  1---如何保留firewall的情况下openvpn服务器生效 2----udp无法立即生效,需要等待十几分钟才会生效,允许udp连接                        end 参照  http://www.zhangblog.com/2020/05/09/openvpn01/