当前位置:首页 > 行业动态 > 正文

服务器怎么做内网穿透

服务器怎么做内网穿透

内网穿透(也称为端口转发或隧道穿透)是一种技术,用于将内部网络中的服务暴露到公有网络上,使得外部用户能够访问这些服务,这在开发、测试和某些特定应用场景中非常有用,以下是实现内网穿透的几种常见方法:

使用ngrok

步骤:

1、下载并安装ngrok

访问 [ngrok官网](https://ngrok.com/download) 下载对应操作系统的版本。

解压下载的文件,进入目录。

2、注册ngrok账号

访问 [ngrok官网](https://dashboard.ngrok.com/signup) 注册一个免费账户。

获取你的认证令牌(Authtoken)。

3、运行ngrok

打开终端或命令提示符,导航到ngrok目录。

输入以下命令启动ngrok:

 ./ngrok http 8080

其中8080是你希望暴露的内部服务端口。

4、配置防火墙

确保防火墙允许ngrok所需的流量通过。

5、访问内网服务

ngrok会提供一个公共URL,通过该URL可以访问你暴露的内网服务。

使用Nginx反向代理

步骤:

1、安装Nginx

对于Ubuntu系统,可以使用以下命令安装:

 sudo apt update
     sudo apt install nginx

对于CentOS系统,可以使用以下命令安装:

 sudo yum install epel-release
     sudo yum install nginx

2、配置Nginx

编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default):

 server {
         listen 80;
         server_name your_domain_or_ip;
         
         location / {
             proxy_pass http://localhost:8080;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header X-Forwarded-Proto $scheme;
         }
     }

替换your_domain_or_ip为你的实际域名或IP地址,8080为你要暴露的服务端口。

3、重启Nginx

保存配置文件后,重启Nginx使配置生效:

 sudo systemctl restart nginx

4、配置防火墙

确保防火墙允许HTTP(80端口)或HTTPS(443端口)流量通过。

5、访问内网服务

通过你的域名或IP地址即可访问内网服务。

3. 使用Frp(Fast Reverse Proxy)

步骤:

1、下载Frp

访问 [Frp官网](https://github.com/fatedier/frp) 下载最新版本的Frp。

解压下载的文件,进入目录。

2、配置Frp

创建两个配置文件:frps.toml(用于服务器端)和frpc.toml(用于客户端)。

frps.toml示例:

 [common]
     bind_port = 7000

frpc.toml示例:

 [common]
     server_addr = your_server_ip
     server_port = 7000
     
     [ssh]
     type = tcp
     local_ip = 127.0.0.1
     local_port = 22
     remote_port = 6000

替换your_server_ip为你的服务器IP地址,22为你要暴露的SSH服务端口,6000为客户端监听的端口。

3、启动Frp服务

在服务器端启动Frp服务端:

 ./frps -c ./frps.toml

在客户端启动Frp客户端:

 ./frpc -c ./frpc.toml

4、访问内网服务

通过服务器IP和配置的端口(例如your_server_ip:6000)可以访问内网服务。

相关问答FAQs

Q1: ngrok的安全性如何保障?

A1: ngrok提供了TLS加密传输,确保数据在传输过程中是安全的,你还可以通过设置自定义域名和SSL证书来进一步增强安全性。

Q2: Nginx反向代理和Frp有什么区别?

A2: Nginx主要用于Web服务的反向代理,而Frp是一个通用的反向代理工具,支持TCP和UDP协议,Nginx配置相对复杂,但功能强大;Frp则更加轻量级且易于配置。

小编有话说

内网穿透技术在很多场景下都非常有用,无论是开发测试还是远程办公,都能提供极大的便利,在使用这些技术时,务必注意安全性,避免暴露敏感信息,选择合适的工具和方法,根据实际需求进行配置,才能达到最佳效果。

0