虚拟机内网穿透(frp)
下载frp压缩包
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。
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/
vim frps.ini
-----
# frps.ini
[common]
bind_port = 7000 #指定服务运行端口
-----
#指定配置文件运行服务端
./frps -c ./frps.ini
客户端
tar -zxvf frp_0.37.1_linux_386.tar.gz
cd frp_0.37.1_linux_386/
vim frpc.ini
-----
# frpc.ini
[common]
server_addr = x.x.x.x #服务端ip地址
server_port = 7000 #服务端frp运行端口
[ssh]
type = tcp #转发类型
local_ip = 127.0.0.1 #本地客户端ip地址
local_port = 22 #本地客户端端口,跟服务端端口作映射
remote_port = 6000 #远程服务端端口,跟客户端端口作映射,即针对该6000端口的请求会被转发到客户端22端口
-----
#指定配置文件运行客户端
./frpc -c ./frpc.ini
后台运行
- 服务端
vim /lib/systemd/system/frps.service
-----
[Unit]
#服务描述
Description=Frps Server Service
#frps 将会在 network.service 启动完毕之后再启动
After=network.target
[Service]
# 不论进程是否启动成功,systemctl start 都执行成功
Type=simple
# 在启动该服务时需要执行的命令行
ExecStart=/usr/local/frp/frp_0.37.1_linux_386/frps -c /usr/local/frp/frp_0.37.1_linux_386/frps.ini
[Install]
# 用于 systemctl enable 时创建软连接
WantedBy=multi-user.target
-----
#重新加载服务
systemctl daemon-reload
systemctl start frps
systemctl status frps
- 客户端
vim /lib/systemd/system/frpc.service
-----
[Unit]
#服务描述,frp 客户端服务
Description=Frpc Server Service
#frpc 将会在 network.service 启动完毕之后再启动
After=network.target
[Service]
# 不论进程是否启动成功,systemctl start 都执行成功
Type=simple
# 在启动该服务时需要执行的命令行
ExecStart=/usr/local/frp/frp_0.37.1_linux_386/frpc -c /usr/local/frp/frp_0.37.1_linux_386/frpc.ini
[Install]
# 用于 systemctl enable 时创建软连接
WantedBy=multi-user.target
-----
#重新加载服务
systemctl daemon-reload
systemctl start frpc
systemctl status frpc