内网穿透服务构建

原文地址

原文链接

前言

内网穿透就不谈了,IPv4地址太少,IPv6还没有普及,而且公司或者家庭内网环境需要穿透,方便办公以及调用。这里简单写下目录穿透和服务穿透以及windows远程控制穿透,需要公网服务器,否则无法定位一个固定的ip地址。所以,一次成功的穿透需要三个端,服务端,代理端,客户端

部署

我们这里使用frp作为内网穿透工具,比较简单,我们这里就不使用的docker了。操作步骤参考官方文档,这里只展示Linuxwindows下同理。本文不涉及安全处理,需要的小伙伴可以自行查阅文档添加authentication_method,修改默认端口等操作

release发布地址获取包,如果程序需要动态获取包,参考本站文章通过命令行获取github项目的最新版本

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

解压

 tar -zxvf frp_0.48.0_linux_amd64.tar.gz 

创建系统服务

vim /etc/systemd/system/frps.service

写入服务配置

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.ini

[Install]
WantedBy = multi-user.target

服务启动

systemctl enable frps
systemctl start frps

目录穿透

目录穿透代理端构建

frps.ini

[common]
bind_port = 7000

目录穿透服务端构建

frpc.ini,注意,这里说下,这里使用的虽然是frpc看起来像是客户端,但是这个客户端是对于frp来说的,对于我们的实现功能来说,提供目录的为服务端,下面其他实现功能一样

这里登录后用户token信息会再后续请求中放入header中,如果内部调用可以忽略plugin_http_user配置信息

[common]
server_addr = x.x.x.x
server_port = 7000

[test_static_file]
type = tcp
remote_port = 6000
plugin = static_file
# 要对外暴露的文件目录
plugin_local_path = /tmp/file
# 用户访问 URL 中会被去除的前缀,保留的内容即为要访问的文件路径
plugin_strip_prefix = static
plugin_http_user = abc
plugin_http_passwd = abc

当然,这里服务器的6000端口是需要开放的,但是也可以使用nginx转发处理而不开放6000端口,其他使用remote_port属性的实现功能一样,就不赘述了

目录穿透客户端调用

http://x.x.x.x:6000/static/1.txt

服务穿透

服务穿透代理端构建

[common]
bind_port = 7000
vhost_http_port = 8080

服务穿透服务端构建

frpc.ini,这里server_addr同样可以使用域名,custom_domains也可以使用ip地址,没有域名的硬性要求

[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 8080 
custom_domains = www.yourdomain.com

服务穿透客户端调用

http://www.yourdomain.com:8080/health

windows远程控制

windows远程控制代理端构建

frps.ini

[common]
bind_port = 7000

windows远程控制服务端构建

frpc.ini,首先需要保证服务端windows电脑可以被远程控制,在系统设置中调整,直接在设置中检索远程桌面即可,同时勾上下方复选框仅允许运行…计算机连接,此时在远程连接时候,将使用你的微软账号密码登入

这里家庭版的应该是不允许设置的,但是可以尝试解决,每个版本处理方式可能会有所不同,后续升级也可能被修复,这里还请小伙伴们自行百度

[common]
server_addr = x.x.x.x
server_port = 7000

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000

windows远程控制客户端连接

win+r -> mstsc->x.x.x.x:6000即可访问,登录凭证上如果服务端使用的微软账户,那么则输入微软账号的账户密码,如果你使用的是本地账户,则这里使用本地账户的账号密码即可。如果你使用微软账户密码提示凭据不工作,在你之前没有特殊处理的情况下,一般是微软自己的问题,请尝试先切换本地账户,测试是否可以连接,如果可以连接,切换回微软账户一般就可以了。如果不能连接,那么可能是你之前有过奇怪设置,解决方案参考互联网

原文地址

原文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值