小编PKM*_*PKM的帖子

是否有脚本可以在家庭路由器中添加端口转发规则?

TL;DR:我正在寻找一个脚本或一个 cron 作业,它会定期在 linux 主机(树莓派上的 fedora)上运行,它将检查路由器中是否仍然存在端口转发规则,如果不存在则添加它. 目的是始终可以通过 SSH、VNC 和传输 Web 界面从家庭网络之外的互联网上的任何机器访问 raspberry pi linux 主机。设置如下:

路由器

Beetel 440Tx1 ADSL2 路由器+调制解调器+wifi。

设置

路由器连接到互联网(ISP 宽带)并具有动态外部 IP。它为我的计算机提供了一个私人家庭网络,内部 IP 192.168.xy 也充当 DHCP。

主持人

带有 Fedora Linux 的 raspberry pi ARM 主机,始终运行 ssh、vnc、传输守护程序服务器在启动时启动。它还具有 no-ip.com dyndns 免费 DUC(动态更新客户端),它会定期检查外部 IP 并将其绑定到主机字符串。所以我总是可以通过解析像 myrouter.no-ip.org 这样的 dyndns 字符串来找到我的路由器的外部 IP。pi 有一个静态内部 IP,如 192.168.1.z。

端口转发

仅当通过以太网电缆或密码保护的 Wi-Fi 连接到该网络时,才必须使用带有工厂凭据的 GUI/浏览器登录路由器

http://192.168.1.1/html/index1.html
Run Code Online (Sandbox Code Playgroud)

我通过登录将外部 IP 上端口 22、5900、9091 上的任何流量转发到 pi 上 192.168.1.z 上的相应侦听程序(sshd、vncserver、传输守护程序)来设置规则。

问题

当路由器(路由器)重新启动时,或者即使出现电力峰值并且 UPS 必须暂时介入,该路由器也会失去上述端口转发规则,并且通常会从我的 ISP …

networking linux router script port-forwarding

17
推荐指数
1
解决办法
2万
查看次数

Android 或 Java 是否因为在虚拟机上运行而使用更多功能?

由于Android应用程序运行在基本上是虚拟处理器的JVM(Dalvik VM)上,并且每个虚拟指令都必须映射到底层芯片组的本机指令,因此这种映射是否会由于这种映射的开销而导致更多的功耗?

这个问题可以扩展到 Java,也可以表述为“Java 应用程序是否使用更多功能?”。这就是 Android 手机与其他平台/手机相比电池寿命如此惊人的原因吗?

编辑:根据答案,我澄清了几点,因为我错误地将 JVM 和 Dalvik 互换使用。在这一点上,我谈论 Java 只是为了询问它是否使用更多功率,如果是,那么这在概念上是否也适用于 Android 并且是否会导致电池寿命缩短。

上下文:引自维基百科:

  1. Java 字节码类似于 C 代码的汇编语言。
  2. 从编译器的角度来看,Java 虚拟机只是另一个带有指令集 Java 字节码的处理器,可以为其生成代码。
  3. JVM 具有堆栈架构。Dalvik 是一个进程虚拟机,它与 JVM 的虚拟化类型不同,具有寄存器架构。

由于 Java 编程语言被编译为字节码(类似汇编)并在虚拟处理器上运行,因此它提供了真正的软件代码可移植性。此外,由于有一个适用于 Linux 的 JVM,并且 Linux 已被移植到开放硬件上,因此这种组合可以在整个堆栈中提供真正的应用程序可移植性。

功率:问题基本上归结为这一点 - 对于软件代码或应用程序的相同功能集,您的 CPU 时钟周期的百分比归因于运行时环境。这是现代 JVM 的即时编译环境,如果字节码被编译为底层芯片组的本机指令,那么运行时应该只在 jit 编译期间处于活动状态。那么在运行时环境中使用了多少 CPU 时钟周期,这预计会导致功耗开销。我只对功耗方面感兴趣,而不是与静态类型和构建语言相比的相对性能,并了解 Java 的优势。可能相关的子问题:

  • Java 运行时是否使用 libc 来实现其功能?
  • 这些与功耗相关的点是否会转化为 Dalvik VM 和 Android?
  • 与其在不谈论屏幕和无线芯片组的情况下概括 Android 的电池消耗不佳,不如谈谈 iPhone 5 如何拥有 1440 mAH 电池,与现代 Nexus 手机相比,它很小。整个思路(Java、虚拟处理器、指令映射、Android)之所以出现,是因为一位忠实于 iphone 的朋友声称这可能是他的 iphone 电池寿命比我的(很棒的)nexus 更长的可能原因。

无论如何,感谢您的回答。

java power android jvm virtual-machine

14
推荐指数
2
解决办法
5552
查看次数