繁体   English   中英

为什么魔术包可以通过 lan 而不是 wan 唤醒?

[英]Why the magic packet can wake_on_lan via lan instead of wan?

我简单的家庭网络环境:modem(pppoe) + router + pc。 调制解调器是一种 FTTH 设备,它是光纤到户 (FTTH),通过光纤传输通信信号。
在 BIOS 中设置:

Advanced--Realtek Lan Controller--enabled
        --Realtek Pxe Option Rom--enabled
Advanced--APM--Power on by PCI-E 

在路由器中设置:

the ip (192.168.31.52) and mac address are binded together

我的 android 的 qpython3 中的start_lan.py脚本:

from wakeonlan import send_magic_packet
send_magic_packet('mac address of my pc') 

在我的 android 手机中打开 wifi 并从 android 的 qpython3 运行start_lan.py ,我的电脑通过 lan 在 lan 上唤醒,成功!
然后我想通过WAN(外部互联网环境)唤醒局域网,有两种状态要讨论,一种状态保持路由器在web结构中,另一种不。
状态一:

modem(pppoe) + pc
#Remove router 

状态二:

Keep the web structure as same as wake_on_lan via lan.

Set port forwarding on my router:  

    name  protocol      external port        inner ip address   inner port
    wan   TCP and UDP   30000                192.168.31.52       9
    #the default port for wake on lan is 9.

When request my pc's public ip on the port 30000,it will be forwarded into 192.168.31.52 on the port 9. 

这两种状态都在我的 android 的 qpython3 中使用几乎相同的start_wan.py脚本: 对于状态 1:

from wakeonlan import send_magic_packet
send_magic_packet('mac address of my pc',ip_address='public ip') 

对于状态 2:

from wakeonlan import send_magic_packet
send_magic_packet('mac address of my pc',ip_address='public ip',port=30000) 

执行脚本,我的电脑无法唤醒?FTTH设备重要吗? 如何解决?

有的 ISP 只为用户开放知名端口,将端口 nmuber 改得更小。

在我的路由器上设置端口转发:

name  protocol      external port        inner ip address   inner port
wan   TCP and UDP   9                     192.168.31.52       9

经验证,两种状态都可以使用相同的代码片段,如下所示:

from wakeonlan import send_magic_packet
send_magic_packet('mac address of my pc',ip_address='public ip',port=9) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM