内网穿透-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

相关文章

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

C#使用MQTTnet实现服务端与客户端的通讯的示例

《C#使用MQTTnet实现服务端与客户端的通讯的示例》本文主要介绍了C#使用MQTTnet实现服务端与客户端的通讯的示例,包括协议特性、连接管理、QoS机制和安全策略,具有一定的参考价值,感兴趣的可... 目录一、MQTT 协议简介二、MQTT 协议核心特性三、MQTTNET 库的核心功能四、服务端(BR

使用Nginx配置文件服务器方式

《使用Nginx配置文件服务器方式》:本文主要介绍使用Nginx配置文件服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 为什么选择 Nginx 作为文件服务器?2. 环境准备3. 配置 Nginx 文件服务器4. 将文件放入服务器目录5. 启动 N

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my