Ev yönlendiricisine bağlantı noktası yönlendirme kuralı eklemek için bir komut dosyası var mı?


16

TL; DR : Yönlendiricide hala bir bağlantı noktası yönlendirme kuralı olup olmadığını kontrol edecek ve yoksa ekleyecek bir linux ana bilgisayarında (ahududu pi'de fedora) çalışacak bir komut dosyası veya cron işi arıyorum . Amaç, ahududu pi linux konağına SSH, VNC ve iletim web arayüzü aracılığıyla ev ağımın dışındaki internetteki herhangi bir makineden her zaman erişebilmek. Kurulum aşağıda verilmiştir:

Yönlendirici :

Beetel 440Tx1 ADSL2 yönlendirici + modem + wifi.

Kurulum :

Yönlendirici internete (ISS Geniş Bant) bağlı ve dinamik bir harici IP'ye sahip. DHCP olarak da görev yapan 192.168.xy dahili IP'li bilgisayarlarıma özel bir ev ağı sağlıyor.

Ana bilgisayar :

Her zaman ssh, vnc, iletim-daemon sunucuları ile çalışan Fedora Linux'lu bir ahududu pi ARM sunucusu önyükleme zamanında başladı. Ayrıca, harici IP'yi rutin olarak kontrol eden ve ana bilgisayar dizesine bağlayan no-ip.com ücretsiz DUC (dinamik güncelleme istemcisi) 'e sahiptir. Böylece myrouter.no-ip.org gibi dyndns dizimi çözerek yönlendiricimin harici IP'sini her zaman bulabilirim . Pi, 192.168.1.z gibi statik bir dahili IP'ye sahiptir.

Liman Yönlendirme :

GUI / tarayıcı kullanarak fabrika bilgilerine sahip yönlendiriciye yalnızca o ağa ethernet kablosu veya parola korumalı wi-fi ile bağlıysa giriş yapmalısınız

http://192.168.1.1/html/index1.html

Kuralı harici IP'deki 22, 5900, 9091 numaralı bağlantı noktalarındaki trafiği, 192.168.1.z adresindeki pi'deki ilgili dinleyici programlarına (sshd, vncserver, transmission-daemon) iletmek için oturum açarak kurarım.

Sorun :

Bu yönlendirici, (yönlendirici) yeniden başlatıldığında veya elektrik gücünde bir artış olsa ve UPS anlık olarak devreye girmeli ve genellikle ISS'imden dinamik olarak farklı bir harici IP alırsa, yukarıdaki bağlantı noktası yönlendirme kuralını kaybeder.

Gereksinim :

Yönlendiricime giriş yapabilen ve bu bağlantı noktası yönlendirme kuralının varlığı için periyodik olarak yoklayabilen ve eksikse oluşturabilen fedora linux pi üzerinde çalışabilen bir komut dosyası veya cron işi. Yardım takdir.


1
Yönlendirici, UPnP üzerinden bağlantı noktası iletmeyi ayarlamayı destekliyor mu? (windows / mac / linux'da çalışan programlar şu anda otomatik olarak port yönlendirme kurallarını kendileri ayarlayabilir mi?)
Scott Chamberlain

Ben öyle düşünüyorum çünkü pcwintech.com/showimage?file=files/screenshots/beetel-440txi/… UPnP hakkında wikipedia sayfası dışında gerçekten fazla bir şey bilmiyorum. Söz konusu yönlendirici türü için google (söz konusu) beni o sayfaya yönlendirdi.
PKM

Yanıtlar:


19

MiniUPnP , port yönlendirmeyi etkinleştirmenizi sağlayan bir komut satırı UPnP istemcisidir. Kaynak mevcuttur, böylece Pi'ye derleyebilmeniz gerekir.

Sanırım bu, ihtiyacınız olan sözdizimi, ancak test edecek bir makinem yok. Aşağıdakileri sizin için uPnP portlarını ayarlayacak bir betiğe koyarsınız

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

ancak, komutun başlangıçta çalışması için eklemek için doğru yer nedir?
Ciasto piekarz

1
@reboot <cmd>Crontab'ınızda kullanabilirsiniz
Martin

1
miniupnpc, apt'li raspbian ile mevcut olmalıdır
Scott

ve upnpc, hizmeti çalıştıran makineden çalıştırılırsa, yerel adresi kullanacak, bu nedenle ifconfig / grep gereksizdir
Scott

ifconfig ...Kullandığım böylece kısmı bana işi yoktu ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'gereğince bu cevap .
Helder S Ribeiro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.