内网穿透教程

news/2025/3/16 19:22:28/文章来源:https://www.cnblogs.com/skypanxh/p/18232753

内网穿透教程

本文介绍如何使用 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 = 3token = "你的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/720519.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CFAR检测

目标检测:1幅海上SAR图像和1幅近海光学图像,选择其中一幅检测出图像上的舰船(包括停靠码头)目标。 检测步骤图像裁剪:把原图裁剪成 448 * 640 的 patch,检测每个小 patch 中的舰船目标。读取图像:读取每个图像,并将其转换为灰度图。为了方便处理边缘区域,用补零的方式对…

内网穿透详细教程

内网穿透详细教程 本文介绍如何使用 FRP(Fast Reverse Proxy)工具实现内网穿透,包括配置 Azure 公网 IP、安装 Docker 和 FRP,以及在内网服务器上配置和运行 FRP 客户端。 一、配置公网 IP 1. 申请 Azure 公网 IP登录到 Azure 门户。 创建一个新的虚拟机实例,建议使用1G内…

兴达易控232自由转profinet网关接扫码枪配置及测试案例

232自由口转Profinet网关(XD-PNR100/300)的主要功能就是将具有RS232接口的设备(如扫码枪、打印机、传感器等)接入到Profinet网络中,从而实现了传统设备与现代化工业以太网之间的无缝通信和数据交换。兴达易控232自由口转profinet网关接扫码枪配置及测试案例 232自由口转Pr…

杭州出租车行驶轨迹数据空间时间可视化分析|附代码数据

原文链接:http://tecdat.cn/?p=7324 最近我们被客户要求撰写关于出租车的研究报告,包括一些图形和统计输出 城市化带来的道路拥堵、出行耗时长等交通问题给交管部门带来了巨大的挑战 ▼ 通过安装在出租车上的GPS设备,可以采集到大量的轨迹数据,从而帮助我们分析人们出行信…

【专题】2024客户端游戏市场营销发展报告合集PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p=36402 原文出处:拓端数据部落公众号 报告合集显示,中国客户端游戏市场在2023年创新高,达到662.83亿元,表明精品化和跨端生态趋势对市场的推动作用。报告合集强调客户端游戏的独特优势,如精品内容、视听体验和操作反馈等,促进了市场稳定增…

BD202404 110串

百度之星一场,t4 题目链接: 对于这种连续状态限制的字符串方案数,首先考虑dp, 首先定义好每个状态方便转移,0状态是结尾为0,1状态是结尾1个连续1,2状态是结尾两个连续1,有以下关系if(s[i] == 1) {if(j > 0) dp[i][j][0] = (dp[i][j][0] + dp[i - 1][j - 1][0] + dp[…

Vue 3 Teleport:掌控渲染的艺术

title: Vue 3 Teleport:掌控渲染的艺术 date: 2024/6/5 updated: 2024/6/5 description: 这篇文章介绍了Vue3框架中的一个创新特性——Teleport,它允许开发者将组件内容投送到文档对象模型(DOM)中的任意位置,即使这个位置在组件的挂载点之外。Teleport旨在解决某些特定场景…

如何解决无法解析 JSP 中的方法 getParameter()

在构建JSP项目中,出现无法解析 JSP 中的方法 getParameter()的错误 1、右键单击您的项目并选择Open Module Settings,确保您在Modules部分的Dependencies选项卡上,单击底部的“+”按钮,然后选择1 JAR 或目录...:2、将apache-tomcat-8.5.31servlet-api.jar部署到容器中,点…

基于c语言的TCP客户端、服务端基础代码

基于c语言的TCP客户端、服务端基础代码 基本流程:客户端:#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <stdio.h> #include <errno.h> #include <sys/socket.h> #include <netinet/in.h> #i…

解决错误运行‘Tomcat 9.0.35‘: 地址 localhost:1099 已在使用

“Error running ‘Tomcat 9.0’: Address localhost:1099 is already in use”报错问题问题描述:idea运行项目时,左下方出现红色小方块提示问题“Error running ‘Tomcat 9.0’: Address localhost:1099 is already in use”。 这是因为端口被占用了。 解决问题: 按win+R打…

嵌入式 Linux LED 驱动开发实验学习

I.MX6U-ALPHA 开发板上的 LED 连接到 I.MX6ULL 的 GPIO1_IO03 这个引脚上,进行这个驱动开发实验之前,需要了解下地址映射。 地址映射 MMU 全称叫做 MemoryManage Unit,也就是内存管理单元。在老版本的 Linux 中要求处理器必须有 MMU,但是现在 Linux 内核已经支持无 MMU 的处…

囚徒5.4_基于texlive的PlotNeuralNet画深度学习框架图

首先下载并安装texlive 连接如下texlive安装教程 接着下载PlotNeuralNet项目 下载链接PlotNeuralNet对PlotNeuralNet的一些解释它其实是基于texlive语言,然后通过python语言按照texlive的语法格式进行拼接生成tex文档之后使用pdflatex命令生成pdf. PlotNeuralNet中有一系列的写…