隐藏页面特效

frp实现内网穿透

1|0准备


  1. 公网ip的服务器

  2. 内网windows主机

  3. github frp 上下载对应操作系统的frp

    • 将 frps 及 frps.ini 放到具有公网 IP 的机器上

    • 将 frpc 及 frpc.ini 放到处于内网环境的机器上。

2|0公网服务器配置


解压后进入frp的文件夹内,修改frps.ini

[common] bind_port = 7000 # frp服务端端口(必须) #dashboard_port = 7500 token = 12345678 #dashboard_user = admin #dashboard_pwd = admin
  • “bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
  • “dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。(我们不需要)
  • “token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
  • “dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。(我们不需要)

配置完成后,执行下面命令,就可以启动frp了(服务端)

./frps -c ./frps.ini

如果想要后台运行

nohup ./frps -c frps.ini &

【注意!】检查你的公网服务器,7000端口是否对外开放了,端口开放之后要重启防火墙才能生效,在服务端运行以下代码

$ firewall-cmd --reload

3|0客户端配置


解压后进入frp的文件夹内,修改frpc.ini

[common] server_addr = xxx.xxx.xxx.xxx #frp服务端地址,必须是公网ip或者域名 server_port = 7000 #frp服务端端口,即填写服务端配置中的 bind_port token = 12345678 #同frp服务端的token [ssh] type = tcp #连接类型,填tcp或udp local_ip = 127.0.0.1 #填127.0.0.1或内网ip都可以 local_port = 22 #需要转发到的端口,ssh端口是22 remote_port = 6000 #frp服务端的远程监听端口,即你访问服务端的remote_port就相当于访问客户端的 local_port,如果填0则会随机分配一个端口

配置完成后,执行下面命令,就可以启动frp了(客户端)

./frpc -c ./frpc.ini

如果想要后台运行

nohup ./frpc -c frpc.ini &

【注意!】检查你的公网服务器,6000端口是否对外开放了,端口开放之后要重启防火墙才能生效,在服务端运行以下代码

$ firewall-cmd --reload

此时可以在局域网外使用相应程序访问 x.x.x.x:xxxx (IP为VPS的IP,端口为自定义的remote_port)即可访问到相应服务。

注意:

如果卡在以上界面,一段时间后报错,并且服务器logs没有任何响应:

[W] [control.go:109] login to server failed: dial tcp xx.xx.xx.xx:7000: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

dial tcp xx.xx.xx.xx:7000: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

这时说明服务器的防火墙没有打开该端口,除了firewall防火墙,还用到了iptables防火墙。

注意到以下关于防火墙的命令:

我们需要将7000(服务器端中的bind_port)端口放行,再服务端中输入以下命令:

iptables -F iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 7000 -j ACCEPT

然后重新连接windows客户端

连接成功!


__EOF__

本文作者Veronica
本文链接https://www.cnblogs.com/pikachuuuuu/p/16298063.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Pikachuuuuu  阅读(314)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示