关于openvpn:如何搭建虚拟专有网络访问公司内网

前言因为公司开发都是内网环境,以往居家办公或非公司环境,都须要进行近程到公司电脑进行办公,为了不便部门共事出差驻场开发,搭建了虚构专有网络 在理论搭建过程中应用了OpenVPN和SoftEtherVPN两种形式,做个总结记录,集体还是更举荐SoftEtherVPN,有可视化界面,配置简略 以下操作中服务端指的是领有外网ip及端口的公司服务器,客户端指集体的办公电脑 OpenVPN服务端下载openvpn安装包,下载链接:https://pan.baidu.com/s/1J4_pgGvPFqehxd8y3jVWDA?pwd=ndzp 运行,抉择Cutomize,所有装置项都勾选,间接install 复制C:\Program Files\OpenVPN\easy-rsa\vars.example文件重命名为vars 关上cmd命令行执行以下命令 cd C:\Program Files\OpenVPN\easy-rsaEasyRSA-Start.bat./easyrsa init-pki./easyrsa build-ca nopass./easyrsa build-server-full SERVER nopassopenssl verify -CAfile pki/ca.crt pki/issued/SERVER.crt./easyrsa build-client-full CLIENT nopassopenssl verify -CAfile pki/ca.crt pki/issued/CLIENT.crt执行后命令行不要敞开 下载easytls安装包,下载链接:https://pan.baidu.com/s/15QA6DCAGJ5wgD1ZGjN7jrg?pwd=pojm 解压后将easytls和easytls-openssl.cnf两个文件拷贝到C:\Program Files\OpenVPN\easy-rsa目录 在之前的命令行继续执行 ./easytls init-tls./easytls build-tls-auth./easyrsa gen-dh将C:\Program Files\OpenVPN\sample-config目录下的server文件拷贝到C:\Program Files\OpenVPN\config 批改port为你自定义的端口,并在防火墙中凋谢(留神凋谢的是UDP) 批改以下文本中对应项的值,后面有;的删除分号代表关上正文 ca "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ca.crt"cert "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\issued\\SERVER.crt"key "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\private\\SERVER.key"dh "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\dh.pem"#这行如果关上了正文掉,代表所有流量都走vpn,会造成拥挤#push "redirect-gateway def1 bypass-dhcp"#这行手动复制增加,指定网段流量拜访才走vpnpush "route 192.168.1.0 255.255.255.0"push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\easytls\\tls-auth.key" 0cipher AES-256-CBCduplicate-cn右击openpvn托盘图标点击链接,显示绿色代表连贯胜利 进入网络适配器,点击以太网网卡属性选项,抉择OpenVPN TAP-windows6,勾选所有容许选项 运行输出regedit关上注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters ...

September 2, 2023 · 1 min · jiezi

关于openvpn:OpenVPN设置客户端固定IP

OpenVPN设置客户端固定IPLinux搭建OpenVPN服务端提供VPN服务_亲测可用 #批改配置vim /etc/openvpn/server.conf #关上这个配置, ccd文件夹,相对路径,和配置server.conf同一门路client-config-dir ccd#绝对路径 /etc/openvpn/ccd;client-config-dir /etc/openvpn/ccd客户端用户名的文件#比方:pk用户cat /etc/openvpn/ccd/pkifconfig-push 10.8.0.21 10.8.0.22#pk用户的固定IP为: 10.8.0.21#ifconfig-push ${IP} ${NETMASK}#若是应用net30子网的时候${NETMASK}就是${IP}的下一位,好比ifconfig-push 10.8.0.1 10.8.0.2参考链接:https://www.shangmayuan.com/a...https://www.ywcsb.vip/blog/58...https://www.mobibrw.com/2019/...

October 20, 2022 · 1 min · jiezi

关于openvpn:Linux搭建OpenVPN服务端提供VPN服务亲测可用

Linux装置OpenVPN服务端先将本机的yum换成阿里云的yum源curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum clean all yum makecache 装置依赖的软件包yum install rpm-build gcc lsof -y yum install -y pam-devel*yum install -y lzo lzo-devel openssl openssl-devel pam pam-develyum -y install epel*yum install -y pkcs11-helper pkcs11-helper-devel #确认曾经装置实现:rpm -qa lzo lzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-develyum -y install wget#下载openvpnwget http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz#编译rpmbuild -tb openvpn-2.2.2.tar.gz #执行下面这条命令当前就会失常开始编译了,编译实现当前会在 /root/rpmbuild/RPMS/x86_64 目录下生成 openvpn-2.2.2-1.x86_64.rpm 安装包。 #查看安装包ls /root/rpmbuild/RPMS/x86_64#装置rpm -ivh /root/rpmbuild/RPMS/x86_64/openvpn-2.2.2-1.x86_64.rpm配置OpenVPN服务(服务端)#初始化KPI cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0#进入到 /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0 目录下,找到 vars 证书环境文件,批改以下几行 export 定义的参数值vim varsexport KEY_COUNTRY="CN"export KEY_PROVINCE="SH"export KEY_CITY="SHANGHAI"export KEY_ORG="wu2700222"export KEY_EMAIL="wu2700222@126.com" #上述参数的值能够自定义设置,也能够不改,对配置无影响 生成服务端的证书#革除并删除keys目录下的所有keycd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0#创立软链接ln -s openssl-1.0.0.cnf openssl.cnfll openssl* source ./vars ./clean-all#生成CA证书,刚刚下面曾经在vars文件中配置了默认参数值,屡次回车实现就能够:./build-ca #一路回车#生成服务器证书#如下kuping是自定义的名字,始终回车,到最初会有两次交互,输出y确认,实现后会在keys目录下保留了kupingvpn.key、kupingvpn.csrl和kupingvpn.crt 三个文件。./build-key-server kupingVPN #一路回车,遇到交互提醒时,输出y#查看一下,刚生成的文件ls keys/ 创立VPN登陆用户的秘钥与证书#如下,创立用户名为kevin的秘钥和证书,始终回车,到最初会有两次确认,只有按y确认即可。实现后,在keys目录下生成1024位RSA服务器密钥kevin.key、kevin.crt和kevin.csr 三个文件。./build-key kevin#一路回车,遇到交互提醒时,输出y#查看一下,刚生成的文件ls keys/ 如果创立用户证书时报错,能够将keys整个目录删除,而后从source ./vars这一步开始从新操作(谨慎,否则之前在keys目录里的用户数据就会都删除) ...

September 12, 2022 · 2 min · jiezi

Centos7-安装openvpn-by-easyrsa30

# Centos7 安装openvpn by easy-rsa3.0 -----------------------------------------------------------------------------------------------------------------------------------------------------安装openvpn等所需要的软件首先你应该有一个外网ip,否则一切都是空谈 yum install -y epel-releaseyum install -y openvpn easy-rsa openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig server端 制作证书,密钥等文件CA证书生产[root@localhost ~]#cp /usr/share/doc/openvpn-2.4.6/sample/sample-config-files/server.conf /etc/openvpn/ //复制服务端配置文件到配置文件目录[root@localhost ~]# cp /usr/share/doc/openvpn-2.4.7/sample/sample-config-files/server.conf /etc/op[root@localhost ~]# mkdir /etc/openvpn/easy-rsa[root@localhost ~]# cp -r /usr/share/easy-rsa/3.0.3/* /etc/openvpn/easy-rsa/[root@localhost ~]# cd /etc/openvpn/easy-rsa/[root@localhost easy-rsa]# cp /usr/share/doc/easy-rsa-3.0.3/vars.example var[root@localhost easy-rsa]# lseasyrsa openssl-1.0.cnf var x509-types[root@localhost easy-rsa]#vim vars #×××的相关配置,根据需要自定义,也可以忽略不设置 set_var EASYRSA_REQ_COUNTRY "CN" #国家set_var EASYRSA_REQ_PROVINCE "BJ" #省set_var EASYRSA_REQ_CITY "Beijing" #城市set_var EASYRSA_REQ_ORG "My ***" #组织set_var EASYRSA_REQ_EMAIL "disk@skyii.com" #邮箱set_var EASYRSA_REQ_OU "sky" #公司、组织 [root@localhost easy-rsa]# ./easyrsa init-pki #初始化pki,生成目录文件结构init-pki complete; you may now create a CA or requests.your newly created PKI dir is: /etc/openvpn/easy-rsa/pki[root@localhost easy-rsa]# lseasyrsa openssl-1.0.cnf pki var x509-types[root@localhost easy-rsa]# ./easyrsa build-ca #创建ca证书Note: using Easy-RSA configuration from: ./vars #使用vars文件里面配置的信息Generating a 2048 bit RSA private key.................+++........................................................................................+++writing new private key to '/etc/openvpn/easy-rsa/pki/private/ca.key.Lg8IKADc4Q'Enter PEM pass phrase: #设置ca密码(我此处是写的silence)Verifying - Enter PEM pass phrase: #再输一遍上面的密码-----You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Common Name (eg: your user, host, or server name) [Easy-RSA CA]: #直接回车,就是默认的CA作为名字CA creation complete and you may now import and sign cert requests.Your new CA certificate file for publishing is at:/etc/openvpn/easy-rsa/pki/ca.crt #ca证书存放路径 ...

June 17, 2019 · 4 min · jiezi

OpenVPN同时监听TCP和UDP端口

OpenVPN同时监听TCP和UDP端口作者: 黄高明 日期: 2019-05-22 类别: vpn系列标题: OpenVPN同时监听TCP和UDP端口[TOC] 背景因为公司是通过动态拨号上网,没有固定的外网地址,所以VPN是通过映射到内网来实现。由于udp在防火墙层被拦截,所以部署完openvpn同时开启了tcp端口 实现方法1. 配置文件把/etc/openvpn/server.conf复制一份,比如/etc/openvpn/tcp.conf,然后修改tcp.conf: 协议修改为TCP:proto tcpIP地址修改略作修改,比如所有原来是10.8.0.x的地方,都改为10.8.1.x2. 修改防火墙然后修改iptables,增加一条nat规则-A POSTROUTING -s 10.8.1.0/24 -o eth0 -j MASQUERADE。iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 -j MASQUERADE 3. 启动进程 /usr/sbin/openvpn --cd /etc/openvpn/ --config tcp.conf4. 添加开机启动/etc/systemd/system/openvpntcp@.service [Unit]Description=OpenVPN Robust And Highly Flexible Tunneling Application On %IAfter=network.target[Service]Type=notifyPrivateTmp=trueExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config tcp.conf[Install]WantedBy=multi-user.target重载服务,添加为开启启动 systemctl daemon-reloadsystemctl restart openvpntcp@serversystemctl enable openvpntcp@serversystemctl list-unit-files |grep openvpntcp客户端ovpn配置生成的客户端配置,只需要修改udp为tcp.其中如果remote有2个的话,代表负载均衡,如果其中一个连接不上,会自动连接另外一个 clientproto tcpremote x.x.x.x 11111remote x.x.x.x 12222 ......

June 13, 2019 · 1 min · jiezi

通过脚本一键安装openvpn

通过脚本一键安装openvpn日期:2019-06-13 类别:vpn系列 标题:通过脚本一键安装openvpn 来源:github名称结果备注实测环境centos6.2、centos7.3实测通过支持平台Debian, Ubuntu, Fedora, CentOS and Arch Linux git路径openvpn-install.sh 脚本名称openvpn-install.sh 执行方式/bin/bash openvpn-install.sh 是否需要传参数否 是否有配置参数否 操作说明安装完成之后,再次执行openvpn-install.sh,可以实现对openvpn账号的管理以及卸载该操作是交互式操作 Add a client(添加客户端)Remove a client (删除客户端)Uninstall OpenVPN (卸载openvpn) openvpn客户端由于国情的原因,openvpn的官网在国内基本不可用。通过git暂时保存以下客户端 平台路径Linuxopenvpn-2.4.7.tar.gzWin10openvpn-install-2.4.7-I607-Win10.exeWin7openvpn-install-2.4.7-I607-Win7.exeMacTunnelblick_3.7.6a_build_5080.dmg.tar.gzAndroidopenvpn_android.apk支持平台 i386amd64armhfarm64Arch Linux❔✅❔❔CentOS 7❔✅❌✅Debian 8✅✅❌❌Debian 9❌✅✅✅Fedora 27❔✅❔❔Fedora 28❔✅❔❔Ubuntu 16.04✅✅❌❌Ubuntu 18.04❌✅✅✅Ubuntu 19.04❌✅✅✅windows 下cmd 连接openvpn前台启动openvpn-gui启动 "D:\soft\OpenVPN\bin\openvpn-gui.exe" --connect client.ovpnopenvpn启动 D:\soft\OpenVPN\bin\openvpn.exe --cd D:\soft\OpenVPN\config --config D:\soft\OpenVPN\config\client.ovpn --log-append C:\Users\Administrator\Desktop\openvpn.log后台启动D:\soft\OpenVPN\bin\openvpn.exe --cd D:\soft\OpenVPN\config --config D:\soft\OpenVPN\config\client.ovpn --log-append C:\Users\Administrator\Desktop\openvpn.log --daemon如果windows下不支持daemon,可以采用vbs的方法后台运行在c盘创建openvpn目录,并添加以下2个文件,执行openvpn_restart.vbs就会让openvpn在后台运行openvpn命令行位置,配置文件路径以及日志路径请自行修改为自己的路径 (1). openvpn_restart.bat @echo off&setlocal enabledelayedexpansionrem: Author: 黄高明rem: Create_date: 2019-06-10color 0Atitle 重启openvpntaskkill.exe /F /IM openvpn.exetaskkill.exe /F /IM openvpn-gui.exetimeout 1start /b D:\soft\OpenVPN\bin\openvpn.exe --cd D:\soft\OpenVPN\config --config D:\soft\OpenVPN\config\client.ovpn --log-append C:\openvpn\openvpn.log(2). openvpn_restart.vbs ...

June 13, 2019 · 1 min · jiezi