- 【丁丁历险记】全篇索引
- 本节教大家在服务器中部署 frp 的相关服务。实现内网穿透,本例主要以远程连接 ssh 为主,若想部署其他服务请参考 frps_full.ini和frpc_full.ini 。
- 点击此处下载对应版本
一、Frps.ini
- 在下载的文件中可以找到 frps 与 frps.ini 这两个文件,S 表示 server,此文件往往部署在具有公网 ip 的服务器中。
- 修改 frps.ini 文件。
# frps.ini
[common]
bind_port = 7000 #服务器提供 frp 服务的端口号 (必须设置)
dashboard_port = 7001 #服务器提供控制台服务的端口号
dashboard_user = Your_username #服务器提供控制台服务的用户名
dashboard_pwd = Your_passwd #服务器提供控制台服务的用户密码
auth_token = Your_key #客户端访问服务器的密钥(若不设置则任意机器可以连接)
使用 ./frps -c frps.ini 启动服务。
二、Frpc.ini
- 在需要进行穿透的设备上部署客户端应用。
- 修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 100.100.1.0;
# frpc.ini
[common]
server_addr = 100.100.1.0
server_port = 7000
#若服务器使用了auth_token 则此处也需要加入相同密钥
[ssh]
type = tcp #数据传输协议
local_ip = 127.0.0.1 #本地ip
local_port = 22 #本地端口号
remote_port = 6000 #远程映射的端口号
通过./frpc -c frpc.ini启动客户端服务
三、使用 SSH 进行远程连接
-
使用 ssh 远程连接服务器映射的端口
ssh -p 6000 client_user@100.100.1.0
连接的端口号为客户端中的 remote_port。账号密码是客户端的账号和密码。
四、自动启动 frp 服务--使用 systemctl
-
新建 frp.service 文件
sudo nano /lib/systemd/system/frp.service
- 写入以下内容,注意区分 服务端 和 客户端
[Unit]
Description=frp service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
# 服务端
ExecStart=/home/ubuntu/frp/frps -c /home/ubuntu/frp/frps.ini
# 客户端
# ExecStart=/root/frp/frpc -c /root/frp/frpc.ini
[Install]
WantedBy=multi-user.target
- 使用 systemctl 启动服务
# 启动frp
sudo systemctl start frp
# 开机自启动
sudo systemctl enable frp
# 重启
sudo systemctl restart frp
# 停止
sudo systemctl stop frp
# 查看日志
sudo systemctl status frp