通过frp实现内网穿透(树莓派+ECS服务器)
- github: https://github.com/fatedier/frp
wget https://github.com/fatedier/frp/blob/dev/conf/systemd/frps.service
- Server
# amd64
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
tar xvf frp_0.38.0_linux_amd64.tar.gz
sudo cp frp_0.38.0_linux_amd64/frps /usr/bin/
sudo vim /etc/frp/frps.ini
bind_addr = 172.18.42.145
bind_port = 7000
# auth token
token = 12345678
- 放行端口和安全组出入端口
# 例如:
sudo ufw allow 2000:9999/tcp
sudo vim /lib/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
- Start service
# Start
sudo systemctl enable frps
sudo systemctl start frps
sudo systemctl daemon-reload
sudo systemctl restart frps.service
- Client
# arm
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_arm.tar.gz
tar xvf frp_0.38.0_linux_arm.tar.gz
sudo cp frp_0.38.0_linux_arm/frpc /usr/bin/
sudo vim /lib/systemd/system/frpc.service
[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
sudo vim /etc/frp/frpc.ini
[common]
server_addr = 120.79.201.222
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2222
- Start service
sudo systemctl enable frpc
sudo systemctl start frpc
# Restart
sudo systemctl daemon-reload
sudo systemctl restart frpc.service
sudo systemctl status frpc
# Check status
sudo systemctl list-units |grep frpc
SSH login
# 这里是你服务器公网IP
ssh -p 2222 pi@120.79.201.222