vtun auf der 7050

schlot

Neuer User
Mitglied seit
3 Nov 2006
Beiträge
41
Punkte für Reaktionen
0
Punkte
6
Hallo,

ich bräuchte einen "vtund" auf meiner FBF7050. Kenne das Speicherlayout von der Box noch nicht so richtig. Muss ich dafür ein eigenes Image bauen, oder reicht es, ein Binary zu haben, das ich nachträglich draufkopiere?

Ein vtund-binary für meinen d-link router ist knapp 50kB groß (uClibc-linked).

Hat das schon mal jemand gemacht? Denn das OpenVPN ist mir für die Sache zu groß, mit vtund mache ich seit einem Jahr gute Erfahrungen für einen kleinen Netzwerktunnel. Hat denn der Standard-Kernel in der Box schon die TUN/TAP-Devices?

Danke

Schlot
 
Hi,

ja, das tun-Device ist im Kernel mit drin. Ich versuche das nacher oder morgen mal zu kompilieren...

Jörg
 
Wow, das find ich sehr cool von Dir :groesste:

Habe vorhin mal versucht, den vtun zu compilieren, aber immer wenn ich gerade eine neue Architektur habe, brauchts erstmal eine Einarbeitungszeit (habe schon einiges mit anderen Routern angestellt, aber die FBF hab ich erst seit gestern abend - und seit vorgestern sollte sie am besten laufen ;-) )
 
Hat etwas gedauert, irgendwie hat das statische compilieren einige libs nicht gefunden, so dass ich da von Hand nachhelfen musste. So habe ich das im freetz gemacht:

Code:
./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux --with-lzo-headers=/home/joerg/freetz-1.0/toolchain/target/include/lzo/  --with-ssl-headers=/home/joerg/freetz-1.0/toolchain/target/include/openssl/ --with-blowfish-headers=/home/joerg/freetz-1.0/toolchain/target/include/openssl/

 mipsel-linux-gcc -g -O2  -I/home/joerg/freetz-1.0/toolchain/target/include/openssl/ -I/home/joerg/freetz-1.0/toolchain/target/include/lzo/ -I/home/joerg/freetz-1.0/toolchain/target/include/openssl/ -I/home/joerg/freetz-1.0/toolchain/target/include/openssl/ -I/home/joerg/freetz-1.0/toolchain/target/include/openssl/ -I/home/joerg/freetz-1.0/toolchain/target/include/openssl/ -L../root/usr/lib  -o vtund main.o cfg_file.tab.o cfg_file.lex.o server.o client.o lib.o  llist.o auth.o tunnel.o lock.o netlib.o tun_dev.o tap_dev.o pty_dev.o pipe_dev.o tcp_proto.o udp_proto.o linkfd.o lfd_shaper.o lfd_zlib.o lfd_lzo.o lfd_encrypt.o ../toolchain/target/lib/libcrypto.a ../toolchain/target/lib/libz.a ../toolchain/target/lib/liblzo2.a -static

Einmal dynamisch und einmal statisch gelinkt, sind aber gestripped doch 250k bzw 500k?!?

Jörg
 

Anhänge

  • vtund.tgz
    260.2 KB · Aufrufe: 8
Vielen herzlichen Dank, das werde ich nachher mal ausprobieren.

Ist normalerweise noch Platz im Flash für die 250k? Die Konfigurationsdatei kann ich ja mit cat aus der debug.cfg rausschreiben lassen.
 
... das könnte mit dem Platz schwierieg werden und ich vermute auch, dass du das statische Binary nehmen müsstest. Aber vermutlich ginge das noch kleiner, wenn du nur bestimmte Eigenschaften brauchst (nur Server/Client, keine Komprimierung/Verschlüsselung...)?

Jörg
 
Also im Prinzip reicht mir vtun ohne Komprimierung und Verschlüsselung. Auf die Box muss nur ein Client.

Ich erkläre mal den Hintergrund: Bei mir steht ein Asterisk-Rechner, an den ich mit der FBF meine Schwester per DSL anbinden will. Auf meinem Server, wo auch der Asterisk läuft, ist auch ein vtun-Server und ein DynDNS-Client. Bisher hatte ich bei meiner Schwester einen Router stehen, der einen vtun-Tunnel aufgebaut hat, damit von dort ein WLAN-Telefon auf meinen Server zugreifen kann.

Weil das Telefon aber nicht richtig funktioniert hat (auch hier im IPPF diskutiert), soll das jetzt die FBF übernehmen und dann schließe ich ein ISDN-Fon an. Wenn ich also den vtun-Client noch auf die Box kriege, kann die komplette sonstige clientseitige Hardware rausfliegen.

Verschlüsselung wäre zwar eine Überlegung, bringt aber glaube ich mehr Kosten als Nutzen (zusätzliche Latenz ist ja nicht schön beim telefonieren). Und Komprimieren lässt sich ein LPCM-Codec zwar schon, aber wenn mal wirklich viel Traffic anliegt, würde ich da eher auf einen GSM-Codec wechseln.
 
Hast du denn vom "vorhandenen" vtund die Config? Dann könnte ich den mal "nachbauen"

Jörg
 
Die Config vom Compilen damals hab ich leider nicht mehr. Ein Aufruf bringt:

VTun ver 3.X 06/07/2007

Ist 81k groß.

Ein ldd bringt:
/uclibc/toolchain_mips/bin/mips-linux-ldd vtund
libc.so.0 => /uclibc/toolchain_mips/lib/libc.so.0 (0x00000000)
/uclibc/toolchain_mips//lib/ld-uClibc.so.0 => /uclibc/toolchain_mips//lib/ld-uClibc.so.0 (0x00000000)

Die Konfigurationsdatei (da kann man ja sehen, was benutzt wird):

------------------------ vtund_c.conf -----------------------------------
options {
port 5000;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/iptables;
ip /sbin/ip;
}

default {
compress no;
speed 0;
}

christine {
passwd <zensiert>;
type tun;
timeout 30;
proto tcp;
keepalive yes;
compress no;
persist yes;

up {
ifconfig "%% 172.19.0.2 netmask 255.255.0.0 up";
route "add 172.19.0.1 dev %%";
};

down {
ifconfig "%% down";
};
}
-----------------------------------------------------------------------


Danke für die Mühe schonmal
 
So, "neue Version", so ziemlich "ohne alles":
Code:
./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux --disable-shaper --disable-ssl --disable-zlib --disable-lzo --disable-socks
make LDFLAGS=-static
mipsel-linux-strip vtund
ls -l vtund
-rwxr-xr-x 1 joerg users 144772 17. Jun 22:51 vtund

PS: Wie ist das mit den iptables? Sind die zwingende Voraussetzung?!?

Jörg
 

Anhänge

  • vtund.gz
    60.5 KB · Aufrufe: 3
Hi,

die iptables sind nicht zwingend. Die Sicherheit kann ich auch hier serverseitig bereitstellen. Nachdem ich gerade eine Stunde nach einem TAE-Stecker gesucht habe, um testweise ein altes Telefon anzuschließen, hab ich mich dann doch dazu durchgerungen, das ISDN-Telefon kurz umzukonfigurieren. Jetzt hab ich auch Telnet auf der FBF. Ganz schön schwierig, wenn das ISDN-Fon, das man benutzen will, noch nicht geliefert ist ;-)

Sodann hab ich mal die vtund's, die Du gepostet hast, getestet. Der dynamic linked wirft die Fehlermeldung aus, dass er zlib.so nicht findet. Der static linked scheint zu funktionieren.

Wie viel Platz ist denn in der Standardkonfiguration noch im Flash? Gehen da die 500k noch rein? Wenn ja, wie schreibe ich etwas in den Flash? Das Programm via debug.cfg von meinem Webserver nachzuladen finde ich nicht sehr elegant, aber notfalls mache ich das so.
 
Wenn du auf ein paar "Standarddinge" der Box verzichten kannst, geht ein entsprechendes Freetz Image mit folgenden Veränderungen:

Code:
[*] Remove help

[*] Remove assistant

[*] Remove tr069 stuff

[*] Remove avalanche_usb.ko

[*] Patch enum

[*] Patch web menu signed message

[*] Don't redirect console messages

[*] Replace AVM web server by httpd

[*] Remove UPnP daemon (igdd)

[*] Remove usermand and userman.ko - EXPERIMENTAL
Du "verlierst" damit neben Hilfe und Assistenten die USB-Netzwerkschnittstelle (avalanche_usb.ko), die "Kindersicherung" (usermand) und UPnP (igdd) und der Webserver wird ersetzt.

Wenn du damit leben kannst, passt das statisch gelinkte Binary sogar mit Verschlüsselung rein.

Ich habe mal ein Mini-Paket dafür gebaut (Patch ist gegen Freetz-1.0)..

Jörg
 

Anhänge

  • vtun_package.patch.gz
    209 Bytes · Aufrufe: 2
  • vtun.tgz
    2.8 KB · Aufrufe: 0
Zuletzt bearbeitet:
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.