快速上手免费的内网穿透方案

2024-06-12 11:08:21 浏览数 (2)

常见的内网穿透技术介绍:https://juejin.cn/post/6844904169497690120

FRP

开源的内网穿透软件,需要在个人云主机上启动server,在内网机器上启动client服务,利用云主机的公网IP来进行访问,IP和端口都是固定的。

Github: https://github.com/fatedier/frp

官方文档:https://gofrp.org/zh-cn/

下载列表:https://github.com/fatedier/frp/releases

安装文档参考:https://zhuanlan.zhihu.com/p/456124824

服务端

按照个人需求,修改frps.toml中配置的端口等数据,同时需要修改frps.service中服务启动的可执行文件路径和启动配置文件路径。

代码语言:javascript复制
wget https://github.com/fatedier/frp/releases/download/v0.58.0/frp_0.58.0_linux_amd64.tar.gz
tar -xf frp_0.58.0_linux_amd64.tar.gz
cd frp_0.58.0_linux_amd64
cat > frps.toml <<EOF
bindPort = 8100
webServer.addr = "0.0.0.0"
webServer.port = 8101
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "xxx"
EOF

cat > /etc/systemd/system/frps.service<<EOF
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /data/frp_0.58.0_linux_amd64/frps -c /data/frp_0.58.0_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target
EOF
systemctl enable frps
systemctl start frps

客户端

若在树莓派中启动客户端,需要把systemd服务配置信息中的network.target修改为network-online.target。配置中的remotePort需要在防火墙开白名单。

按照个人需求,修改frpc.toml中配置的端口和远程服务端IP及端口等数据,同时需要修改frpc.service中服务启动的可执行文件路径和启动配置文件路径。

本地每个端口若要映射到公网,则都需要配置一个完整的[[proxies]]配置信息。

代码语言:javascript复制
wget https://github.com/fatedier/frp/releases/download/v0.58.0/frp_0.58.0_linux_arm64.tar.gz
tar -xf frp_0.58.0_linux_amd64.tar.gz
cd frp_0.58.0_linux_amd64
cat > frpc.toml <<EOF
serverAddr = "42.x.x.x"
serverPort = 8100

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 8022
EOF

cat > /etc/systemd/system/frpc.service<<EOF
[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frpc的命令,需修改为您的frpc的安装路径
ExecStart = /home/frp_0.58.0_linux_arm64/frpc -c /home/frp_0.58.0_linux_arm64/frpc.toml

[Install]
WantedBy = multi-user.target
EOF
systemctl enable frpc
systemctl start frpc

Cpolar

https://dashboard.cpolar.com/status

免费使用,在客户端启动如下服务,但是每次重启后的地址和端口都会变化,若要固定地址和端口,则需要升级会员。

代码语言:javascript复制
 // 连接帐户
 ./cpolar authtoken xxx
 
 // 在端口80上启动HTTP隧道
 ./cpolar http 8080

0 人点赞