位置: 编程技术 - 正文

在Linux上配置P2P VPN的教程 (用linux配置ftp服务器的过程)

编辑:rootadmin

推荐整理分享在Linux上配置P2P VPN的教程 (用linux配置ftp服务器的过程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:用linux配置ftp服务器的过程,用linux配置ftp服务器的过程,linux配置l2tp,linux配置pip,linux配置l2tp,linux配置l2tp,linux配置pip,linux配置l2tp,内容如对您有帮助,希望把文章链接给更多的朋友!

一个传统的 VPN(如 OpenVPN、PPTP)由一个 VPN 服务器和一个或多个连接到这台服务器的客户端组成。当任意两个 VPN 客户端彼此通信时,VPN 服务器需要中继它们之间的 VPN 数据流量。这样一个中心辐射型的 VPN 拓扑结构存在的问题是,当连接的客户端增多以后,VPN 服务器很容易成为一个性能上的瓶颈。从某种意义上来说,中心化的 VPN 服务器也同样成为一个单点故障的来源,也就是当 VPN 服务器出现故障的时候,整个 VPN 都将无法被任何 VPN 客户端访问。点对点 VPN(又称 P2P VPN)是另一个 VPN 模型,它能解决传统的基于服务器-客户端模型的 VPN 存在的这些问题。一个 P2P VPN 中不再有一个中心的 VPN 服务器,任何拥有一个公开 IP 地址的节点都能引导其他节点进入 VPN。当连接到一个 VPN 之后,每一个节点都能与 VPN 中的任何其他节点直接通信,而不需要经过一个中间的服务器节点。当然任何节点出现故障时,VPN 中的剩余节点不会受到影响。节点中的延迟、带宽以及 VPN 扩展性在这样的设定中都有自然的提升,当你想要使用 VPN 进行多人游戏或者与许多朋友分享文件时,这都是十分理想的。

开源的 P2P VPN 实现已经有几个了,比如 Tinc、peerVPN,以及 n2n。在本教程中,我将会展示如何在 Linux 上用 n2n 配置点对点 VPN。

n2n 是一个开源(GPLv3)软件,它允许你在用户间构建一个加密的 2/3 层点对点 VPN。由 n2n 构建的 VPN 是“对 NAT 友好”的,也就是说,不同 NAT 路由器后方的两个用户可以通过 VPN 直接与对方通信。n2n 支持对称的 NAT 类型,这是 NAT 中限制最多的一种。因此,n2n 的 VPN 数据流量是用 UDP 封装的。

一个 n2n VPN 由两类节点组成:边缘(edge)节点和超级(super)节点。一个边缘节点是一台连接到 VPN 的电脑,它可能在一个 NAT 路由器后方。一个超级节点则是拥有一个可以公共访问的 IP 地址的电脑,它将会帮助 NAT 后方的边缘节点进行初始通信。想要在用户中创建一个 P2P VPN 的话,我们需要至少一个超级节点。

准备工作

在这篇教程中,我将会创建一个拥有 3 个节点的 P2P VPN:一个超级节点和两个边缘节点。唯一的要求是,边缘节点需要能够 ping 通超级节点的 IP 地址,而它们是否在 NAT 路由器之后则没有什么关系。在 Linux 上安装 n2n

若想用 n2n 构建一个 P2P VPN,你需要在每个节点上安装 n2n,包括超级节点。

由于它非常精简的依赖需求,在大多数 Linux 平台上 n2n 都能被轻松编译。

在基于 Debian 的系统上安装 n2n:

复制代码代码如下:$ sudo apt-get install subversion build-essential libssl-dev $ svn co $ cd n2n/n2n_v2 $ make $ sudo make install

在基于 Red Hat 的系统上安装 n2n:

复制代码代码如下:$ sudo yum install subversion gcc-c++ openssl-devel $ svn co $ cd n2n/n2n_v2 $ make $ sudo make install

用 n2n 配置一个 P2P VPN

在Linux上配置P2P VPN的教程 (用linux配置ftp服务器的过程)

如前文所述,我们需要至少一个超级节点,它将会作为一个初始化引导服务器。我们假设这个超级节点的 IP 地址是 1.1.1.1。超级节点:

在一个作为超级节点的电脑上运行下面的命令。其中“-l <端口>”指定超级节点的监听端口。运行 supernode 并不需要 root 权限。

复制代码代码如下:$ supernode -l

边缘节点:

在每个边缘节点上,使用下面的命令来连接到一个 P2P VPN。edge 守护程序将会在后台运行。

边缘节点 #1:

复制代码代码如下: $ sudo edge -d edge0 -a .0.0. -c mynetwork -u -g -k password -l 1.1.1.1: -m ae:e0:4f:e7::5b

边缘节点 #2:

复制代码代码如下:$ sudo edge -d edge0 -a .0.0. -c mynetwork -u -g -k password -l 1.1.1.1: -m ae:e0:4f:e7::5c

下面是对命令行的一些解释:

“-d <接口名>”选项指定了由 edge 命令创建的 TAP 接口的名字。 “-a <IP地址>”选项(静态地)指定了分配给 TAP 接口的 VPN 的 IP 地址。如果你想要使用 DHCP,你需要在其中一台边缘节点上配置一台 DHCP 服务器,然后使用“-a dhcp:0.0.0.0”选项来代替。 “-c <组名>”选项指定了 VPN 组的名字(最大长度为 个字节)。这个选项可以被用来在同样一组节点中创建多个 VPN。 “-u”和“-g”选项被用来在创建一个 TAP 接口后降权放弃 root 权限。edge 守护进程将会作为指定的用户/组 ID 运行。 “-k <密钥>”选项指定了一个由 twofish 加密的密钥来使用。如果你想要将密钥从命令行中隐藏,你可以使用 N2N_KEY 环境变量。 “-l <IP地址:端口>”选项指定了超级节点的监听 IP 地址和端口号。为了冗余,你可以指定最多两个不同的超级节点(比如 -l <超级节点 A> -l <超级节点 B>)。 “-m ”给 TAP 接口分配了一个静态的 MAC 地址。不使用这个参数的话,edge 命令将会随机生成一个 MAC 地址。事实上,为一个 VPN 接口强制指定一个静态的 MAC 地址是被强烈推荐的做法。否则,比如当你在一个节点上重启了 edge 守护程序的时候,其它节点的 ARP 缓存将会由于新生成的 MAC 地址而遭到污染,它们将不能向这个节点发送数据,直到被污染的 ARP 记录被消除。

至此,你应该能够从一个边缘节点用 VPN IP 地址 ping 通另一个边缘节点了。故障排除

在调用 edge 守护程序的时候得到了如下错误。

复制代码代码如下:n2n[]: ERROR: ioctl() [Operation not permitted][-1]

注意 edge 守护进程需要超级用户权限来创建一个 TAP 接口。因此需要确定用 root 权限来执行,或者对 edge 命令设置 SUID。之后你总是可以使用“-u”和“-g”选项来降权放弃 root 权限。总结

n2n 可以成为对你来说非常实用的免费 VPN 解决方案。你可以轻松地配置一个超级节点,无论是用你自己家里的网络,还是从云主机提供商购买一个可以公共访问的 VPS 实例。你不再需要把敏感的凭据和密钥放在第三方 VPN 提供商的手里,使用 n2n,你可以在你的朋友中配置你自己的低延迟、高带宽、可扩展的 P2P VPN。

在Linux系统中启用Intel Rapid Start的方法 IntelRapidStart是Intel公司研发的一种帮助笔记本电脑节省电源和快速恢复的技术,与传统的睡眠(Sleep)和休眠(Hibernate)有一定的区别,相较而言,与混

在Linux系统上检查所安装的SSH的版本的方法 安全Shell(SSH)通过加密的安全通信通道来远程登录或者远程执行命令。SSH被设计来替代不安全的明文协议,如telnet、rsh和rlogin。SSH提供了大量需要的特

Linux在VIM编辑器中修改Tab为4个空格的方法 Linux用户最经常使用的编辑器便是VIM编辑器,为了提高我们的编辑速度,我们经常会在编辑器中设置一些快捷方式。今天小编就和大家一起分享下在VIM编

标签: 用linux配置ftp服务器的过程

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

上一篇:在Linux系统上安装Linux内核头文件的教程(linux安装有哪几种方式)

下一篇:在Linux系统中启用Intel Rapid Start的方法(linux常见的启动方式)

  • 跨境电商小规模好还是一般纳税好
  • 吨位是啥意思
  • 个人住房交不交个税
  • 换出交易性金融资产入账价值
  • 买一送一的营销好处
  • 个体户如何做零申报
  • 去年福利费今年怎么算
  • 发票未能在汇算清缴前取得怎么办?
  • 药店的成本费用有哪些
  • 企业购买银行理财会亏吗
  • 出口退税可以不申报是否需要缴纳增值税
  • 旅游地产房产税
  • 携税宝如何网上缴费
  • 职工福利费扣除标准2022
  • 利润表季报表
  • 利润表资产处置损益怎么填
  • 收取会员费收入会计分录
  • 会计记账凭证的填制
  • 收到上月发票怎么写分录
  • 收取赔偿金开具什么发票
  • 投资公司如何确定收入
  • 银行承兑汇票贴现率是多少
  • 代扣代缴的增值税可以作为进项税抵扣吗
  • 企业向个人的借款合同
  • 公司为员工购买社保流程
  • 什么是差额征税劳务费
  • 电脑cpu风扇不动怎么办
  • win10关闭自动更新方法永久
  • schost.exe - schost是什么进程 有什么用
  • unc方式
  • 年度汇算清缴怎么查询
  • 总资产周转次数与总资产周转率
  • php常用的字符串函数
  • 教育行业财务处理流程
  • php短网址生成算法
  • win11任务管理器卡死没响应
  • js实现继承属性功能
  • ps怎么用魔棒选区
  • java聚合工程
  • 顺丰电子发票开票失败需要怎么处理?
  • 社保费用可以提前从工资扣吗
  • 织梦模板安装完整教程
  • 医疗机构收据
  • 低值易耗品在年报上怎么看的
  • 实际发生费用的概念
  • 房企预缴增值税
  • 应付职工薪酬期末余额是什么意思
  • 待报解预算收入扣款是什么意思
  • 金税四期查到了怎么办
  • 研发部门的房租可以资本化
  • 应收应付抹零账务处理
  • 事业单位如何计算退休工资
  • 合伙企业分红怎么做账
  • 去年多计提的费用
  • 投资性房地产与持有待售资产的区别
  • 公司注销留抵税额怎么做进项转出
  • 无追保理是投资理财吗
  • 以前年度多计提的税金怎么调整
  • 制造费用和生产成本影响营业利润吗
  • linux认证失败的原因
  • winpup32.exe - winpup32是什么进程 什么意思
  • linux常见压缩工具
  • xp系统如何优化
  • Linux dpkg-query 命令用法详解(Debian Linux中软件包的查询工具)
  • win7屏幕不停闪烁
  • linux怎么查看挂载点
  • 冰球撞人犯规吗
  • c opengl
  • 可以查杀病毒的软件
  • python3.9怎么用
  • jquery跨域获取页面内容
  • 如何将位置信息生成二维码
  • javascript面向对象精要pdf下载
  • HttpClient通过Post上传文件
  • 非正常户解除申请理由
  • 工会经费范围税率是多少
  • 本期预缴税额怎么填
  • 辽宁朝阳丧葬费标准2022
  • 农夫山泉水质量合格吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设