1.上电后frpc会请求frps:17000端口,并建立TCP连接,此后会一直维持 这个链接,因为后面所有客户端请求frpc后面的服务时,数据都会通过这个TCP连接进行中断,而不再建立新的连接。
2.客户端1请求frps:17001时,frps会把数据转发给frpc,frpc会把数据转发给服务22,也就是ssh
3.客户端2请求frps:17002时,frps会把数据转发给frpc,frpc会把数据转发给服务17002
重点:frpc与frps之间其实就维持了一个TCP链接,这与我之间的理解还是有偏差的。
看看我建立的连接,其实没几个:
下面是客户端与服务器建立的3个连接,其它17000是FRPS? FRPC之间的连接。?这之间就存在这1个唯一的连接。
下面是我的frpc连接的几个“服务器”,其中包括一个ssh(22), 一个17002端口的
服务器我并没有全部暴露在公网是而是隐藏在路由器AX6后面的1台树莓派上,只暴露了3个端口,17000,17001,17002,我搭建之初还在想,如果我的树莓派不在公网上,frpc怎么使用随机端口连接呢,后来才发送,frpc与frps之间其实就维持了1条TCP链路,而另外2个端口17001 17002是在frpc.ini中规定的远程端口,这个端口必须在服务器中打开,并且能够在公网上访问到!! 至于frpc.ini中的本地端口,这个就随意了,都是本地的,相互之间可以直接访问到。
?服务器配置:
cat frps.ini [common] bind_port = 17000
客户端配置:
cat frpc.ini [common] server_addr = 222.137.XX.XXX server_port = 17000
[ssh] type = tcp local_ip = 192.168.111.104 #local_ip = 192.168.111.104127.0.0.1 local_port = 22 remote_port = 17001
[tcp] type = tcp local_ip = 192.168.1.222 local_port = 17002 remote_port = 17002
|