Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29504198
  • 博文数量: 230
  • 博客积分: 2868
  • 博客等级: 少校
  • 技术积分: 2223
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-08 21:48
个人简介

Live & Learn

文章分类

全部博文(230)

文章存档

2022年(2)

2019年(5)

2018年(15)

2017年(42)

2016年(24)

2015年(13)

2014年(1)

2012年(5)

2011年(58)

2010年(56)

2009年(9)

我的朋友

分类: 其他平台

2022-07-07 15:35:19

一、frp简介:

frp是一个开源的内网穿透软件,大概工作过程如下:

服务端运行在具有公网IP的服务器上,并监听某个端口,等待客户端连接

客户端运行在需要穿透的内网机器上,连接到服务器之后,服务器开始监听客户端需要穿透的指定端口

外网用户连接服务器监听的指定端口,然后服务器将用户数据转发到内网客户端,实现内网穿透

二、准备工具:

(1)源码地址: github.com/fatedier/frp

(2)下载对应服务器和客户端的程序:github.com/fatedier/frp

(3)外网服务器:ip + 域名

(4)内网客户端:虚拟机也可以,我的是 ubuntu 20.04

三、服务器配置

(1)将下载的压缩包上传到服务器,解压,我下载的是 frp_0.37.1_linux_amd64

(2)进入文件夹,删除客户端相关内容,仅保留服务端内容

cd /usr/local/frp_0.37.1_linux_amd64

rm -f frpc*

(3)配置服务器

主要设置bind_port,token,其他的是一些高级功能,可以慢慢摸索

(4)启动服务器

启动命令:

./frps -c ./frps.ini

(5)当然,你也可以配置一下systemd文件夹的内容,将服务添加到系统,这样就可以用systemctl命令来控制了

首先将 systemd/frpc.service 复制到系统 /usr/lib/systemd/system/ 目录下

修改配置:

  • After=network.target syslog.target
  • ExecStart=/usr/bin/frps -c /etc/frp/frps.ini (需要修改为自己放置的文件路径)
[Unit]
Description=Frp Server Service
After=network.target syslog.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

客户端服务启动:

  • systemctl enable frps
  • systemctl start frps
  • systemctl reload frps
  • systemctl status frps

四、客户端配置

(1)与服务端的(1)相同

(2)进入文件夹,删除服务端相关内容,仅保留客户端内容

cd /usr/local/frp_0.37.1_linux_amd64

rm -f frps*

(3)配置客户端

主要配置相关的服务,如ssh,web,配置 ip ,type,port,remote port

(4)启动客户端

启动命令:

./frpc -c ./frpc.ini

(5)当然,你也可以配置一下systemd文件夹的内容,将服务添加到系统,这样就可以用systemctl命令来控制了

首先将 systemd/frpc.service 复制到系统 /usr/lib/systemd/system/ 目录下

修改配置:

  • After=network.target syslog.target
  • ExecStart=/usr/bin/frpc-c /etc/frp/frpc.ini (需要修改为自己放置的文件路径)
  • ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini (需要修改为自己放置的文件路径)
[Unit]
Description=Frp Client Service
After=network.target syslog.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

客户端服务启动:

  • systemctl enable frpc
  • systemctl start frpc
  • systemctl reload frpc
  • systemctl status frpc

五、配置已完成

现在就可以通过访问 “客户端子域名+remote_port”来访问内网客户端了,也可以通过shell来连接了

六、补充

搭建过程中碰到了一些问题,之前有写帖子,在这里集中一下

(1)查看端口是否开放


阅读(276) | 评论(0) | 转发(0) |
0

上一篇:如何在外网访问ARM嵌入式Linux系统

下一篇:没有了

给主人留下些什么吧!~~