文档章节

如何使用OpenBSD架设VPN(一)

通九互联科技
 通九互联科技
发布于 2012/12/27 01:00
字数 1395
阅读 872
收藏 9
点赞 0
评论 0

最近将自己的iBook上的Debian换成了FreeBSD,但是不幸的事情的发生了,FreeBSD对iBook的支持很差。最后只能换成OpenBSD(毕竟OpenBSD继承了NetBSD很多遗产,对iBook支持很给力,但是个人不喜欢NetBSD,所以没安装),现在唯一使用Linux系统的只有我的Baffolu的NAS(发行版是Debian,很希望能换成BSD的系统)。

最开始想把NAS作为我的VPN接入点,让我直接接入公司内,但是那个ARM板内存有点小(256M),跑起任务后就2M可用。所以准备将我的iBook改造成接入点。

那么换成OpenBSD了,我的初步选择就是IPsec了(如果你已经知道IPSec是什么了,那本文对你无帮助,请移步到别处吧,毕竟人的一生时间是有限的)。

这时就引来了一个话题,PPTP,L2TP,L2TP/IPSec这些又是什么东东呢?

首先说PPTP是什么,

PPTP(Point-to-Point Tunneling Protocol)是点对点隧道协议,这个东西说简单点,就是为了建立VPN(废话)。详细说明下,PPTP是通过建立一个安全隧道,让客户端得到一个企业内部的IP(好吧又废话了)。PPTP并没有详细要求使用何种加密方式和何种认证方式,但是一般都是使用MSCHAP-V2或EAP-TLS进行认证和MPPE(某软的东西有专利的说,当然PPTP的制定过程基本上就是某软搞的)进行加密。PPTP看起来对Windows很友好,但是请大家注意一个问题,PPTP移GRE协议进行数据传输,需要TCP的1723端口进行GRE状态管理(很简单,很多家用路由实现的很不好,很多ISP的防火墙不能完整的支持这个穿透,例如某些小ISP商)。

那么L2TP是什么和L2TP/IPSec又有什么关系,

L2TP(Layer Two Tunneling Protocol)第二层隧道协议,这玩意不单单支持TCP/IP的,支持ATM,X.25和帧中继等协议。虽说是工作在OSI的二层(数据链路层)上,但是在IP网络上却是个不折不扣的工作在OSI的六层(会话层)上,就因为有个UDP的注册端口1701。那么L2TP/IPSec又和它有什么关系,因为L2TP本身并不是针对IP协议设计的,所以不会对IP协议进行加密(Internet上,你懂得)。多说一句,是吸取了某软和某科的东西,搞出来的。对防火墙比较友好(穿透力比较强了,一般ISP不会搞死这东西,除了某传说物品),使用IPSec后就有了强大的加密技,并且能提供很好的认证(计算机和用户双认证)。好了说个问题,别忘了这东西是基于UDP的,UDP大家懂得,以国内的网络环境。。。。。。。

好了回到正题上IPsec是什么

IPsec(Internet Protocol Security)是工作在OSI模型的的第三层(网络层),这就意味着我们基本上可以保护所有的TCP和UDP传输(SSH隧道要以来TLS,是工作代OSI模型的第四层(传输层)上的,并且TLS不能保护UDP)。IPSec有两个协议AH和ESP来保证安全。AH(Authentication Header)认证头,是用来保证完整性和稳定性的,同时也被用来做抗重放攻击,认证头试图保护IP数据报的所有字段,那些在传输IP分组的过程中要发生变化的字段就只能被排除外。ESP(Encapsulating Security Payload)封装安全数据负载,提供了源可靠性、完整性和保密性的支持,但是封装安全数据负载不尝试保护IP头。换句话说,AH的加密强度比ESP高,因为AH尝试保护IP头和内部数据,而ESP只管内部数据。在IPSec的照耀下,可以同时使用两种协议同时来保证数据安全(这个地方有点不清楚它会怎么做,因为没见过,但是看起来很强大的样子,但是对传说中的某物恐怕依旧是小儿科,伟大的协议切断和IP封锁根本就是让你连接不上,更别说传输了),但是现实世界中,我们使用ESP协议就足够安全了。

好了讲了半天全是安全,怎么见到VPN的影子呢。IPSec不管怎么加密,都支持两种模式:传输模式和隧道模式(VPN开始了)。传输模式很简单了,就是保护IP内部数据直接通过Internet完成路由,将数据传送到对断,完成的是Host-to-Host的传输。隧道模式呢,会将要传输的整个IP包加密之后(数据包A),外部再添加一个IP头,也就是说一个IP头加上数据包A构成新的数据包传输。这样数据包A中的IP头的IP就可以是对端网络的内部IP了,而后添加的IP头中的IP就是对方Gateway的IP了,这样就能达到VPN的效果,Gateway-to-Gateway或Host-To-Gateway的传输了。

好了有两个问题,Windows对这东西支持不是特别好,并且最重要的是这东西配置起来很麻烦。Windows支持差点,这个嘛,没关系,Windows上安装一个OpenBSD的虚拟机当防火墙好了。第二个问题,我们不断的男人(man手册)好了。




© 著作权归作者所有

共有 人打赏支持
通九互联科技
粉丝 130
博文 38
码字总数 21941
作品 1
大连
个人站长
OpenBSD如何挂载USB闪存盘

在OpenBSD 操作系统下,如何在命令行下挂载和使用USB闪存盘或者移动硬盘呢?OpenBSD系统支持通过模拟SCSI接口的方式来使用USB存储设备(优盘或者移动硬盘),你需要以root用户的方式登陆Ope...

LEAN_IN
2014/05/25
0
0
锤子科技 480 万门票收入捐赠给 OpenSSL 与 OpenBSD

在刚刚结束的锤子科技 2018 鸟巢新品发布会上,罗永浩宣布,本次发布会的门票收入将全部捐赠给 OpenSSL 与 OpenBSD 两家开源组织,合计人民币 4,848,500 元。 此前,我们曾报道过,OpenBSD 基...

局长
05/15
0
7
OpenBSD5 omap架设

搜索引擎搜索了很多,始终找不到合适的,主要原因是大多数说的多是比较旧的系统版本,跟5.1差距太多,按照网上的说法都不成功,经过一天的研究,OpenBSD架设web服务器成功 首先添加源,这个源...

MeiKai
2012/10/06
0
0
因安全担忧,OpenBSD 将禁用英特尔 CPU 的超线程支持

因担忧更多 Spectre 变种漏洞,OpenBSD 项目宣布它计划禁用英特尔 CPU 的超线程支持。超线程是同时多线程技术的英特尔私有实现,允许处理器在 CPU 的不同核心执行并发操作。英特尔处理器从 ...

局长
06/21
0
0
嵌入式linux常用服务配置之tftp服务器配置

由于在调试Linxu时需要使用网络来进行下载内核,平时使用的是在Windows下采用tftp软件来完成此操作,但是当调试内核是需要经 常的来修改内核来进行调试,所以要经常的从Linux下拷贝内核到Win...

乐学为上
2012/03/24
0
0
OpenBSD禁用英特尔 CPU 的超线程支持

OpenBSD禁用英特尔 CPU 的超线程支持 Ronny 27分钟前暂无评论 阅读 16 次 因担忧更多 Spectre 变种漏洞,OpenBSD 项目宣布它计划禁用英特尔 CPU 的超线程支持。超线程是同时多线程技术的英特...

Ronny
07/07
0
0
BUF早餐铺 部分Windows 7旧设备已无法获取更新和安全补丁;OpenBSD出于安全考虑禁用Intel CPU超线程;以太坊线重大漏洞,或将导致T...

  各位 Buffer 早上好,今天是 2018 年 6 月 21 日星期四,农历五月初八。今天份的 BUF 早餐内容主要有: 部分Windows 7旧设备已无法获取更新和安全补丁;OpenBSD出于安全考虑禁用Intel C...

FreeBuf
06/21
0
0
锤子科技2018发布会门票收入再次捐赠开源基金会

锤子科技2018年5月15日的鸟巢新品发布会后,罗永浩再次宣布捐赠发布会的门票收入 4,848,500 元人民币给OpenSSL 与 OpenBSD 两家开源组织。往年的锤子科技发布会都会给开源项目捐款。2014 年锤...

marsdream
05/18
0
0
Portable OpenSSH GSSAPI远程代码执行漏洞(CVE-2006-5051)漏洞解决方案

最近给公司内网的服务器做了一次全面的扫描,出现几个高危的漏洞,网上查了一下,普遍存在啊。所谓不扫不知道,一扫吓一跳啊。 漏洞的名称为Portable OpenSSH GSSAPI远程代码执行漏洞(CVE-20...

zhangdiandong
2014/05/26
0
0
Ubuntu Bind9泛域名解析配置

bind9简介 BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,包括 域名服务器 (named) DNS解析库函数 DNS服务器运行调试所用...

墨鱼ID
2013/03/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
14分钟前
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
34分钟前
0
0
HTTP协议通信原理

了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务。 HTTP使用...

寰宇01
57分钟前
0
0
【Java动态性】之反射机制

一、Java反射机制简介

谢余峰
58分钟前
1
0
Centos 6.X 部署环境搭建

1.Linux学习笔记CentOS 6.5(一)--CentOS 6.5安装过程

IT追寻者
今天
0
0
博客即同步至腾讯云+社区声明

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=8vy9bsmadbko...

xiaoge2016
今天
1
0
大数据教程(3.1):Linux系统搭建网络YUM源服务器

博主在前面的2.5章节讲述了linux系统本地YUM服务器的搭建和httpd轻量级静态网站服务器的安装,本节博主将为大家分享内网环境中搭建自己的网络YUM服务器的全过程。如果大家对本地YUM服务器还不...

em_aaron
今天
1
0
蚂蚁技术专家:一篇文章带你学习分布式事务

小蚂蚁说: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务...

Java大蜗牛
今天
1
0
新的Steam应用将拓展服务项目

导读 未来几周,Steam将推出两个免费的应用程序Steam Link和Steam Video。这两个应用程序都旨在拓展Steam平台的业务和便利性。 即将开放的Steam Link应用程序最先提供了Android测试版,它将允...

问题终结者
今天
0
0
golang 第三方包的使用总结

golang 第三方包的安装的方法: 1. go get 安装 $ go get github.com/gin-gonic/gin 注意:执行go get 命令需要先安装git命令,并配置git全局变量。 2. 源码包安装 由于国内网络问题,很多时...

科陆李明
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部