- frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。
- 实现内网穿需要有一台公网服务器。本文将公网服务器称为服务端,内网服务器称为客户端。需要开启相关的端口。相关端口没开通,访问就会失败。
centos7(公网一台,内网一台)
frp_0.33.0_linux_amd64.tar.gz,frp的客户端和服务端都在同一个包里。
文件说明
frps.ini: 服务端配置文件
frps: 服务端软件
frpc.ini: 客户端配置文件
frpc: 客户端软件
frps.ini配置:
[common] bind_port = 7000 # auth token token = 1234 dashboard_port = 7500 # dashboard 用户名密码,默认都为 admin dashboard_user = admin dashboard_pwd = 1234 vhost_http_port = 7083
开启服务端服务
nohup ./frps -c frps.ini &
frpc.ini配置:
[common] #服务器ip地址 server_addr = 182.16.7.166 server_port = 7000 #开放api,提供reload服务 admin_addr = 127.0.0.1 admin_port = 7400 # auth token token = 1234 [ssh] type = tcp local_ip = 127.0.0.1 #ssh端口 local_port = 22 remote_port = 1022
后台启动客户端的frp
nohup ./frpc -c frpc.ini &
配置完后就可以通过 ssh root@182.16.7.166 -p 1022 来连接到内网服务器。
centos7开机启动
/usr/lib/systemd/system/frp.service
[Unit] Description=the frp service After=syslog.target network.target [Service] Type=forking ExecStart=/usr/local/frp/start.sh ExecReload=/bin/kill -USR2 $MAINPID ExecStop=/bin/kill -SIGINT $MAINPID [Install] WantedBy=multi-user.target
centos8 的配置有点不一样:
[Unit] Description=the frp service After=syslog.target network.target network-online.target Wants=network.target network-online.target [Service] Type=forking ExecStart=/usr/local/frp/start.sh ExecReload=/bin/kill -USR2 $MAINPID ExecStop=/bin/kill -SIGINT $MAINPID [Install] WantedBy=multi-user.target
执行:
systemctl enable frp systemctl start frp



