使用frp的stcp协议访问对方内网中的端口
对于某些服务来说如果直接暴露于公网上将会存在安全隐患。
使用 stcp(secret tcp) 类型的代理可以避免让任何人都能访问到要穿透的服务,只有自己才可访问,但是访问者也需要运行另外一个 frpc。
以下示例将会创建一个只有自己能访问到的 ssh 穿透服务代理。
frps.ini服务端配置
Bash
[common]bind_port = 7000 bind_udp_port = 7001 dashboard_port = 7500 log_file = /root/frp/frps.log log_level = info log_max_days = 3 authentication_timeout = 0 token = frp888 max_pool_count = 50
启动 frpc,转发内网的 ssh 服务,配置如下,不需要指定远程端口:
待对方访问
frpc.ini客户端配置
Bash
[common]server_addr = 服务端IP server_port = 7000 token = frp888[client_A]type = stcp#SK跟访问者一致才能连通,可以自己随便设sk = abcdefg local_ip = 127.0.0.1 local_port = 3389
在要访问这个服务的机器上启动另外一个 frpc,配置如下:
要访问对方
frpc.ini客户端配置
Bash
[common]server_addr = 服务端IP server_port = 7000 token = frp888[client_A_visitor]type = stcp role = visitor#server_name同上面[client_A]一致,待访问端和访问者client_A字段可以替换成自己想要的server_name = client_A sk = abcdefg bind_ip = 127.0.0.1 bind_port = 2222
说明:
bind_addr = 127.0.0.1绑定监听本地IP
bind_port = 2222绑定监听本地端口,可自定义。
本地SSH工具通过 127.0.0.1:2222,既可访问到已穿透的3389服务。
server_name = 要访问的穿透服务名称。
sk = 只有 sk 一致的用户才能访问到此服务,可自定义。
role = stcp 的访问者,可自定义。
注意:这是最精简使用的方法实例,如你有更多要求,请参考详细参数阅读。