赞
踩
由于 some 原因,接触到需要将内网虚拟机上的服务发布到公网上访问,于是有了这篇简单的文章。
原理:内网穿透
工具:frp
知识点:有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
NAT详细描述:nat (网络地址转换协议)
查看内网主机公网IP地址:
curl -4 ip.sb # 查看公网IPv4地址
curl -6 ip.sb # 查看公网IPv4地址
Github 地址: https://github.com/fatedier/frp
使用frp的前提:
frp服务端配置
腾讯云服务器上下载 frp。
地址:https://github.com/fatedier/frp/releases
arch # 查看服务器硬件结构类型,下载对应类型 frps。
# x86_64 本人腾讯云服务器为x86_64架构,下载 linux_386 对应包
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_386.tar.gz
tar -zxvf frp_0.37.1_linux_386.tar.gz
cd frp_0.37.1_linux_386/
注意:下载慢可在虚拟上下载,然后使用scp
指令上传到腾讯云服务器上(参见:https://blog.csdn.net/StepTp/article/details/120108025)。
配置 frps.ini
(以GitHub上示例,配置ssh 登录,端口为22)
vim frps.ini
[common]
bind_port = 7000
启动。
./frps -c ./frps.ini
frp客户端配置
虚拟机上下载frp。
地址同上
arch # 查看虚拟机硬件结构类型,下载对应类型 frps。
# x86_64 本人虚拟机为x86_64架构,下载 linux_386 对应包
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_386.tar.gz
tar -zxvf frp_0.37.1_linux_386.tar.gz
cd frp_0.37.1_linux_386/
配置 frpc.ini
vim frpc.ini
# 文件配置
[common]
server_addr = 腾讯云服务器IP
server_port = 7000 # 端口对应frps.ini文件
[ssh]
type = tcp
local_ip = 虚拟机内网IP
local_port = 22 # 虚拟机ssh端口为22
remote_port = 6000 # 使用腾讯云服务器端口做映射
启动。
./frpc -c ./frpc.ini
验证:ssh通过腾讯云服务器登录内网虚拟机
ssh -oPort=6000 root@腾讯云IP
此处以root用户,登录虚拟机,输入root对应虚拟机密码,成功登录。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。