位置: 编程技术 - 正文

在Ubuntu Server上配置OpenVPN全攻略(ubuntu server gui)

编辑:rootadmin

推荐整理分享在Ubuntu Server上配置OpenVPN全攻略(ubuntu server gui),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ubuntu server gui,ubuntu 20.04 server,ubuntu server怎么样,ubuntu server20,ubuntu server desktop,ubuntu server怎么样,ubuntu server desktop,ubuntu server desktop,内容如对您有帮助,希望把文章链接给更多的朋友!

OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,允许创建的VPN使用公开密钥、数字证书、或者用户名/密码来进行身份验证。OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows /XP/Vista/7以及Android和iOS上运行,并包含了许多安全性的功能。

配置OpenVPN 2.0的第一步是建立一个PKI(public key infrastructure 公钥基础设施)。PKI包括:

服务端和每个客户端都有一个证书(也称做公钥)和私钥一个认证机构(CA)的证书和私钥,用来为每一个服务端和客户端颁发证书(sign each of the server and client certificates)。OpenVPN 支持基于证书的双向认证,也就是说客户端需认证服务端,服务端也要认证客户端,

服务端和客户端验证对方的第一步是验证对方提供的证书是由认证机构(CA)颁发的。然后测试第一步认证通过的证书的头部信息,如:证书的common name,证书的类型(客户端还是服务端)。

从VPN的观点来看,这一安全模式满足一系列要求:

服务端仅仅需要它自己的证书/私钥对 -- 它不需要知道客户端的证书。服务端仅仅接受拥有CA颁发的证书的客户端。因为服务端检查证书是否由CA颁发时并不需要访问 CA的私钥,这样就可以将CA的私钥(整个PKI中最重要的私钥)放在另一台机子上。如果一个私钥(is compromised),通过将它的证书加入CRL(证书吊销列表)可以禁止这一私钥。 CRL允许有选择地拒绝compromised 证书而不需要重建整个PKI。基于嵌入的证书域比如Vommon Name,服务端能够加强客户端待定(client-specific)访问权限 (access fights)。

服务器端配置首先,我们必须安装OpenVPN软件。在Ubuntu .和其它带有‘apt’包管理器的Unix系统中,可以通过如下命令安装:

复制代码代码如下:sudo apt-get install openvpn 然后,我们必须配置一个密钥对,这可以通过默认的“openssl”工具完成。但是,这种方式十分难。这也是我们使用“easy-rsa”来实现此目的的原因。接下来的命令会将“easy-rsa”安装到系统中。

复制代码代码如下:sudo apt-get unstall easy-rsa注意: 所有接下来的命令要以超级用户权限执行,如在使用sudo -i命令后执行,或者你可以使用sudo -E作为接下来所有命令的前缀。

开始之前,我们需要拷贝“easy-rsa”到openvpn文件夹。

复制代码代码如下:mkdir /etc/openvpn/easy-rsacp -r /usr/share/easy-rsa /etc/openvpn/easy-rsamv /etc/openvpn/easy-rsa/easy-rsa /etc/openvpn/easy-rsa/2.0然后进入到该目录

复制代码代码如下:cd /etc/openvpn/easy-rsa/2.0这里,我们开始密钥生成进程。

首先,我们编辑一个“vars”文件。为了简化生成过程,我们需要在里面指定数据。这里是“vars”文件的一个样例:

export KEY_COUNTRY="CN"export KEY_PROVINCE="BJ"export KEY_CITY="Beijing"export KEY_ORG="Linux.CN"export KEY_EMAIL="open@vpn.linux.cn"export KEY_OU=server希望这些字段名称对你而言已经很清楚,不需要进一步说明了。

其次,我们需要拷贝openssl配置。另外一个版本已经有现成的配置文件,如果你没有特定要求,你可以使用它的上一个版本。这里是1.0.0版本。

复制代码代码如下:cp openssl-1.0.0.cnf openssl.cnf第三,我们需要加载环境变量,这些变量已经在前面一步中编辑好了。

复制代码代码如下:source ./vars生成密钥的最后一步准备工作是清空旧的证书和密钥,以及生成新密钥的序列号和索引文件。可以通过以下命令完成。

复制代码代码如下:./clean-all现在,我们完成了准备工作,准备好启动生成进程了。让我们先来生成证书。

复制代码代码如下:./build-ca在对话中,我们可以看到默认的变量,这些变量是我们先前在“vars”中指定的。我们可以检查一下,如有必要进行编辑,然后按回车几次。对话如下

Generating a bit RSA private key.............................................+++...................................................................................................+++writing new private key to 'ca.key'-----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.-----Country Name (2 letter code) [CN]:State or Province Name (full name) [BJ]:Locality Name (eg, city) [Beijing]:Organization Name (eg, company) [Linux.CN]:Organizational Unit Name (eg, section) [Tech]:Common Name (eg, your name or your server's hostname) [Linux.CN CA]:Name [EasyRSA]:Email Address [open@vpn.linux.cn]:接下来,我们需要生成一个服务器密钥

复制代码代码如下:./build-key-server server该命令的对话如下:

Generating a bit RSA private key........................................................................+++............................+++writing new private key to 'server.key'-----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.-----Country Name (2 letter code) [CN]:State or Province Name (full name) [BJ]:Locality Name (eg, city) [Beijing]:Organization Name (eg, company) [Linux.CN]:Organizational Unit Name (eg, section) [Tech]:Common Name (eg, your name or your server's hostname) [Linux.CN server]:Name [EasyRSA]:Email Address [open@vpn.linux.cn]:Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:An optional company name []:Using configuration from /etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnfCheck that the request matches the signatureSignature okThe Subject's Distinguished Name is as followscountryName :PRINTABLE:'CN'stateOrProvinceName :PRINTABLE:'BJ'localityName :PRINTABLE:'Beijing'organizationName :PRINTABLE:'Linux.CN'organizationalUnitName:PRINTABLE:'Tech'commonName :PRINTABLE:'Linux.CN server'name :PRINTABLE:'EasyRSA'emailAddress :IA5STRING:'open@vpn.linux.cn'Certificate is to be certified until May :: GMT ( days)Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]yWrite out database with 1 new entriesData Base Updated这里,最后两个关于“签署证书”和“提交”的问题,我们必须回答“yes”。

现在,我们已经有了证书和服务器密钥。下一步,就是去省城Diffie-Hellman密钥。执行以下命令,耐心等待。在接下来的几分钟内,我们将看到许多点和加号。

复制代码代码如下:./build-dh该命令的输出样例如下

在Ubuntu Server上配置OpenVPN全攻略(ubuntu server gui)

Generating DH parameters, bit long safe prime, generator 2This is going to take a long time................................+................<许多的点>在漫长的等待之后,我们可以继续生成最后的密钥了,该密钥用于TLS验证。命令如下:

复制代码代码如下:openvpn --genkey --secret keys/ta.key现在,生成完毕,我们可以移动所有生成的文件到最后的位置中。

复制代码代码如下:cp -r /etc/openvpn/easy-rsa/2.0/keys/ /etc/openvpn/最后,我们来创建OpenVPN配置文件。让我们从样例中拷贝过来吧:

复制代码代码如下:cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/cd /etc/openvpngunzip -d /etc/openvpn/server.conf.gz然后编辑

复制代码代码如下:vim /etc/openvpn/server.conf我们需要指定密钥的自定义路径

复制代码代码如下:ca /etc/openvpn/keys/ca.crtcert /etc/openvpn/keys/server.crtkey /etc/openvpn/keys/server.key # This file should be kept secretdh /etc/openvpn/keys/dh.pem一切就绪。在重启OpenVPN后,服务器端配置就完成了。

复制代码代码如下:service openvpn restartUnix的客户端配置假定我们有一台装有类Unix操作系统的设备,比如Ubuntu .,并安装有OpenVPN。我们想要连接到前面建立的OpenVPN服务器。首先,我们需要为客户端生成密钥。为了生成该密钥,请转到服务器上的对应目录中:

复制代码代码如下:cd /etc/openvpn/easy-rsa/2.0加载环境变量

复制代码代码如下:source vars然后创建客户端密钥

复制代码代码如下:./build-key client我们将看到一个与先前关于服务器密钥生成部分的章节描述一样的对话,填入客户端的实际信息。

如果需要密码保护密钥,你需要运行另外一个命令,命令如下

复制代码代码如下:./build-key-pass client在此种情况下,在建立VPN连接时,会提示你输入密码。

现在,我们需要将以下文件从服务器拷贝到客户端/etc/openvpn/keys/文件夹。

服务器文件列表:

ca.crt,dh.pem,client.crt,client.key,ta.key.在此之后,我们转到客户端,准备配置文件。配置文件位于/etc/openvpn/client.conf,内容如下

复制代码代码如下:dev tunproto udp# 远程 OpenVPN 服务器的 IP 和 端口号remote ... resolv-retry infiniteca /etc/openvpn/keys/ca.crtcert /etc/openvpn/keys/client.crtkey /etc/openvpn/keys/client.keytls-clienttls-auth /etc/openvpn/keys/ta.key 1auth SHA1cipher BF-CBCremote-cert-tls servercomp-lzopersist-keypersist-tunstatus openvpn-status.loglog /var/log/openvpn.logverb 3mute 在此之后,我们需要重启OpenVPN以接受新配置。

复制代码代码如下:service openvpn restart好了,客户端配置完成。

安卓客户端配置安卓设备上的OpenVPN配置和Unix系统上的十分类似,我们需要一个含有配置文件、密钥和证书的包。文件列表如下:

配置文件 (扩展名 .ovpn),ca.crt,dh.pem,client.crt,client.key.客户端密钥生成方式和先前章节所述的一样。

配置文件内容如下

复制代码代码如下:client tls-clientdev tunproto udp# 远程 OpenVPN 服务器的 IP 和 端口号remote ... resolv-retry infinitenobindca ca.crtcert client.crtkey client.keydh dh.pempersist-tunpersist-keyverb 3mute 所有这些文件我们必须移动我们设备的SD卡上。

然后,我们需要安装一个OpenVPN Connect 应用。

接下来,配置过程很是简单:

打开 OpenVPN 并选择“Import”选项选择“Import Profile from SD card”在打开的窗口中导航到我们放置好文件的目录,并选择那个 .ovpn 文件应用会要求我们创建一个新的配置文件点击“Connect”按钮并稍等一下搞定。现在,我们的安卓设备已经通过安全的VPN连接连接到我们的专用网。

尾声虽然OpenVPN初始配置花费不少时间,但是简易的客户端配置为我们弥补了时间上的损失,也提供了从任何设备连接的能力。此外,OpenVPN提供了一个很高的安全等级,以及从不同地方连接的能力,包括位于NAT后面的客户端。因此,OpenVPN可以同时在家和企业中使用。

管理Ubuntu系统的开机启动项的教程 你曾经考虑过在Ubuntu中管理开机启动应用吗?如果在开机时,你的Ubuntu系统启动得非常缓慢,那么你就需要考虑这个问题了。每当你开机进入一个操作

Ubuntu修复There is no command installed for 7-zip archive files错误 问题我试着在Ubuntu中安装Emerald图标主题,而这个主题被打包成了.7z归档包。和以往一样,我试着通过在GUI中右击并选择提取到这里来将它解压缩。但是U

在Ubuntu上使用Gnome DO和Awesome Linux桌面高效工作----使用GnomeDO不知大家是否和我一样在win下系统win+r输入命令来快速启动程序,这两天在Linux下碰到一个比这更爽,更快的软件,GnomeDo.GnomeDo

标签: ubuntu server gui

本文链接地址:https://www.jiuchutong.com/biancheng/350415.html 转载请保留说明!

上一篇:在Ubuntu系统上使用LVM调整硬盘分区的示例(ubuntu系统怎么用)

下一篇:管理Ubuntu系统的开机启动项的教程(ubuntu 管理软件)

  • 车船税每年都要交吗,一般是多少钱交强险可以晚交吗
  • 化肥与农药的利与弊
  • 合作社开具的免税农产品发票
  • 自己打印raz
  • 怎么在网上申请电话卡
  • 税务发票上的二维码
  • 利润表中的本期金额栏内各项数字一般根据什么填列
  • 贷款损失准备金怎么计算
  • 采购商品的运费计入成本的会计分录
  • 供应商货款打折分录
  • 报废物资收入计入什么科目旧准则
  • 发票有误多交的钱怎么办
  • 增值税专用发票和普通发票的区别
  • 意外保险计入职工薪酬
  • 怎么用手撕胶带图解
  • 转账支票存根属于银行回单吗
  • 金蝶增加银行存款账户,期间不对
  • a公司转给b公司投资款的会计分录
  • 税务总局关于四流一致解答
  • 报税文件是纳税申报表吗
  • 管理费用的结转需要在明细账中体现吗
  • 资产负债表没有实收资本正常吗
  • 酒类应税消费品消费税纳税申报表怎么填
  • 装修的增值税
  • 公司注销注销顺序
  • 专项储备通俗理解
  • php字符串定义的三种方式
  • 股权转让有哪些股
  • linux设置壁纸的命令
  • 最贵的安卓应用软件
  • java 调用go
  • uniapp使用高德猎鹰服务
  • 期间费用计入产品成本的费用吗
  • HTTP加密/HTTPS工作过程
  • php数组处理函数array_push会影响源数组的元素吗
  • 金融机构存放的保证金存款
  • 财产赔偿账务处理办法
  • 可转换优先股会稀释股权吗
  • 法定的盈余公积是什么
  • 已付款未开票怎么做账
  • sqlsever无法连接到服务器
  • 个体商户个人所得税怎么算
  • 企业低值易耗品的摊销方法有
  • 资本公积的用途主要用于
  • 存货周转率作为控制变量
  • 实收资本账务处理流程
  • 限制性股票应纳税额的确定
  • 服务合同开什么发票
  • 总结哪些纳税人可以采用简易计税方法
  • 行政事业单位零星维修相关规定
  • 残疾人就业保证金上年工资总额是说上一年度么
  • 应收账款的财务指标有哪些
  • 发票遗失证明怎么写范文
  • 事业单位的服务期
  • 暂估入库成本结转
  • 子公司向母公司借钱
  • 利息收入和应收利息
  • 收到境外打电话来怎么办
  • 行政单位负债类科目包括
  • 财务报表是否合法公允
  • 园林土方施工有哪些分项工程
  • 小企业的建账流程分为什么内容
  • MySql 5.6.14 winx64配置方法(免安装版)
  • windows7更新80072efe
  • Windows2008 对决 Windows Vista优势
  • win10鼠标指针在文本区很小
  • xp查看用户名和密码
  • win10文件夹右上角搜索不能用
  • windows8快捷键
  • virtualbox开启虚拟化
  • win8.1怎么退出安全模式
  • win8 embedded
  • unity3d游戏引擎支持几种平台发布?
  • jQuery的extend方法【三种】
  • 基于springboot的毕设
  • JavaScript获取元素
  • nodejs 路由
  • koa与node.js开发实战
  • 办公电话怎么设置铃声
  • 广州代理记账公司地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设