大家好,又见面了,我是你们的朋友全栈君。
一、关于内网穿透
内网穿透,也即 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库 此处为百度网盘链接:
链接: 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