frp实现内网穿透(linux穿透至windows)

frp中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md

frp的作用

通俗点来讲就是有个内网环境的主机,外网没办法访问,利用可以访问内网环境的公网机器来进行间接访问

场景(具体看文档):

  1. 想在家直接通过ssh访问处于公司内网环境内的主机
  2. 通过自定义域名访问部署于内网的 web 服务
  3. 转发 DNS 查询请求

本文的场景是想让同事直接使用ssh访问我的虚拟机

安装frp

  1. 下载地址:https://github.com/fatedier/frp/releases
    由于我的内网机器是linux,外网机器是windows,所以选择这两个(386就是32位的)

  2. 在windows任意目录下解压frp_0.33.0_windows_amd64.zip

  3. 进入到目录中,frpc是客户端的,安装在内网服务器,frps是服务端的,安装在外网服务器(所以frpc的文件在服务端中可以删掉)


  4. 服务端配置(公网服务器)
    打开frps.ini文件,这里使用了最简化的配置,设置了frp服务器端接收客户端流量的端口(其实就是与客户端通讯的端口,默认7000,我这里改成6767)


    image.png
  1. 客户端配置(内网服务器)
#上传
rz 
#解压
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
#重命名
mv frp_0.33.0_linux_amd64 frp

之后进入到frp文件目录,同理可以删除frps开头的文件,保留frpc的。


打开frpc.ini进行编辑


  • server_addr:服务器端ip
  • server_port:服务器用来与客户端通讯的端口(这里配置要跟服务器端的bind_port保持一致)
  • local_port:客户端监听,也就是内网暴露到外网的端口
  • remote_port:服务器端暴露,也就是外网暴露的端口

最后的效果是,同事使用ssh连接xxx.xxx.xxx.93 6768(外网ip端口)来登录xxx.xxx.xxx.129 22(外网ip端口)

启动服务

  1. 启动服务端(frps)
    进入到frp_0.33.0_windows_amd64目录中,执行
.\frps.exe -c .\frps.ini
  1. 启动客户端(frpc)
    进入到frp目录中,执行
./frpc -c ./frpc.ini

测试

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容