0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

非公网IP用户如何直接穿透家庭路由器

网络技术干货圈 来源:CSDN-邓大帅 2023-08-28 09:57 次阅读

今天将向大家介绍当前唤醒最优方案:非公网IP用户如何直接穿透家庭路由器,一键唤醒内网计算机,实现远程开机。

需要提前准备的材料:

路由器一台(本文以华硕AU886路由器为例);

固件包(本文以华硕梅林固件为例);

一台公网服务器(作为FRPS,实现内网穿透);

U盘移动硬盘(用于文件的传输和挂载,存储)

支持WOL远程唤醒的计算机(只要不是古老的计算机,默认上述要求都已经满足。

一、配置计算机(默认已开启,一般可以跳过这一步)

1.主板 BIOS

BIOS 里关于 WOL 网络唤醒的选项一般有 wake on lan;resume on lan;power on PME;power on by PCI-E device; Power on by Onboard LAN 等等,将其设为 Enabled 即可。

2.网卡驱动

”控制面板-网络和 Internet-网络和共享中心-本地连接-属性-配置“:

“高级”选项卡如下图设置:
dbe3cc1c-453b-11ee-a2ef-92fbcf53809c.png
电源管理”选项卡如下图设置:
dbfb1b92-453b-11ee-a2ef-92fbcf53809c.png

windows[8-10]需要禁用windows的快速启动功能, 因为快速启动会使得网卡在关机时候处于彻底关闭的状态, 控制面板>>电源选项>>修改关机按键的功能>>修改不可用选项, 启动模式从快速启动改为普通模式。

二、路由器刷梅林固件

以华硕AC88U为例:

还原路由器至出厂值,进入 “系统管理–系统设置”,按图示开启ssh以及JFFS,重启路由器以初始化JFFS。

dc17bd24-453b-11ee-a2ef-92fbcf53809c.png

注意:重启后检查Format JFFS partition at next boot是否已经自动还原为”否“,如果没有,手动调成“否”,否则下次开机会再次还原配置。

三、路由器配置

计算机与路由器之间插上网线,以固定MAC码。

”内部网络–DHCP服务器–手动指定 IP 的 DHCP 列表“,建立IP-MAC地址的映射。
dc344688-453b-11ee-a2ef-92fbcf53809c.png

ARP绑定静态ip地址
由于在华硕路由器内,没有这个设置,因此我们选择通过用ssh命令的形式做ARP绑定。

arp-s192.168.1.103F0:76:1CEA:D8

上述设置在路由器重启(包括断电后),ARP绑定将会丢失,如需永久有效并且开机自启,需要分别利用文件不会丢失的jffs目录以及scripts开机自启脚本,具体操作如下:

cd/jffs/scripts/

viarp-s.sh#建立启动脚本arp-s.sh;

写入:

#!/bin/sh
sleep30
arp-sIP地址MAC地址
chmod7777arp-s.sh

”tools–scripts添加脚本“,脚本类型:WANSTART;脚本地址:/jffs/scripts/arp-s.sh

dc47e576-453b-11ee-a2ef-92fbcf53809c.png
现在从理论上看,在内网环境下已经能够通过路由器控制界面唤醒本地计算机

进入”网络工具–通过网络(LAN)唤醒“,按下图设置后,检验内网环境下是否能够通过输入目标MAC码并点击”唤醒“按钮唤醒计算机。
dc600502-453b-11ee-a2ef-92fbcf53809c.png
之后关闭计算机,用处于局域网内的其他设备登陆路由器后台,点击唤醒,可以看到计算机被唤醒。

四、配置路由器SSH唤醒命令

1.安装entware环境

由于梅林是基于Entware来安装插件的,因此需要安装entware环境。
插入U盘/移动硬盘(推荐EXT4文件系统,可以用“分区助手”格式化方式更改挂载盘文件系统类型)

梅林固件可以在插入磁盘的时候自动识别文件系统并挂载,不过考虑到有些固件可能还没有很完善,所以给出手动挂载的方法,供参考。

#挂载
mkdir/mnt/sda1
mount-text4/dev/sda1/mnt/sda1/

#检查
df-h

FilesystemSizeUsedAvailableUse%Mountedon
/dev/sda1916.9G2.0G868.4G0%/tmp/mnt/sda1
#安装entware环境
entware-setup.sh
dc809ccc-453b-11ee-a2ef-92fbcf53809c.png

常见安装失败原因:在固件中的“软件中心”安装了“虚拟内存”。

dcc27458-453b-11ee-a2ef-92fbcf53809c.png
因为这会导致jffs里的post-mount.sh在安装时不能正确产生,并且“虚拟内存”应用貌似卸载脚本有问题,正常卸载后相关的脚本仍然在jffs,这会致使entware环境重启后opt路径无效。同时本来安装 entware-ng就会创建虚拟内存。

情况一:先安装了“软件中心-虚拟内存”,后安装entware环境,entware将无法正常安装

dcd75cce-453b-11ee-a2ef-92fbcf53809c.png

情况二:先安装entware环境,后安装了“软件中心-虚拟内存”,路由器重启后entware环境丢失

而在成功安装entware环境后我们可以看到opkg被配置完成。

dcf026b4-453b-11ee-a2ef-92fbcf53809c.png

2.安装wakeonlan和etherwake工具

opkginstallwakeonlan
opkginstalletherwake

查看etherwake命令格式:

dd0aa52a-453b-11ee-a2ef-92fbcf53809c.png

内网环境下尝试使用etherwake-b[MAC码]唤醒计算机
如:etherwake-bF0:76:1CEA:D8
也可ether-wake-bF0:76:1CEA:D8

dd2f96fa-453b-11ee-a2ef-92fbcf53809c.png
在按照上述步骤全部操作完毕后,如果发现仍然无法正常唤醒路由器,多半是由于魔术包没有发在正确的内网里。可以尝试前往:“外部网络-双线路”,开启双线路,选择负载均衡,即可解决问题。其原理目前猜测是路由器的特殊地位(既是网关也是设备)造成的,欢迎评论讨论,
dd48cb20-453b-11ee-a2ef-92fbcf53809c.png
dd653170-453b-11ee-a2ef-92fbcf53809c.png
至此,在内网环境下,我们实现了通过一条路由器SSH命令唤醒局域网内指定主机。

五、使用Frp内网穿透路由器22端口,实现外网环境ssh登陆

方法1:传统frpc包配置,在此不在赘述。

缺点:需要解决开机数据丢失的问题

方法2:在固件”软件中心“直接下载使用Frpc

缺点:由于路由器固件下载的Frpc版本固定,因此VPS上的Frps版本需要向Frpc版本看齐(一般就是要求最新版本的Frp),如果之前VPS上已经做过其他穿透,极大可能老的Frps和路由器上的最新Frpc版本不一致,如果没有多余闲置穿透服务器,需要重装Frps版本,在本次穿透完成后可能会花费大量时间更改其他穿透客户端的版本,需要注意。

1.Frps配置

首先前往“软件中心”查看“Frpc”版本号,下载与之对应的Frps文件。点此下载

dd8afec8-453b-11ee-a2ef-92fbcf53809c.png

其次配置文件:

tar-zxvf文件名#解压缩

cd文件名#进入解压目录

#修改frps.ini文件
sudovim./frps.ini
[common]
bind_addr=0.0.0.0
bind_port=7000
token=设置你的token
vhost_http_port=8080
vhost_https_port=443
dashboard_port=7500
tcp_mux=true
max_pool_count=50
log_level=info
log_max_days=1
kcp_bind_port=7000

开放服务器相应端口!
开放服务器相应端口!
开放服务器相应端口!

#在文件目录下,临时启动命令,查看是否报错
./frps-c./frps.ini

0.20版本privilege_token应写作token,否则会出现 uthorization failed 报错。

2.路由器Frpc配置

前往“软件中心”下载“Frpc”,进入配置:

dda2305c-453b-11ee-a2ef-92fbcf53809c.png
ddbc1c38-453b-11ee-a2ef-92fbcf53809c.png
ddd46ea0-453b-11ee-a2ef-92fbcf53809c.png
ddf46be2-453b-11ee-a2ef-92fbcf53809c.png
de1382c0-453b-11ee-a2ef-92fbcf53809c.png
de3a7fa6-453b-11ee-a2ef-92fbcf53809c.png
尝试使用服务器IP的6100端口远程登陆路由器shell命令行,成功,至此路由器22端口已成功穿透,实现外网环境ssh登陆。
de93a310-453b-11ee-a2ef-92fbcf53809c.png

六、进阶——外网环境下手机 语音/一键 唤醒内网计算机(以IOS为例)

1. 下载 捷径 app(iphone用户需要ios12版本)

deb17a52-453b-11ee-a2ef-92fbcf53809c.png

2. 将开机SSH命令写入APP(用户密码指路由器ssh登陆密码)

decab9ea-453b-11ee-a2ef-92fbcf53809c.png

3. 加入Siri

deee5170-453b-11ee-a2ef-92fbcf53809c.png

一键点击或语音唤醒:

df0d9760-453b-11ee-a2ef-92fbcf53809c.png
df41376e-453b-11ee-a2ef-92fbcf53809c.png

七、简便替代方案

对于不想追求上述全部功能,或者远程唤醒使用频率较低(可以容忍多步操作)的读者,也可以选择在完成前文一(配置计算机)二(路由器刷梅林固件)两步骤并建立IP-MAC地址的映射后,直接尝试内网穿透路由器后台页面。

(1)在frpc中添加http穿透。

df64659a-453b-11ee-a2ef-92fbcf53809c.png
注意事项:
1、服务名称:名称不能重复。
2、域名配置(也可以直接填写主机ip地址):使用http或https穿透服务时,所有的“远程主机端口”都会默认绑定到“vhost http port”,懂web服务的应该知道,如果多个http都用80端口,需要绑定域名或者分配端口来进行区分服务,如果不指定域名那么将访问默认的80服务,同样,填写的域名也不能和服务器上其他的冲突。

(2)外网访问后台手动唤醒

如在frpc端域名名配置/sk选项选择了填写域名,需要进行域名解析。

df78aafa-453b-11ee-a2ef-92fbcf53809c.png

域名配置/sk选择填写域名:通过 域名:8080 形式访问
域名配置/sk选择填写主机IP地址:通过 IP:8080 形式访问
这里在外网环境下我通过访问 “http://r.顶级域名.com:8080” 的方式登陆路由器后台

df941074-453b-11ee-a2ef-92fbcf53809c.png
进入后台在侧栏进入“网络工具”——>“通过网络(LAN)唤醒”——>“选择需要唤醒的机器mac码”——>“唤醒”。

dfb8cba8-453b-11ee-a2ef-92fbcf53809c.png

如果服务器上开启了nginx的web服务,那么在安装的时候“vhost http port”或“vhost https port”将不能使用80或443端口,如果习惯访问地址后面不添加端口,可以使用nginx反向代理的代码,修改下面的代码后就可以使用“http://你设置的域名”来访问frp了,其他的代码自行百度如何设置反向代理解决,下面给出NGINX的配置:

map$http_x_forwarded_for$clientRealip{
""$remote_addr;
~^(?P[0-9.]+),?.*$$firstAddr;
}

server{
listen80;
server_namemanage.frp.com;#为frp的控制台绑定一个域名,这样你就可以用http://manage.frp.com访问你的控制台了
location/{
proxy_passhttp://127.0.0.1:6443;#此处的6443就是你安装frp时设置的dashboard_port端口
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$clientRealip;#$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
}
}

server{
listen80;
server_name*.frp.com;#将所有的frp.com子域名都绑定,这样就不用客户端填写一个你设置一个了,这样你可以用http://lisi-route.frp.com或http://zhangsan-route.frp.com访问你的穿透服务了。
location/{
proxy_passhttp://127.0.0.1:7080;#此处的7080就是你安装frp时设置的vhost_http_port端口
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$clientRealip;#$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
}
}

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    6649

    浏览量

    84526
  • WINDOWS
    +关注

    关注

    3

    文章

    3440

    浏览量

    87144
  • 路由器
    +关注

    关注

    22

    文章

    3500

    浏览量

    111342
  • 移动硬盘
    +关注

    关注

    2

    文章

    171

    浏览量

    44100

原文标题:【内网穿透开机】外网环境下基于路由器广播,一键唤醒内网计算机实现远程开机

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    路由器参数设置和功能详解

    的核心部分,处理的好坏往往决定了宽带路由器的吞吐量这个最重要的参数。一般来说,处理主频在100M或以下的属于较低主频,这样的宽带路由器适合普通
    发表于 06-02 11:59

    路由器的配置

    要注意选择对应的串口(com1或com2)并配置串口参数。华为路由器均采用命令行的方式进行配置,为了实验顺利进行,先来介绍一下Quidway系列路由器的几种配置模式。  ●普通用户模式:开机
    发表于 12-07 14:09

    路由器也能自动换IP啦..局域网用户的福音哦!!!

    路由器也能自动换IP啦..局域网用户的福音哦!!!路由器IP自动更换者 V1.08超级实用的路由器
    发表于 06-01 18:33

    低端路由器和高端路由的区别

    记录有每个网络端口相连的网络信息。同时路由器中还保存有一张路由表,它记录有去往不同网络地址应送往的端口号。Internet用户使用的各种信息服务,其通讯的信息最终均可以归结为以IP包为
    发表于 06-26 14:11

    GPRS上位机与公网IP端口设置问题

    我申请了一台云服务,他们提供了一个固定的公网ip,当进入云服务时候本机ip公网
    发表于 08-23 09:45

    TCP通信设置路由器映射内网端口到外网

    公网IP地址111.226.169.195。注意,这里和花生壳软件内端口映射功能的IP不一样,不设置路由器的时候,IP地址是有花生壳自动提
    发表于 07-27 21:42

    路由器分类

    模块化结构。接入路由器位于网络边缘,通常使用屮低端路由器。要求相对低速的端口以及较强的接入控制能力。随者技术的进展,边缘路由器需要完成的工作越來越多,除了接入用户以外,还需要对用流量作
    发表于 06-15 10:09

    【BPI-M64试用体验】如何判断网络是否公网ip及动态域名解析介绍

    ip的占用,通俗的讲就是路由器内的计算机的ip。1.光纤接入的绝大多数都不是公网ip,是内网ip
    发表于 06-21 01:10

    GPRS模块跟服务连接没有公网IP地址

    请问,GPRS模块要跟服务连接,要是没有服务公网IP地址,我的网络是经过路由器过来的,可以用花生壳来模拟一个吗,这个该怎么做?
    发表于 03-27 06:35

    ESP8266的STA模式连接不上公网IP

    我用该模块的STA模式连接同一路由器中的另一个IP是可以的,但是要连接到公网IP始终连不上请问有什么不一样的吗用手机连接路由器后,我用网络调
    发表于 04-30 06:35

    请问调试GSM的GPRS通信时为什么要用公网IP

    请问,调试GSM的GPRS通信时,为什么要公网IP?。。。。1.公网IP与经过路由器后的IP有什
    发表于 05-27 23:20

    买工业路由器看什么参数

    路由器参数,他的大小直接决定着WiFi信号的穿墙能力,这个数值越大,穿透能力越强。  5、外观设计,是否耐用,是否符合工业恶劣环境使用,可避免设备故障造成项目损失。6、WAN口LAN口的数量,对组网,设备
    发表于 10-22 17:53

    ip地址是怎样通过nmcli命令直接连接wifi路由器的呢

    ip地址是怎样通过nmcli命令直接连接wifi路由器的呢?有哪些步骤?
    发表于 02-11 09:22

    3招让你快速找到你的路由器IP地址

    对于路由小白来说,如果不知道路由器的管理IP地址,最简单的方法是直接查看路由器机身的贴纸,一般贴纸上都会表明
    发表于 03-15 21:10 1.7w次阅读

    工业路由器免费内嵌花生壳PHTunnel,无需公网IP实现视频监控远程访问!

    今天跟大家分享北京节点通TD-LTE系列工业路由器内嵌花生壳PHTunnel,不需要公网IP,实现远程外网访问所连接的任何内网设备或应用,如设备远程无线联网、数据远程采集与传输、远程监测与控制等。
    发表于 04-16 14:23 2552次阅读