首页 > 其他分享 >内网穿透教程

内网穿透教程

时间:2024-06-05 20:44:54浏览次数:14  
标签:教程 frps 穿透 frp toml frpc FRP port

内网穿透教程

本文介绍如何使用 FRP(Fast Reverse Proxy)工具实现内网穿透,包括配置 Azure 公网 IP、安装 Docker 和 FRP,以及在内网服务器上配置和运行 FRP 客户端。

一、配置公网 IP

1. 申请 Azure 公网 IP

  1. 登录到 Azure 门户
  2. 创建一个新的虚拟机实例,建议使用1G内存的。
  3. 在虚拟机配置中,确保选择了一个公共 IP 地址。
  4. 完成虚拟机创建,并记下公共 IP 地址。

2. 安装 Docker

在 Azure 虚拟机上安装 Docker:

# 更新包列表并安装必要的软件包
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 添加 Docker APT 仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 更新包列表并安装 Docker
sudo apt-get update
sudo apt-get install -y docker-ce

3. 安装 FRP

1. 在 Azure 虚拟机上安装并配置 FRP:

# 创建frp文件夹
mkdir frp
cd frp
wget https://github.com/fatedier/frp/releases/download/v0.39.1/frp_0.39.1_linux_amd64.tar.gz
tar -xzf frp_0.39.1_linux_amd64.tar.gz
cd frp_0.39.1_linux_amd64

2. 创建并编辑 frps.toml 配置文件,frps.toml 配置文件如下:

[common]
bind_port = 7000

# Dashboard settings (optional)
dashboard_port = 7500
dashboard_user = "你的用户名"
dashboard_pwd = "你的密码"

# HTTP and HTTPS settings (optional)
vhost_http_port = 80
vhost_https_port = 443

# Log settings (optional)
log_file = "/frp/frps.log"
log_level = "info"
log_max_days = 3

token = "你的token"

注意Dashboard settings为登陆Dashboard的密码,token为连接公网需要的密码

3. 运行FRP服务器

sudo docker run --restart=always --network host -d -v /home/Xinhao/frp/frps.toml:/frp/frps.toml --name frps snowdreamtech/frps -c /frp/frps.toml

4. 如果修改了frps.toml 配置文件需要删除并重新运行FRP服务器

代码为:

sudo docker stop frps
sudo docker rm frps
sudo docker run --restart=always --network host -d -v /home/Xinhao/frp/frps.toml:/frp/frps.toml --name frps snowdreamtech/frps -c /frp/frps.toml

5. 开启Azure的端口

添加出站和入站规则,目标端口包括bind_port(7000)、dashboard_port(7500)、与内网进行通讯的端口(后面用)(8080)
image

6. 验证是否成功

在 Azure 虚拟机上运行命令sudo ss -tuln | grep 7000,确保 FRP 服务器正在监听正确的端口
在浏览器中访问http://公网IP:dashboard_port/ ,输入Dashboard的账户和密码后可以访问
image

二、配置内网

1. 安装 FRP

在内网服务器上安装并配置 FRP 客户端:

1. 下载 并解压FRP:

srun -p mem --pty bash
mkdir frp
cd frp
wget https://github.com/fatedier/frp/releases/download/v0.39.1/frp_0.39.1_linux_amd64.tar.gz
tar -xzf frp_0.39.1_linux_amd64.tar.gz
cd frp_0.39.1_linux_amd64

2. 创建并编辑 frpc.ini 配置文件:

[common]
server_addr = 公网的IP
server_port = frps.toml中的bind_port(7000)
token = "frps.toml中的的token"

[web]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8080

server_port与frps.toml的bind_port对应,local_ip = 127.0.0.1指内网上的本机,local_port为连接内网的端口,remote_port是外网的端口,用于连接内网。

3. 启动与验证frp

启动frp

./frpc -c frpc.ini

在http://公网IP:dashboard_port/ 的仪表盘中可以查看到
image
在浏览器中访问 "http://公网IP/8080" 就等于访问内网,账户密码则与登陆内网所需的账户密码一致

三、提交脚本长期运行

使用 SLURM 在内网服务器上提交一个长期运行的任务来执行 frpc:

1.创建 start_frpc.sh 启动脚本:

#!/bin/bash

# 确保 frpc 可执行文件和配置文件的路径正确
FRPC_DIR="/frp/frp_0.39.1_linux_amd64"
CONFIG_FILE="$FRPC_DIR/frpc.ini"

# 启动 frpc
cd $FRPC_DIR
nohup ./frpc -c $CONFIG_FILE &

2. 给予脚本执行权限:

chmod +x start_frpc.sh

3. 使用 srun 提交任务:

srun -p mem --mem=1G --time=160-00:00:00 --pty bash

4. 在分配到节点后,运行启动脚本:

./start_frpc.sh

四、验证连接

1. 检查 frpc 日志:

tail -f nohup.out

标签:教程,frps,穿透,frp,toml,frpc,FRP,port
From: https://www.cnblogs.com/skypanxh/p/18232753

相关文章

  • 使用frp实现内网穿透
    使用frp实现内网穿透环境说明:服务端设备:阿里云轻量应用服务器(假设IP为:123.123.123.123)服务端系统:ubuntu20.04客户端设备:树莓派4B客户端系统:树莓派前言引用frp项目的部分官方文档对frp进行一个简单的介绍:frp是什么?frp是一个专注于内网穿透的高性能的反向代理应用,支持......
  • Docker 启蒙教程 (1)
    Docker启蒙教程(1)本教程致力于以通俗易懂的方式使读者上手Docker。本文使用CentOS7系统演示。第一章什么是DockerDocker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器......
  • 【调试笔记-20240601-Linux-在 OpenWRT-23.05 上配置 frpc 实现内网穿透】
    调试笔记-系列文章目录调试笔记-20240601-Linux-在OpenWRT-23.05上配置frpc实现内网穿透文章目录调试笔记-系列文章目录调试笔记-20240601-Linux-在OpenWRT-23.05上配置frpc实现内网穿透前言一、调试环境操作系统:OpenWrt23.05.3调试环境调试目标二、调试步......
  • 【教程】使用 Tailchat 搭建团队内部聊天平台,Slack 的下一个替代品!
    前言多人协作,私有聊天一直是团队协作的关键点,现在有很多专注于团队协作的应用和平台,比如飞书、企业微信和Slack等。这期教程将带你手把手的搭建一个在线的团队协作向聊天室,希望对你有所帮助!本期聊天室使用TailChat作为服务端,TailChat是下一代nolM(不仅仅是IM)应用程序,适......
  • 最新版手把手升级GPT-4o、GPT-4 Turbo详细步骤教程!! 【2024年6月】
    01GPT-4介绍ChatGPT3.5自从发布以来,便受到了广泛的关注和火热追求。而作为3.5升级版的GPT4.0,比3.5会更加稳定、没有字数限制、回答更准确以及支持AI绘图等,为用户带来了更多的创意与想象空间。如何免费使用GPT-4o?如何升级GPT4.0Turbo?(内附详细步骤教程)我个人体验来说,日常科......
  • ESP8266 01sWiFi模块保姆级教程 烧录和联网,连接华为云
    前言写在前面。这个esp01s联网真的是折磨人啊,浪费了我三四天的时间,网上各种教程叫天天不灵,叫地地不灵,所以才有了这篇教程,致力于帮助像我一样的小白少踩坑,我可以说是把能踩的坑都塌了一遍。烧录部分首先强烈建议小白玩家不要用网上任何一种接线方式和手动上电的方式(这里真的......
  • wsl安装教程
    转载自:https://blog.csdn.net/m0_51233386/article/details/127961763关于WLS的介绍1.什么是WSL?2双系统的方法比较3WSL1与WSL2比较方法一:传统手动安装1.1windows系统版本查看及更新1.2启用适用于Linux的Windwos子系统1.3启用虚拟机功能1.4重启电脑1.5下载Linux......
  • 【手把手教学】最新ChatTTS语音合成项目使用指南AI变声器chatTTS教程来了!5S夺走你的卧
    像这种充满语气充满感情色彩的人声,再搭配一段自拍图,是由最近大火的AI项目chatTTS生成的,ChatTTS是专门为对话场景设计的文本转语音模型,例如LLM助手对话任务。它支持英文和中文两种语言。最大的模型使用了10万小时以上的中英文数据进行训练。在HuggingFace中开源的版本为4万小......
  • Jupyter Notebook 简易教程
    1.安装JupyterNotebook 1.1安装Python在安装JupyterNotebook之前,你需要确保你的计算机上已经安装了Python。你可以从Python的官方网站(https://www.python.org/downloads/)下载并安装最新版本的Python。1.2安装JupyterNotebook打开命令行(Windows用户可以使......
  • Docker安装使用教程
    Docker安装使用教程Docker是什么Docker是一个容器化开源平台,它使开发者可以再容器中封装应用程序,以及其依赖的所有组件,包括操作系统、库文件、环境变量等,并以轻量级、可移植的方式进行交付和部署.Docker的三大核心概念是:镜像(Image):镜像是Docker的基本构建块,它是一个只读的模板或......