不要使用所谓的一键安装script,frp本身很简单,别把简单的事情搞复杂了。
80和443端口被封,无法发布个人web服务,或者需要访问公司内网的电脑,或者公司内网电脑突破上网限制,都可以用内网穿透的方法来实现。
问题:是不是frp也可以用来翻墙?
内网穿透软件的选择:
内网穿透工具,可以用ngrok或者frp,因为ngrok 2.0已经商业化,所以本文只涉及 frp。
实践一、手工安装frps与frpc,实现个人web发布
1、VPS端配置frps服务器(frps是server端,frpc是客户端,官网,官网frp下载地址)
wget -c https://github.com/fatedier/frp/releases/download/v0.15.0/frp_0.15.0_linux_386.tar.gz
tar -zxvf frp_0.15.0_linux_386.tar.gz
cd frp_0.15.0_linux_386
firewall-cmd –zone=public –add-port=7000/tcp –permanent
firewall-cmd –zone=public –add-port=8080/tcp –permanent
firewall-cmd –reload
systemctl restart firewalld.service
vi frps.ini
frps.ini内容:
[common]bind_port = 7000
vhost_http_port = 8080
启动frps:
./frps -c ./frps.ini
2、本地Windows 10 配置frpc:
下载frpc:frp_0.15.0_windows_386.zip,修改frpc.ini如下:
[common]server_addr = www.zhangqihui.cc
server_port = 7000
[web]
type = http
local_port = 8000
custom_domains = www.zhangqihui.cc
修改Windows 10 电脑的hosts文件
127.0.0.1 www.zhangqihui.cc
本地启动8000端口的网页:
python -m http.server
通过鼠标右键菜单打开powershell,启动frpc:
./frpc -c ./frpc.ini
问题:
1、浏览器返回找不到页面(The page you visit no found),服务器端返回错误信息(http:proxy error:no such domain)为啥?2、凭啥会连接上frps,没有密码保护吗?
进阶1:
dashboard(状态以及代理统计信息),配置frps.ini:
[common]
dashboard_port = 7501
dashboard_user = {username} #缺省为用户名admin
dashboard_pwd = {password} #缺省密码是admin
别忘了提前打开相应的防火墙端口:
firewall-cmd –zone=public –add-port=7501/tcp –permanentfirewall-cmd –reload
通过浏览器访问:http://zhangqihui.cc:7501就可以看到服务器端信息了
进阶2:身份验证
运行frps时,会提示安全提示PrevilegeMode Enabled
。PrevilegeMode是特权模式。新版本的frp,proxy配置全放在客户端了,,服务端就不再配置诸如 tcp、http 等的隧道,只需要启动frps 服务即可。
[common]
privilege_token = {privilege_token} #服务端与客户端common的token必须一致,则身份验证通过,
注:如果只在frps设置token,frpc没有设置,会提示authorization failed
实践二、通过软件中心,在小宝梅林固件路由器上安装“frps穿透服务器”
1)安装frps穿透服务器,具体参数如下
Dashboard port 6443 #
Dashboard User admin #
Dashboard Pass #
Bind port #
Privilege Token #
vhost http port #
vhost https port #
TCP 多路复用 #
日志记录 #
日志等级 #
日志记录天数 #
max pool count #
定时注册服务(0为关闭) #
2)打开路由器6443端口,实现外网访问(失败,为啥?)iptables -I INPUT -p tcp –dport 6443 -j ACCEPT #添加6443端口,注意dport前是两条横!
iptables -I INPUT -p udp –dport 6443 -j ACCEPT
iptables -L | grep 6443
_ ACCEPT udp — anywhere anywhere udp dpt:6443_
_ ACCEPT tcp — anywhere anywhere tcp dpt:6443_
实践三、使用 clangcn 的 script,在VPS上安装frps #不建议,因为搞不清script到底做了啥
参考 :
IT男的VPS系列教程 篇一:内网穿透(Frp)-拯救没有公网IP的你
[frpc穿透] 【填坑完毕】内网穿透利器Frp一键安装脚本及设置教程
步骤:
1、在个人VPS通过clangcn 的 script 安装frp客户端frps
2、修改frps配置文件
3、配置客户端
1、登录 vultr (CentOS系统),安装frpsyum update #apt-get是Ubuntu系统用的,在CentOS下不适用
wget –no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
============== Check your input ==============
You Server IP : 45.63.21.165
Bind port : 5443
kcp support : true
vhost http port : 7080
vhost https port : 7443
Dashboard port : 6443
Dashboard user : admin
Dashboard password : jaguaR72f
Privilege token : wkI2djMIT71pUgih
tcp_mux : true
Max Pool count : 50
Log level : info
Log max days : 3
Log file : enable
配置VP防火墙端口,保证以上端口都是打开的,打开浏览器,输入“http://45.63.21.165:6443”,输入以上用户名与密码,就可以看到自己的frps状态了!
2、修改frps配置文件
查询frps路径
which frps # /usr/bin/frps 指向 /etc/init.d/frps ,查看这个文件,发现frps以及配置文件在/usr/local/frps目录下
3、配置客户端,实现内网突破网管限制上网
4、卸载frps
./install-frps.sh uninstall
问题:
如何改变端口如何安装客户端,实现公司电脑上网无限制
如何配置发布手机上的web服务?
参考:
使用frp实现内网穿透