搭建内网穿透服务器

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

前言

有的运营商(比如移动)不给公网IP,但我们又需要公网IP(远程访问家里的NAS,远程控制家里的电脑等)怎么办,自己搭建一台内网穿透服务器。

本教程需要一台有公网IP的服务器。

本篇教程讲两种内网穿透工具的搭建和使用

Proxyer(推荐)

Proxyer目前仅支持TCP协议、虽然看起来功能比较简单,但基本可以满足日常使用了,特别是在安装和使用方面,对于新手是比较友好的。

这个不需要被端口映射的设备安装客户端,只需要局域网内一台设备安装客户端就可以映射局域网内所有设备的端口。

截图


服务端

Github地址:https://github.com/khvysofq/proxyer

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、安装Docker Compose

curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

3、安装Proxyer

wget https://raw.githubusercontent.com/khvysofq/proxyer/master/docker-compose.yml
#请将后面1.1.1.1改成你的服务器ip地址后再运行
export PROXYER_PUBLIC_HOST=1.1.1.1
docker-compose up -d

安装完成后,就可以通过ip:6789访问服务端WEB管理面板了,进去后需要设置一个客户端认证密码。

然后CentOS系统建议关闭防火墙使用,或者打开部分端口也行,关闭命令:

#CentOS 6系统
service iptables stop
chkconfig iptables off

#CentOS 7系统
systemctl stop firewalld
systemctl disable firewalld

像阿里云等服务器,还需要去安全组那里开放下端口。

安装完成之后,就可以使用浏览器访问6789端口(http://{你的公网IP地址或者域名}:6789/)来使用了。

客户端

进入服务端面板后,界面会提供LinuxWindowsmacOS客户端版本,然后自行根据自身系统下载指定版本的压缩包即可。

Windows可以直接下载界面版本,然后双击可执行文件,会弹出一个网页界面,输入上面的认证密码,即可开始配置穿透。

Linux下载压缩包后,解压出二进制文件,直接在当前目录使用./proxyer命令运行即可。

FrpMgr

什么是FRP

FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。你可以粗略理解它是一个中转站,帮你实现 公网 ←→ FRP(服务器) ←→ 家庭内网 的连接,让内网里的设备也可以被公网访问到。

而目前 FRP 还推出了“点对点穿透”的试验性功能,连接成功后可以让公网设备直接跟内网设备“点对点”传输,数据流不再经过 [VPS]中转,这样可以不受服务器带宽的限制,传输大文件会更快更稳定。当然,此功能并不能保证在你的网络环境 100% 可用,而且还要求访问端也得运行 FRP 客户端 (因此目前手机是无法实现的,只有电脑可以)。由于实现条件较多,所以有文件传输需求的朋友还是建议买带宽稍大一点的 [VPS] 会比较省心。

说明:FrpMgr是一个基于Frp的快速配置Web面板,可以一键配置生成客户端的Frp配置文件,远程安装Frp服务到任意一台服务器,让我们在使用配置Frp上方便很多。

截图

安装

Github地址:https://github.com/Zo3i/frpMgr

说明:由于该面板使用的JAVAMysql 5.7,所以512M的内存大部分是跑不起来的,如果内存太小,先加一点虚拟内存。

脚本安装

wget -O - https://raw.githubusercontent.com/Zo3i/OCS/master/docker/docker-all2.sh | sh
wget -O - https://raw.githubusercontent.com/Zo3i/frpMgr/master/web/src/main/docker/final/run.sh | sh
#注:代码仅在Centos7,Debian9系统上通过测试

面板访问地址:ip:8999/frp,账号admin,密码12345678,登录成功后在面板修改密码即可。

查看日志命令:1. docker ps 2. docker logs -f --tail 10 java项目的容器ID

手动安装

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、安装Docker Compose

curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

3、安装git

#Debian/Ubuntu系统
apt -y install git

#CentOS系统
yum -y install git

4、安装FrpMgr

#拉取源码
git clone https://github.com/Zo3i/frpMgr.git
#构建Mysql镜像
cd frpMgr/web/src/main/docker/final/mysql
docker build -t jo/mysql .
#构建frp并启动镜像
cd ..
chmod +x w.sh
docker-compose up -d

面板访问地址:ip:8999/frp,账号admin,密码12345678,登录成功后在面板修改密码即可。

查看日志命令:1. docker ps 2. docker logs -f --tail 10 java项目的容器ID

使用

提示:这里安装面板的服务器是没有给你安装Frp的,你可以在下面服务器配置的时候,填上ip,就可以安装frp了。

1、首先去域名服务商解析一个泛域名(如*.zeruns.tech*.frp.zeruns.tech))到服务器ip

2、点击左侧FRP服务器配置,域名只需要填主域名,这里默认的服务器端口为22

填好后,点击远程安装,输入服务器密码即可,服务器端系统目前支持CentOS 7Debian 8+Ubuntu 16+,且注意防火墙需要打开Web端口。

3、点击左侧FRP客户端配置,填上二级域名(比如zeruns、后面就不要了),本地端口就可以了。

最后点击右侧,下载Win或者Mac配置压缩包即可,Win的话解压出来打开open.bat即可,连接地址为二级域名:Web端口

由于没有Win客户端开机自启,这里博主就额外说下Windows开机自启步骤。

1、新建一个vbs后缀的脚本,比如rats.vbs,脚本代码如下:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\Users\Desktop\frp\frpc.exe -c C:\Users\Desktop\frp\frpc.ini",0
第二行为frp文件夹路径,不直接具体路径的,打开frp文件夹,左上角就是路径,复制即可

2、使用Win+R、输入shell:startup确认运行,将脚本放进弹出来的文件夹里面即可。

部分内容转自:https://www.moerats.com/

目录
相关文章
|
22天前
|
网络安全 开发工具 数据安全/隐私保护
自建内网穿透服务器
本文介绍了如何使用FRP实现内网穿透。首先准备一台具有公网IP的云服务器和一台内网服务器,接着在云服务器上安装Docker和FRP服务端,配置`frps.ini`文件并启动服务。在内网服务器上手动安装FRP客户端,配置`frpc.ini`文件并启动服务。最后通过FRP控制台验证连接状态,确保可以通过公网IP访问内网服务。
97 10
自建内网穿透服务器
|
3月前
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
|
3月前
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
|
4月前
|
网络协议 网络安全 网络架构
移动宽带不借助软件和公网服务器实现基于IPV6的内网穿透
本教程指导如何设置路由器以支持IPv6访问:首先确保上网方式为自动获取IP,接着在路由器设置中开启IPv6功能,并关闭可能阻碍连接的防火墙。最后,在光猫管理界面同样关闭防火墙以确保无障碍的IPv6访问路径。操作时请注意网络安全。
移动宽带不借助软件和公网服务器实现基于IPV6的内网穿透
|
5月前
|
弹性计算 网络协议 Linux
阿里云主机构建FRP内网穿透家用服务器避坑指南
详述了利用FRP工具搭建内网穿透的流程,包括阿里云ECS的配置、家用服务器的准备、FRP工具的下载与配置,以及通过SSH远程访问本地服务器的解决策略,确保了内外网间的稳定连接。
1252 1
阿里云主机构建FRP内网穿透家用服务器避坑指南
|
5月前
|
弹性计算 负载均衡 监控
云服务器 ECS产品使用问题之如何实现内网穿透
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
7月前
|
运维 监控 安全
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
299 1
|
7月前
|
网络协议 物联网 Linux
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
356 0
|
7月前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
144 2
|
7月前
|
网络安全 API Apache
本地快速部署Apache服务器并使用内网穿透实现远程访问
本地快速部署Apache服务器并使用内网穿透实现远程访问
155 2