PKM*_*PKM 17 networking linux router script port-forwarding
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 动态获取不同的外部 IP。
要求:
一个可以在我的 Fedora linux pi 上运行的脚本或 cron 作业,它可以登录到我的路由器并定期轮询该端口转发规则是否存在并在它丢失时创建它。帮助表示赞赏。
Sco*_*ain 21
MiniUPnP是一个命令行 UPnP 客户端,允许您启用端口转发。源代码可用,因此您应该能够将其编译到 Pi。
我认为这是您需要的语法,但我没有机器来测试它。您只需将以下内容放在为您设置 uPnP 端口的脚本中
upnpc -a `ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1` 22 22 TCP
upnpc -a `ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1` 5900 5900 TCP
upnpc -a `ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1` 9091 9091 TCP
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20427 次 |
| 最近记录: |