Virtual IP (Neues Paket)

lord-of-linux

Mitglied
Mitglied seit
3 Dez 2005
Beiträge
568
Punkte für Reaktionen
1
Punkte
0
Hallöchen,

ich habe mal wieder ein kleines Addon für den Mod gebastelt. Dieses hat von mir den Namen Virtual IP bekommen. Es ist ein einfaches Steuerskript, dass es ermöglicht, der Fritz eine zusätzliche IP zu geben, damit man einfach Portfreigaben auf sie machen kann. Dies wird im Hintergrund einfach per ifconfig gesteuert und funktioniert super.

Ich habe gerade danisahne angeschrieben und hoffe, dass er das Paket auch gleich in die nächste Version des Mods pakt.

Mehr auf der Wiki-Seite: http://wiki.ip-phone-forum.de/software:ds-mod:pakete:virtualip

Dort werde ich nach einem Update auf die neue Version eine Anleitung mit Screenshots posten.


UPDATES:
0.2: kleine Erweiterung des Webinterfaces
0.3: automatisches Berechnen des Broadcast anhand der IP und der Netmask
0.4: Update der Ausführungsrechte der Skripte
 

Anhänge

  • virtualip_ds-0.1.tar.bz2
    7.9 KB · Aufrufe: 261
  • virtualip-cgi-0.2-dsmod.tar.bz2
    7.9 KB · Aufrufe: 20
  • virtualip-cgi-0.4-dsmod.tar.bz2
    8.1 KB · Aufrufe: 172
Zuletzt bearbeitet:
servus, super! Ist es bereits Teil des ds-mods?
 
Da es schon einige Zeit keine neueren Versionen gab, ist es das noch nicht. Ich denke aber, das könnte so eingebaut werden. Funktioniert ja ohne Probleme.
 
ich hab aufgrund des bugreports mal ein bisschen gefixed. ;)

Update: veraltete Dateien entfernt - folge dem Thread!
 
Zuletzt bearbeitet:
OK, dann werde ich später eine neue Version des Paketes erstellen und uploaden, die kann dann in den Mod mit eingebunden werden.
 
Gibts das neue Package schon? Damit ich das Make-Target aktualisieren kann.

MfG Oliver
 
ToDo: Berechnung der Broadcast Adresse in rc.virtualip
(Alternative: Broadcast Adresse weglassen, wird von ifconfig ergänzt?)
 
Also das einfache Weglassen der Broadcast-Adresse funktioniert meiner Erfahrung nach nicht: habe hier einige Netze mit x/23 bzw. x/26 wo ifconfig dann trotzdem a.b.c.255 als Broadcast-Adresse nimmt.
Von daher würde ich den "safe-mode", sprich die Berechnung empfehlen.
 
Das Paket erstelle ich gleich.

@knox:
Wie berechnet man die Broadcast-Adresse?

@all:
kann man sie weglassen?

EDIT:
Da war dann doch derheimi schneller. Also kommt weglassen nicht in Frage.
 
ich habs eben ausprobiert und man kann die broadcast adresse einfach weglassen. sie wird von ifconfig anhand der ip und netzwerk maske berechnet.

bsp:
Code:
ifconfig eth0:1 192.168.10.1 netmask 255.255.255.252


STOP: unter fedora klappt es, aber auf der fritzbox nicht. liegt wohl am ifconfig... drecks...
 
@knox:
Meinst du folgendes mit dem Berechnen:
Code:
VIRTUALIP_BROADCAST="`echo $VIRTUALIP_IP | sed 's/.[0-9]\{1,3\}$/.255/'`"
 
Die Broadcast-Adresse lässt sich am einfachsten berechnen, wenn man die IP-Adresse und die Netmask jeweils als 4-Byte-Integer-Zahl betrachtet und diese mit ein paar logischen Operatoren verknüpft:
BCAST = IP LOGISCHES_ODER ( | ) ( NOT ( ! ) NETMASK )

Das

lord-of-linux schrieb:
Code:
VIRTUALIP_BROADCAST="`echo $VIRTUALIP_IP | sed 's/.[0-9]\{1,3\}$/.255/'`"

ist zwar der häufigste Standardfall, aber da kann mans dann auch weglassen, denn genau das macht auch ifconfig.

Ich guck grad, wie man das mit Shell-Syntax am effektivsten berechnet. Mal sehen, ob ich das so auf die schnelle hinbekomme...
 
Zuletzt bearbeitet:
lord-of-linux schrieb:
So, dass verbesserte Paket ist nun unter ... zu erreichen.
ich hab mal einen patch gemacht, der auf das neue paket umstellt.

Update: veraltete Dateien entfernt, folge dem Thread ...
 
Zuletzt bearbeitet:
Ich stelle es auch gleich mit dem besseren Namen online. Wenn du es schaffst, das zu ändern bevor es rutnergeladen wird, dann würde ich die "falsch" bezeichnete einfach löschen.
 
So,

inzwischen erinnere ich mich auch, warum ich die bash so mag *g* Aber auch mit der ash im busybox sollte die Broadcast-Berechnung mit der folgenden Funktion funktionieren:
Code:
ipv4bcast () {
  local IP1=${1%%.*.*.*}
  local IP2=${1#*.};    IP2=${IP2%%.*.*}
  local IP3=${1#*.*.};  IP3=${IP3%%.*}
  local IP4=${1#*.*.*.}
  local NM1=${2%%.*.*.*}
  local NM2=${2#*.};    NM2=${NM2%%.*.*}
  local NM3=${2#*.*.};  NM3=${NM3%%.*}
  local NM4=${2#*.*.*.}
  local IIP=$(($IP1 << 24 | $IP2 << 16 | $IP3 << 8 | $IP4))
  local INM=$(($NM1 << 24 | $NM2 << 16 | $NM3 << 8 | $NM4))
  local IBC=$((${IIP} | ~${INM}))
  printf "%u.%u.%u.%u" $((${IBC} >> 24 & 0xFF)) $((${IBC} >> 16 & 0xFF)) \
                       $((${IBC} >> 8 & 0xFF)) $((${IBC} & 0xFF))
}

BCAST=`ipv4bcast $IP $NM`

Einfach irgendwo in das Shell-Script die Funktion, die letzte Zeile demonstriert die Verwendung.

HTH, Michael
 
Hi, knox

eine Frage, in meinem make Verzeichnis ist kein Unterordner "virtualip-cgi" und die betreffenden Dateien die gepatcht werden sollen darunter fehlen natürlich auch. Bisher habe ich das virtualip als addon eingebunden unter addon. Ich würde es gerne nun per deinem patch erledigen. Was fehlt mir denn hier und wo bekomme ich das her.
Also wie ich entpacke und patche ist kein Problem, wie ich aber vorgehen muss um patchen zu können ist die Frage.
Danke für die Hilfe.

Gruß Joel!
 
joelxy schrieb:
in meinem make Verzeichnis ist kein Unterordner "virtualip-cgi" und die betreffenden Dateien die gepatcht werden sollen darunter fehlen natürlich auch. Bisher habe ich das virtualip als addon eingebunden unter addon.
ich benutze ds-0.2.9_26; vielleicht ist es erst da als package integriert?
aber wenn du es bisher als addon gemacht hast, dann ist das doch auch ein gute lösung.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.