当前位置:首页 > 技术积累 > 正文内容

实现内网穿透的几种方式

竹林之风3年前 (2021-09-30)技术积累5273

        大部分普通电脑对外都没有固定的公网IP、或处于NAT网络内,要从局域网外直接访问该电脑,需要借助第三方工具。

一、有一台公网固定IP服务器的情况

1、Nginx

        Nginx具有4层/7层的反向代理的功能,我们可以利用该特性实现向内网计算机的请求转发,具体实现方式为通过conf/nginx.conf配置文件的stream、http节实现。

        所有基于TCP/UDP协议的相关上层协议都可以通过如下配置转发,以下代码表示通过本服务器的13389端口转发到内网计算机192.168.1.100的3389远程桌面端口。

stream{
    upstream rd_100{
        server 192.168.1.100:3389;//定义上游服务器的IP和端口
    }
    server{
        listen 13389;
        proxy_pass rd_100;
    }
}

        而HTTP、HTTPS可通过如下配置转发,以下代码表示通过本服务器80端口绑定主机名www.test.com并转发到内网计算机192.168.1.100的8080端口

http {
    upstream internal_server {   
      server 192.168.1.100:8080;//定义上游服务器的IP和端口
    }
    server {
        listen       80;
        server_name  www.test.com;

        location / {
            proxy_pass  http://internal_server/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }    
}

2、VPN服务

        在本服务器上安装并开放VPN服务,内网计算机加入该VPN,且其它计算机也加入VPN即可访问。

3、代理服务器

        在本服务器上安装并开放代理服务,其它计算机设置代理访问。

4、FRP等第三方内网穿透工具

         分别设置服务端配置文件frps.ini和客户端配置文件frpc.ini。

[common]

bind_port = 7000

dashboard_port = 7500
# dashboard's username and password are both optional
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true

authentication_method = token

token = admin
[common]
server_addr = *.*.*.*
server_port = 7000

admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = admin

authentication_method = token
token = admin

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 13389

5、其它

二、没有一台公网固定IP服务器的情况

1、蒲公英等组网软件

        本质上是由第三方提供公网固定IP服务器的VPN服务。

2、花生壳等内网映射软件

3、其它


扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/357.html

标签: 安全网络
分享给朋友:

相关文章

C#中问号“?”的用法

C#中问号“?”的用法

        在C#中问号有单问号和双问号两种场景,其中单问号就是用于条件表达式的一个三元运算符;双问号有两个用法:可空类型修饰符和空合并运算符。(1)条件表...

在ASP.NET Core下使用Scaffold-DbContext命令自动从数据库生成EF Core模型

在ASP.NET Core下使用Scaffold-DbContext命令自动从数据库生成EF Core模型

        在ASP.NET Core下使用EF Core读取和操作数据库时,若采用DB First开发模式,则需要手动写或者自动生成相关实体类和DBCon...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

        ASP.NET Core网站报“An assembly specified in the application dependencies ma...

评论列表

mmm
mmm
2年前 (2022-07-07)

写的不错,推荐下 小蝴蝶内网穿透 www.npsvip.com

99tongxin
99tongxin
2年前 (2022-03-30)

内网穿透,即内网映射,本地内网IP端口映射到外网访问的过程实现。汇总下实现内网穿透的几种方式类似有花生壳、nat123、ngrok、frp。

xiaoxiaoxia
xiaoxiaoxia
2年前 (2022-03-18)

内网穿透(本地局域网内网IP端口映射到外网访问)的几种常见方法有:花生壳、nat123、ngrok、frp...

xiaoxiaoxia
xiaoxiaoxia
2年前 (2022-03-18)

内网穿透(本地局域网内网IP端口映射到外网访问)的几种常见方法有:花生壳、nat123、ngrok、frp...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。