没有公网IP怎么怎么访问自己的路由器呢? 最便携的方法当属于使用FRP内网穿透应用了
方法/步骤
一: Linux平台
1.1 配置FRPS
1.1.1 打开frps.ini
[common]
# frp 服务端端口(默认端口号7000)
bind_port = 7000
# 如果你想要用 frp 穿透访问内网中的网站(例如路由器设置页面)
# 则必须要设置以下两个监听端口,不设置则不会开启这项功能
vhost_http_port = 8080
vhost_https_port = 443
# 认证超时时间,由于时间戳会被用于加密认证,防止报文劫持后被他人利用
# 因此服务端与客户端所在机器的时间差不能超过这个时间(秒)
# 默认为900秒,即15分钟,如果设置成0就不会对报文时间戳进行超时验证
# authentication_timeout = 900
# 仪表盘端口,只有设置了才能使用仪表盘(默认端口号7500)
dashboard_port = 7500
# 仪表盘访问的用户名密码,如果不设置,则默认都是 admin
dashboard_user = admin
dashboard_pwd = admin
#日志路径
#日志记录级别
#日志保留天数
log_file = /usr/local/frps/frps.log
log_level = debug
log_max_days = 7
1.1.2 系统配置systemctl
# 创建frps.service
sudo vim /lib/systemd/system/frps.service
# 在frps.service里添加以下内容
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
# 启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/usr/local/frps/frps -c /usr/local/frps/frps.ini
[Install]
WantedBy=multi-user.target
注意"ExecStart="之后的路径要填写你的frps安装路径(本文以安装到/usr/local/为例)
1.1.3 启动并设置开机重启
# 启动frps
sudo systemctl start frps
# 服务器开机自动启动frps
sudo systemctl enable frps
# 重启frps
sudo systemctl restart frps
# 停止frps
sudo systemctl stop frps
# 查看日志
sudo systemctl status frps
1.1.4 使用配置frps.ini启动命令:
nohup ./frps -c ./frps.ini &
1.2 配置FRPC
1.2.1 配置frpc.ini
[common]
server_addr = xxx.com
server_port = 7000
# 客户端连接所需的token
token = xxx
[server1]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 3306
1.2.2 系统配置systemctl
# 创建frps.service
sudo vim /lib/systemd/system/frpc.service
# 在frps.service里添加以下内容
[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
# 启动服务的命令(此处写你的frpc的实际安装目录)
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini
[Install]
WantedBy=multi-user.target
注意"ExecStart="之后的路径要填写你的frpc安装路径(本文以安装到/usr/local/为例)
1.2.3 启动并设置开机重启
# 启动frpc
sudo systemctl start frpc
# 服务器开机自动启动frpc
sudo systemctl enable frpc
# 重启frpc
sudo systemctl restart frpc
# 停止frpc
sudo systemctl stop frpc
# 查看日志
sudo systemctl status frpc
二: Windows 平台
要暴露设备的客户端配置: common 配置是服务端端口号
remote_port 在公网服务要暴漏的端口号
2.1 Frpc
2.1.1 编辑 frpc.ini文件
[common]
server_addr = xxx.com
server_port = 7000
# 客户端连接所需的token
token = xxx
[server2]
type = tcp
local_ip = 127.0.0.1
local_port = 6200
remote_port = 6200
- 添加脚本(供计划任务使用)
start.bat
@echo off
:home
frpc -c frpc.ini
goto home
2.1.2 Frpc开机启动
开机启动可以加入操作系统计划任务或者使用工具进行
2.1.2.1 使用win10 任务计划
计算机管理--> 任务计划程序--> 创建任务
2.1.2.2 使用 WinSW 工具进行开机启动
Windows 启动工具 winSW 下载地址: https://github.com/winsw/winsw/releases
<service>
<id>frp</id>
<name>frp</name>
<description>用frp发布本地电脑网站到外网</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<logmode>reset</logmode>
</service>
然后打开管理员权限命令提示符,使用下面的命令安装并启动服务。(执行winsw install如果返回值为0,说明已将程序注册为服务)
winsw install
winsw start