# 下载
客户端和服务器都要下载这个文件
frp_0.38.0_linux_amd64.tar.gz
# 解压
请在客户机(也就是需要进行内网穿透的本地机)和服务器执行相同操作:
解压: tar -xvf frp_0.38.0_linux_amd64.tar.gz
放到 local 目录下: mv frp_0.38.0_linux_amd64 /usr/local/frp
cd /usr/local/frp
# 服务器配置
登录到腾讯云服务器,下载解压步骤。
ls
查看目录:
frps 是服务器对应的执行文件,frps.ini 是服务器配置文件。
修改 frps 配置文件: vim frps.ini
[common] | |
bind_port = 33300 |
这个 bind_port
就是 frps 的监听端口,可以修改为你需要制定的端口,在云服务器中,我们一般不会使用默认端口,因为这可能会导致出现病毒攻击。
腾讯云设置:找到防火墙管理规则,开放暴露端口。
注意
如果你要通过 frp 进行 ssh 访问,还要开启一个 ssh 访问端口,也就是要暴露两个端口,一个 33300
端口,一个 33301
端口,其中 33301
端口用于提供 ssh 服务。
总结,修改配置文件,开放两个端口。
如果执行报错,可以执行 chmod 777 frps
增加权限。
# 执行
/usr/local/frp/frps -c /usr/local/frp/frps.ini
# 注册为系统服务
sudo vim /usr/lib/systemd/system/frps.service
[Unit]
Description=frps Service
Documentation=https://github.com/fatedier/frp
After=network.target nss-lookup.target
[Service]
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
Restart=on-failure
RestartPreventExitStatus=23
[Install]
WantedBy=multi-user.target
重载服务: systemctl daemon-reload
开启服务: systemctl start frps
查看服务状态: systemctl status frps
设置开机自启动: systemctl enable frps
# 客户端
# 客户端配置
frpc 是客户端对应的执行文件,frpc.ini 是客户端配置文件。
执行之前相同的下载解压 cd 命令
修改客户端配置: vim frpc.ini
,[ssh] 设置了 ssh 端口, remote_port
指的是你的服务器应该用 33301
端口来提供 ssh 服务,因为我们之前开放了服务器的 33301 端口。
[common] | |
server_addr = 你的服务器公网ip | |
server_port = 33300 | |
[ssh] | |
type = tcp | |
local_ip = 127.0.0.1 | |
local_port = 22 | |
remote_port = 33301 |
同样,注册为服务: sudo vim /usr/lib/systemd/system/frpc.service
[Unit]
Description=frps Service
Documentation=https://github.com/fatedier/frp
After=network.target nss-lookup.target
[Service]
ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
Restart=on-failure
RestartPreventExitStatus=23
[Install]
WantedBy=multi-user.target
~
重载服务: systemctl daemon-reload
开启服务: systemctl start frpc
查看服务状态: systemctl status frpc
设置开机自启动: systemctl enable frpc
# ssh 连接
ok,现在我们可以用 ssh 来连接到这个内网主机了。
ssh -p 33301 内网机需要登录的用户名@服务器的公网ip
完美,这样我们就完成了内网穿透实现 ssh 连接了。