文档章节

如何使用OpenBSD架设VPN(一)

通九互联科技
 通九互联科技
发布于 2012/12/27 01:00
字数 1395
阅读 878
收藏 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手册)好了。




© 著作权归作者所有

共有 人打赏支持
通九互联科技
粉丝 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
74
英特尔处理器超线程功能被OpenBSD 停用,并爆bug

OpenBSD已经禁用了英特尔的超线程技术,理由是安全问题 - 这看起来像是Spectre式的问题。OpenBSD维护者Mark Kettenis写道:“SMT(同时多线程)实现通常在线程之间共享TLB和L1缓存。 “这可能...

六库科技
09/05
0
0
OpenBSD5 omap架设

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

MeiKai
2012/10/06
0
0
OpenBSD 6.4 将默认停用英特尔处理器的超线程功能

今年6月,因担忧更多 Spectre 变种漏洞,OpenBSD 宣布了禁用英特尔 CPU 的超线程支持的计划。8月23日,OpenBSD 创始人 Theo de Raadt 在邮件列表上宣布,OpenBSD -current(6.4) 将正式停用...

王练
08/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

怎样使用主流缓存更新策略来减少性能消耗?

在互联网项目开发中,缓存的应用是非常普遍了,缓存可以帮助页面提高加载速度,减少服务器或数据源的负载。 一、为什么需要缓存? 一般在项目中,最消耗性能的地方就是后端服务的数据库了。而...

Java干货分享
12分钟前
1
0
杭州云栖大会阿里云放大招,8K远程医疗会诊引关注

大家每天都会照镜子,镜子里的一切都清清楚楚,足可乱真,可是你想过有一天看视频直播就像照镜子么? 这不,在云栖大会的C馆里,8K超高清直播体验馆前异常火爆,在这里,很多参会者都围着有1...

阿里云云栖社区
15分钟前
16
0
C++获取系统盘符极简方法

盘符获取 std::shared_ptr<std::list<wchar_t>> disks(void) {wchar_t data[255];return [&](int length)->std::shared_ptr<std::list<wchar_t>> {auto result = std::make_shared< s......

CHONGCHEN
15分钟前
1
0
Python 操作samba文件服务器

# /usr/bin/env python# -*- coding:utf-8 -*-from smb.SMBConnection import SMBConnectionconn = SMBConnection('root', '123456', 'any', '', use_ntlm_v2 = True)assert conn.......

China丶小可
22分钟前
1
0
vue引入echart.js打包时特别大

link : https://www.cnblogs.com/strinkbug/p/5786222.html 一、i在html中添加script标签如下: <script src="//cdn.bootcss.com/echarts/3.2.2/echarts.simple.min.js"></script> 二、在web......

Js_Mei
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部