一行代码实现内网穿透及映射,可以开启映射多个服

Posted 为何一再沦落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一行代码实现内网穿透及映射,可以开启映射多个服相关的知识,希望对你有一定的参考价值。


一行代码实现内网穿透及映射,可以开启映射多个服务和端口,内网映射完成局域网的服务和地址映射到公网。

内网穿透及映射

把内网主机映射成为公网主机,满足内外网穿透,在不同的业务场景中,需要把内网的主机映射成为公网主机来对外提供服务,在公网主机有限的情况,基于netty根据端口号做一个数据映射服务,可以穿透网站、数据库等各种应用,满足日常的使用。

新建项目

任意新建一个java项目,spring 、spring boot、或者其他的 maven项目都可以。

使用方法

1、在 WEB-INF 目录下建立 lib 目录,并把jar包复制到 lib 目录,或者项目的其它目录都可以;

​jar包地址​

​点击下载​

2、在maven配置文件,即 pom.xml 中,添加以下依赖:


<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.33.Final</version>
</dependency>

<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>

<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>

<dependency>
<groupId>natx</groupId>
<artifactId>natx</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>$project.basedir/src/main/webapp/WEB-INF/lib/natx.jar</systemPath>
</dependency>

服务端开启服务


public class TestNat
public static void main(String[] args)
NatxServer.startNat(9090,"123456");


服务端停止服务


NatxServer.endNat();

发布完成

把新建的java项目打包放到服务器运行即可,或者其他方式完成暴露服务都可以。

其它方法

数据同步中还有其他方法,根据实际业务需要进行使用!

其它客户端的使用

​https://github.com/YouAreOnlyOne/NATnetty​


以上是关于一行代码实现内网穿透及映射,可以开启映射多个服的主要内容,如果未能解决你的问题,请参考以下文章

利用ssh转发功能做端口映射,实现内网穿透

请问移动宽带的端口映射怎么设置?或者花生壳设置的内网穿透移动宽带

内网穿透小知识|什么是端口映射?端口映射使用操作指南

内网穿透小知识|什么是端口映射?端口映射使用操作指南

路由器frp内网穿透

一台dell服务器,centos 需要把内网ip映射在外网上,应该如何映射