内网穿透-p2p通讯服务器-基于n2n和udp2raw-tunnel

2023-11-22 10:50

本文主要是介绍内网穿透-p2p通讯服务器-基于n2n和udp2raw-tunnel,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内网穿透-p2p通讯服务器-基于开源软件n2n和udp2raw-tunnel

原本在简单的网络环境中n2n可以很好的达到p2p通讯功能,但是由于公网ip服务器(如阿里云等)可能会屏蔽掉UDP协议,使得n2n无法使用,于是通过一个非常棒的开源软件udp2raw-tunnel(https://github.com/wangyu-/udp2raw-tunnel)来将UDP伪装成TCP协议,实验证明是可行的。具体过程记录在下:

1 编译n2n (ubuntu 1604)

sudo apt-get install subversion build-essential libssl-dev
svn co https://svn.ntop.org/svn/ntop/trunk/n2n
cd n2n/n2n_v2
sudo make
sudo make install

2 公网服务器(centos 7.4)配置n2n 和udp2raw-tunnel

# 1. 启动n2n 服务器
supernode -l 7077 #udp协议 监听在7077端口
# 由于udp协议无法收到来着客户端的udp包(被屏蔽了)
# 所以采用udp2raw-tunnel 来接收经过伪装的udp包
# 2. 启动udp2raw-tunnel 服务器./udp2raw_amd64 -s -l0.0.0.0:4096  -r127.0.0.1:7077   -k "passwd" --raw-mode faketcp   --cipher-mode xor  -a

3 客户端1(ubuntu 1604)配置n2n 和udp2raw-tunnel

# 1. 先启动udp2raw-tunnel 客户端,搭建好桥梁
sudo ./udp2raw_amd64 -c -l0.0.0.0:3333  -r44.55.66.77:4096 -k "passwd" --raw-mode faketcp   --cipher-mode xor  -a
# 2. 启动n2n 客户端,注意设置 -M (MTU=1200),因为udp2raw-tunnel 要求的
sudo edge -d n2n01 -c test -k key -a 192.168.111.1 -l 127.0.0.1:3333 -M 1200

4 客户端2(ubuntu 1604)配置n2n 和udp2raw-tunnel

# 1. 先启动udp2raw-tunnel 客户端,搭建好桥梁
sudo ./udp2raw_amd64 -c -l0.0.0.0:3333  -r44.55.66.77:4096 -k "passwd" --raw-mode faketcp   --cipher-mode xor  -a
# 2. 启动n2n 客户端,注意设置 -M (MTU=1200),因为udp2raw-tunnel 要求的
sudo edge -d n2n02 -c test -k key -a 192.168.111.2 -l 127.0.0.1:3333 -M 1200

客户端之间这样可以直连了

在这里插入图片描述
参考:
https://github.com/wangyu-/udp2raw-tunnel
https://blog.csdn.net/ppp2006/article/details/52386252

这篇关于内网穿透-p2p通讯服务器-基于n2n和udp2raw-tunnel的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/409609

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频

Redis中使用布隆过滤器解决缓存穿透问题

一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据库带来巨大压力。 二、布隆过滤器原理 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用多个不同的哈希函数将一个元素映射到一个位数组中的多个位置,并将这些位置的值置

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

RTMP流媒体服务器 crtmpserver

http://www.oschina.net/p/crtmpserver crtmpserver又称rtmpd是Evostream Media Server(www.evostream.com)的社区版本采用GPLV3授权 其主要作用为一个高性能的RTMP流媒体服务器,可以实现直播与点播功能多终端支持功能,在特定情况下是FMS的良好替代品。 支持RTMP的一堆协议(RT

防止缓存击穿、缓存穿透和缓存雪崩

使用Redis缓存防止缓存击穿、缓存穿透和缓存雪崩 在高并发系统中,缓存击穿、缓存穿透和缓存雪崩是三种常见的缓存问题。本文将介绍如何使用Redis、分布式锁和布隆过滤器有效解决这些问题,并且会通过Java代码详细说明实现的思路和原因。 1. 背景 缓存穿透:指的是大量请求缓存中不存在且数据库中也不存在的数据,导致大量请求直接打到数据库上,形成数据库压力。 缓存击穿:指的是某个热点数据在

云原生之高性能web服务器学习(持续更新中)

高性能web服务器 1 Web服务器的基础介绍1.1 Web服务介绍1.1.1 Apache介绍1.1.2 Nginx-高性能的 Web 服务端 2 Nginx架构与安装2.1 Nginx概述2.1.1 Nginx 功能介绍2.1.2 基础特性2.1.3 Web 服务相关的功能 2.2 Nginx 架构和进程2.2.1 架构2.2.2 Ngnix进程结构 2.3 Nginx 模块介绍2.4

阿里云服务器ces

允许公网通过 HTTP、HTTPS 等服务访问实例 https://help.aliyun.com/document_detail/25475.html?spm=5176.2020520101.0.0.3ca96b0b3KGTPq#allowHttp