网络知识之frp内网穿透

不要使用所谓的一键安装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 = http://www.zhangqihui.cc
server_port = 7000

[web]
type = http
local_port = 8000
custom_domains = http://www.zhangqihui.cc

修改Windows 10 电脑的hosts文件

127.0.0.1 http://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 –permanent
firewall-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系统),安装frps

# yum 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实现内网穿透
VPS+frp 配置(菜鸟版)
在一个超小的vps上搭建frp内网穿透
使用 Frp 对内网黑群晖进行穿透型映射

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s