ubuntu frp方式,实现内网穿透

目录

1.frp的作用、原理和应用场景

2.配置阿里云服务器

3.配置本地的frp服务

4.步骤总结

5.常见问题与解决方法

6.frp改成系统服务的方式

7.通过frp访问web


1.frp的作用、原理和应用场景

常规内网穿透的使用方式是:

  • ①:在公司配置一台肉机(又称堡垒机或跳板机),为这一台服务器(或PC)买一个公网IP(或使用公司线有公网IP),若想最大程度提高公网IP的使用率,在肉鸡前也可以设置一台代理服务器,使用请求转发的形式,将形如ssh等远程访问的请求转发到肉鸡上。此时我们可以先访问肉鸡(ssh或其他),登录到肉鸡后再访问公司内部的PC。

补充:内网穿透指的是通过互联网访问局域网的一种技术手段

frp的作用和原理:

  • ②:除了常规内网穿透方式以外,使用frp技术进行内网穿透也是非常好用的,frp而且最大的优势在于可以蹭公网IP。
  • frp是如何实现的:首先frp分客户端和服务端,通过分别在客户端和服务端安装配置frp,达到内网穿透的效果。一般被访问的PC上安装客户端程序,在拥有公网ip(或与互联网连通)的PC上安装服务器程序。拓扑图如下:
  • frp服务器端:作为服务器端,必须满足两个条件:可被客户端访问和被访问者方法。验证访问为:访问者走互联网访问,Ping服务器公网ip可通证明可访问。客户端通过局域网或互联网ping服务器可通证明可访问。
  • frp为什么可以蹭公网ip:分两种情况理解。第一种情况是,客户端与服务端处于局域网,服务端拥有公网ip且可访问外网,此时不知道

 

上面的内容没看懂?没关系,按照以下步骤执行即可,在使用中感受frp的强大之处

 

2.配置阿里云服务器

1) 下载frp

wget  "https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz"
tar zxvf frp_0.27.0_linux_amd64.tar.gz
cd frp_0.27.0_linux_amd64

2) 修改frp服务器配置文件

vim frps.ini

修改配置以下内容:

[common]
bind_port = 8000 # 客户端跟服务端绑定的端口号

3) 启动frp服务器

# ./frps -c ./frps.ini

# 后台起
nohup ./frps -c ./frps.ini &
  1. 当前阿里云服务器为frp开放的端口为600~6100

  2. 为机器同时配置ssh和web端口时端口需要连续(方便记忆),且定义规则ssh端口号为偶数,web管理界面为奇数。

  3. 所有配置到工控机的frp端口必须同步记录到阿里云服务器上的/root/frp_0.27.0_linux_amd64/client.info

  4. api端口: 6070/6089

  5. 每台client端需要配置不同的proxy name[相同机器和不同机器之间都不能同名],且不能过于简单,否者重名后会导致后起的机器无法连接。

3.配置本地的frp服务

1)下载frp

wget "https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz"
tar zxvf frp_0.27.0_linux_amd64.tar.gz
cd frp_0.27.0_linux_amd64

2)修改rfp客户端配置文件

vim frpc.ini

配置以下内容:

  1. [ssh]
  2. type = tcp
  3. local_ip = 127.0.0.1
  4. local_port = 22
  5. remote_port = 2201

3)启动frp服务

# ./frpc -c ./frpc.ini

4)验证frp配置的有效性

测试ssh登陆,如可登陆证明客户端到服务器之间连通

# 登陆云服务器后
ssh 客户端用户名@localhost -p 客户端配置的端口

4.步骤总结

步骤一:服务器(PC)、网络环境准备,明确网络连接方式:①客户端与服务端互联网相连 ②客户端和服务端局域网相连

步骤二:在服务器端和客户端分别安装frp软件,并配置

步骤三:通过服务端验证是否可与客户端连接

 

5.常见问题与解决方法

问题1:客户端和服务端配置好后在服务端无法ssh到客户端

  • 检查客户端与服务端的网络连接情况(ping命令)
  • 检查客户端与服务器的frp开启情况
  • 检查客户端或服务端防火墙是否开放
  • 检查客户端所用端口是否被其他客户端占用(或其他进程)

问题2:无法穿透到内网

  • 通常原因是受到公司防火墙影响,需找网络管理员确认frp使用的端口是否被封禁

问题3:客户端快速部署方式

  • 当想让一台linux系统的PC快速部署成可被访问的状态,只需要做两步
  • ①:使PC联网,ping服务端可通
  • ②:安装frp客户端服务并启动
  • 配置完成后即可通过服务端访问,即使我们不知道客户端的公网ip地址

 

6.frp改成系统服务的方式

1)改名frpc为frpservice,frpc.ini改名为frpservice.ini并拷贝到系统目录下

cd /tmp/frp_0.27.0_linux_amd64
sudo cp frpc /usr/bin/frpservice
sudo cp frpc.ini /etc/frpservice.ini

2)为frpc创建系统服务

sudo vim /lib/systemd/system/frpservice.service

添加以下内容:

[Unit]
Description=frpservice
After=network.target
​
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpservice -c /etc/frpservice.ini
ExecReload=/usr/bin/frpservice reload -c /etc/frpservice.ini
​
[Install]
WantedBy=multi-user.target

开启服务

sudo chmod 777 /lib/systemd/system/frpservice.service
​
# 开启服务
systemctl enable frpservice.service
​
# 启动服务
systemctl start frpservice.service

7.通过frp访问web

frp支持web访问,通过http://域名或ip:remote_port

在客户端配置:local_port为web的端口

  1. [web]
  2. type = tcp
  3. local_ip = 127.0.0.1
  4. local_port = 80
  5. remote_port = 8080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值