FRP内网穿透_内网穿透 无需公网ip

2022-09-30 10:36:16 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一、关于内网穿透

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。下面就相互通信的主机在网络中与 NAT 设备的相对位置介绍内网穿透方法。

二、为什么要使用内网穿透 为了外网要访问内网,因为当不在同一局域网内,ip和地址互相ping不同的话,最简单的方式是使用向日葵与teamview,但是用起来并不方便。

三、使用frp进行内网穿透 (1)关于frp的介绍

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

(2)准备工作 在使用frp之前,需要一台有公网IP的服务器(外网主机),一台需要实现内网穿透的机器(内网主机),SSH工具,及一个域名。

(3)进行配置

  • 服务端配置

1.下载frp库

代码语言:javascript复制
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

2.进行解压

代码语言:javascript复制
 tar -zxvf frp_0.33.0_liux_amd64.tar.gz

3.进入解压目录

代码语言:javascript复制
cd frp_0.33.0_linux_amd64/

4.配置文件

代码语言:javascript复制
vi frps.ini

将配置文件进行修改

代码语言:javascript复制
[common]
# frp监听的端口,默认为7000
bind_port = 7000
# 授权码
token = 52010

# frp后台管理端口
dashboard_port = 7500

# frp后台管理登陆的账号密码,可自定义
dashboard_user = root
dashboard_pwd = root
enable_prometheus = true

# 进行frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3

5.设置与启动frp服务

代码语言:javascript复制
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/

# 开机自启动
sudo systemctl enable frps
# 启动frp服务
sudo systemctl start frps

6.防火墙开放端口

代码语言:javascript复制
# 添加监听端口
firewall-cmd --permanent --add-port=7000/tcp
# 添加管理后台端口
firewall-cmd --permanent --add-port=7500/tcp
firewall-cmd --reload

7.验证是否成功 在浏览器中输入:http://服务器的ip:后台管理端口 (后台管理端口的设置在配置文件中) 进入之后会显示登陆需要使用的账号密码,同样的也是在配置文件frps.ini中

  • 客户端配置(mac版本) 1.下载frp库 此处为百度网盘链接:
代码语言:javascript复制
链接: https://pan.baidu.com/s/1q44bhL4Q0aABw9EjgkwTYw 
密码: 9c1t

2.进行解压

代码语言:javascript复制
tar -zxvf frp_0.33.0_darwin_amd64.tar.gz

3.进入解压目录

代码语言:javascript复制
cd frp_0.33.0_darwin_amd64

4.进行配置文件的配置

代码语言:javascript复制
vi frpc.ini
代码语言:javascript复制
# 进行客户端的配置
[common]
server_addr = 服务器的ip地址
# server_port的端口需要与frps.ini的bind_port端口一致
server_port = 7000 
token = 52010

# 配置ssh服务
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# remote_port可进行自定义
remote_port = 6000

# 配置http服务
[web]
type = http
local_ip = 127.0.0.1
local_port = 8080
subdomain = test.hijk.pw
# 自定义远程服务器的端口
remote_port =8080

5.客户端启动

代码语言:javascript复制
./frpc -c frpc.ini

6.测试是否成功 找另外一台电脑,在终端中执行

代码语言:javascript复制
ssh 用户名@服务端ip  -p 端口号

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194476.html原文链接:https://javaforall.cn

0 人点赞