文档章节

如何使用OpenBSD架设VPN(一)

通九互联科技
 通九互联科技
发布于 2012/12/27 01:00
字数 1395
阅读 888
收藏 9

最近将自己的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手册)好了。




© 著作权归作者所有

共有 人打赏支持
通九互联科技
粉丝 132
博文 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
74
连续四年捐赠,微软再度成为 OpenBSD 金牌贡献者

微软近日再度对 OpenBSD 基金会进行捐赠,成为金牌贡献者。OpenBSD Journal 写道:微软已经连续四年为 OpenBSD 基金会做出贡献,感谢微软的慷慨支持。 从 OpenBSD 基金会官网公布的捐赠列表可...

王练
11/19
0
0
OpenBSD5 omap架设

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

MeiKai
2012/10/06
0
0
成功“续命”,OpenBSD 基金会年度筹款目标已达成

今年3月份,OpenBSD 基金会在其官网发布了一篇号召捐款的文章,表示 2018 年要实现 30 万美元的筹款目标。OpenBSD 基金会表示,实现这一目标能确保他们所支持的项目持续保持健康的状态,使他...

王练
10/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nginx 内置请求参数

nginx内置变量 内置变量存放在 ngx_http_core_module 模块中,变量的命名方式和apache 服务器变量是一致的。总而言之,这些变量代表着客户端请求头的内容,例如$http_user_agent, $http_coo...

大木老师故事的小黄花
昨天
2
0
我为什么坚持写作

说写作可能是抬高了自己,目前来说只能是写东西、记录东西、表达观点和情感。 在俞敏洪的公众号上看到过一篇文章,里面讲了一个观点,大概是说写作不求能写出伟大的作品,只是把自己的生活、...

Bob2100
昨天
3
0
中国公有云三巨头,同时支持Rancher Kubernetes平台

华为云容器引擎(CCE)、阿里云K8S容器服务(ACK)和腾讯云K8S引擎(TKE),中国公有云三巨头正式全面支持Rancher Kubernetes平台。 Rancher正式宣布扩大对中国领先Kubernetes服务的支持,华...

RancherLabs
昨天
1
0
【NLP】【八】基于keras与imdb影评数据集做情感分类

【一】本文内容综述 1. keras使用流程分析(模型搭建、模型保存、模型加载、模型使用、训练过程可视化、模型可视化等) 2. 利用keras做文本数据预处理 【二】环境准备 1. 数据集下载:http:...

muqiusangyang
昨天
3
0
nginx 解决session一致性

session 粘滞性 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 upstream backserver {ip_hash;server 192.168.0.14:88;server 192.1...

zhu_kai1
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部