利用frp实现内网穿透

» intranet penetration

前置步骤:

1、在仓库复制frp的安装包frp_0.37.1_linux_amd64.tar.gz(适合x86架构)

2、wget + frp安装包链接

3、通过指令tar -zxvf解压

服务器配置步骤:

1、对修改服务器配置文件nano frp/frps.ini

2、添加token = password

3、试运行./frps -c ./frps.ini

4、添加frps系统服务sudo nano /etc/systemd/system/frps.service(这里的文件名决定了以后通过service或systemctl启动时输入的服务名),并做如下修改

[Unit]
Description=frps service
After=syslog.target network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/home/ubuntu/frp/frps -c /home/ubuntu/frp/frps.ini

[Install]
WantedBy=multi-user.target

bug shotting: 如果服务设置自启后出现dial tcp xxx.xxx.xxx.xxx:7000: connect: network is unreachable的错误 解决方案:修改为After=multi-user.target即,使得frp服务最后启动。参考链接

5、利用服务启动frps:sudo systemctl start frps

bug shotting: systemctl start xxx时出现报错:Failed to start XXX.service: Unit not found. 解决方案:systemctl daemon-reload:重新加载某个服务的配置文件。参考链接

6、设置frps自启动:sudo systemctl enable frps

客户端配置步骤:

1、对修改服务器配置文件nano frp/frpc.ini,做如下修改

[common]
server_addr = 81.68.149.215  # 服务器ip
server_port = 7000  # 服务器端口
token = UlXjYoe1JLl55gvRXDIlwqLoc4kvQV

[ssh]  # 别名,不可重名
type = tcp
local_ip = 127.0.0.1  # 相对本机的地址
local_port = 6000  # 本地的地址
remote_port = 6000  # 映射到服务器上的地址

2、试运行./frpc -c ./frpc.ini

3、添加frps系统服务sudo nano /etc/systemd/system/frpc.service(这里的文件名决定了以后通过service或systemctl启动时输入的服务名),并做如下修改

[Unit]
Description=frpc service
After=syslog.target network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/home/ksm/frp/frpc -c /home/ksm/frp/frpc.ini

[Install]
WantedBy=multi-user.target

bug shotting: 如果服务设置自启后出现dial tcp xxx.xxx.xxx.xxx:7000: connect: network is unreachable的错误 解决方案:修改为After=multi-user.target即,使得frp服务最后启动。参考链接

4、利用服务启动frps:sudo systemctl start frpc

5、设置frps自启动:sudo systemctl enable frpc