简单入门内网穿透
内网穿透原理
我们目前搭建在公网的服务器frps是作为中转的路由,内网客户端 -> 公网服务器路由 -> 其他内网主机,内网客户端发送请求,然后发送给其他内网主机,内网主机连接成功反弹回请求到公网服务器再利用6070转发到我们内网4545端口上,从而达到内网穿透成功。
我的一开始的本意是想着在学校外连接学校内的服务器,我在实验室放了一个小服务器,用来存一些东西或者做mc服务器。
本教程使用的是0.37版本的frp
首先在windows上会自动认为是病毒,所以把win11的病毒防护关了再下载frp,https://github.com/fatedier/frp。
然后先连接阿里云服务器,当然,我们也可以直接用vnc登入的方式,参考:https://blog.csdn.net/qq_35668469/article/details/109536339
我们先用vnc登入,然后将sshd_config中的pubkeyAuthentication设置为yes
vi /etc/ssh/ssh_config
这样我们就可以使用ssh登入了。
再linux服务器里面解压,
tar -zxvf frp_0.62.1_linux_amd64.tar.gz
然后我们开始配置服务端:
配置frps.ini
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = [仪表盘用户名]
dashboard_pwd = [仪表盘密码]
token = [客户端连接密码]
接着配置客户端的frpc.ini
[common]
[服务器IP]
7000
[客户端连接密码]
true
[mc]
tcp
25565
25565
准备运行frp服务端
如上图所示,先设置权限,然后再运行
之后给安全组添加端口(如果是阿里云的话)。点击“手动添加”,端口范围填写刚刚所填的三个端口(分三次添加),授权对象选择“0.0.0.0/0”
接着运行frp客户端
/frpc -c frpc.ini
运行成功后我们就可以通过内网穿透来进行连接客户端了。
ssh -p port user_name@server_addr
接下来就可以通过这种方法爽玩MC了,大概测试了一下,几乎几个小时也花不了一个g。
点对点穿透
学习到另外一个更方便,或许说更方便的能力,就是p2p点对点穿透
该网络拓扑如下:
优点:仅少量占用服务器带宽,占用的带宽可忽略不计,传输大文件利器!自然打游戏可能也会更好,哈哈。
先在服务端frps.ini进行配置
加上两行:
bind_udp_port = 7001
kcp_bind_port = 7000
接着在需要穿透的主机内网开启一个frpc客户端,将配置文件写入frpc.ini(客户端配置)
[common]
***.***.***.***
7000
80
admin
admin
[Mstsc]
xtcp
abcdefg
3389
在另外一台控制端也配置好跟上面类似的配置,然后local_port修改一下,这样就可以连到localhost:3390了。
不过经过测试,实际上更慢一些,而且成功率似乎也不高,哈哈。
参考:https://gofrp.org/zh-cn/docs/examples/xtcp/