云服务器frp实现http内网穿透 ssh内网穿透


前言:本教程将教会您

如何暴露内网的http服务到公网访问

如何在远程公网ssh连接到自己家里的内网机器

0. 下载及其相关注意事项

云服务器上使用的是frp的服务端。在安装之前首先要明确当前使用的服务器的系统信息,否则使用了不匹配的frp版本,会出现:Segmentation fault的错误。可以通过arch命令查看系统信息。

arch
aarch64  #ARM架构
x86_64	#X86架构

对应frp版本:

frp_0.35.1_darwin_amd64.tar.gz    #Mac OS系统
frp_0.35.1_freebsd_386.tar.gz  	  #FreeBSD 32位系统
frp_0.35.1_freebsd_amd64.tar.gz   #FreeBSD 64位系统
frp_0.35.1_linux_386.tar.gz       #Linux 32位系统
frp_0.35.1_linux_amd64.tar.gz     #Linux 64位系统
frp_0.35.1_linux_arm.tar.gz 	  #Linux 32位嵌入式系统
frp_0.35.1_linux_arm64.tar.gz 	  #Linux 64位嵌入式系统
frp_0.35.1_windows_386.zip 	      #Windows 32位系统
frp_0.35.1_windows_amd64.zip      #Windows 64位系统
  1. 再服务器上下载对应的包

    根据你的版本进行选择

    wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz

  2. 在个人的内网主机上下载对应的包

进入frp目录并查看目录下的文件,其中主要的是以下四个文件, 如果你的版本太新的话,你的文件后缀会是.toml的

cd frp && ls
frpc		#客户端的执行程序
frpc.ini	#客户端的配置文件
frps		#服务端的执行程序
frps.ini	#服务端的配置文件


  1. 配置服务器的frps.ini

    记得把注释都删除

    [common]
    bind_port = 7000 # 这个是跟客户端(内网主机)交互的端口
    vhost_http_port = 8080 # 你如果在客户端配置了http的请求,这里就需要配置该参数或者vhost_https_port https我没有用到就没配置,并且 你的客户端的local_port是多少,你这个就要配置多少 
    
    
  2. 配置客户端的frpc.ini

    [common] # 这个不能乱填 这个是公共的
    server_addr = 服务器ip #这里是服务器ip 
    server_port = 7000
    
    [http] # 这个你随便填都没啥,每个中括号之间是一个配置环境 当前就是http的配置环境
    type = http  # 指定请求的类型 配置了这个后 上面的服务端配置就需要加vhost_http_port
    local_ip = 127.0.0.1 # 本地对应服务ip是多少
    local_port = 8080 # 本地服务port是多少
    custom_domains = 服务器的域名或者ip # 如果你指定了http服务  这个是必须要填的 ,这个是域名 ,要是你没有域名就填ip就行
    
    [ssh] # 如上
    type = tcp # 
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000 # 这个很重要,你在当前客户端设置后,  当客户端和服务端连接后,服务端会监听6000端口的请求,如果有6000的请求进来,那么客户端就会走当前的配置服务,走本机的22 ssh服务
    
  3. 启动

    服务端启动

./frps -c frps.ini

​ 客户端启动

./frpc -c frpc.ini

  1. 测试

    http测试

    image-20240122010937456

    ssh测试 (mac测试远程ssh需要开放端口,关闭防火墙,开启共享-远程登录)

    image-20240122011045029

1. frp http和ssh穿透流程图解

绿色为http请求的穿透过程

红色的为ssh连接的穿透过程

(马赛克部分为本人的公网服务器ip)

image-20240122003454444

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用frp实现穿透功能的方法如下: 1. 首先,你需要准备一台公服务器作为frp的服务端,以及一台需要做转发的内服务器作为frp的客户端。确保这两台服务器可以互相访问。 2. 在公服务器上安装和配置frp服务端。你可以通过下载frp服务端的方式来安装。具体的步骤是,在公服务器上下载frp服务端,并进行配置。 3. 下载frp服务端的方法可以根据你的操作系统来选择适合的版本。一般来说,你可以通过在公服务器上执行命令来下载frp服务端,比如使用wget命令。 4. 下载完成后,你需要进行frp服务端的配置。配置文件通常是一个frps.ini文件,你可以根据自己的需求来修改配置文件中的参数,比如端口号、认证方式等等。 5. 在客户端的内服务器上,你需要准备工作。比如,确保内服务器上部署了需要暴露在公上的资源,比如项目接口。 6. 通过scp命令将下载的frp服务端传送到公服务器上,可以使用以下命令:scp -P ssh开放的端口 下载的frp_0.51.2_linux_amd64.tar.gz的位置 登录的账号@公服务器ip:你要拷贝到的公服务器的位置。 7. 在公服务器上解压下载的frp服务端,并执行启动命令,启动frp服务端。 通过以上步骤,你就可以使用frp实现穿透功能了。这样,你就可以在外部络访问到内服务器上的资源,而无需在公上部署一套相同的服务。同时,通过内穿透,你可以在家中或其他地方访问公司内的资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值