====== Qt 3 ====== Liens: http://website.lineone.net/~a-m.mahfouf/DidacticielQt/book1.html ===== Installer: ===== # apt-get install qt3-dev-ools # apt-get install libqt3-headers Des exemples: # apt-get install qt3-examples Puis recuperer et decompresser les fichiers qui sont là: /usr/share/doc/qt3-examples/qt3-examples.tar.gz Aller dans le repertoire **.../qt3-examples/examples/hello** et faire: $ qmake Et si j'ai bien compris, ca fait un **Makefile** a partir du fichier **...pro** $ make Some of the required modules (full-config) are not available. Skipped. Ou un truc du genre... en fait, il faut creer un fichier **.qmake.cache** a la home, et ecrire dedans: CONFIG += small-config full-config CONFIG += large-config full-config Et on recommence: $ qmake $ make Ca marche... ===== 1er projet ===== Installer **qt3-designer** pour creer un projet. # apt-get install qt3-designer On a deja un source dans **~/dev/qt/test.cpp** : #include #include int main (int argc, char **argv) { QApplication a (argc, argv); QPushButton *bouton = new QPushButton ("&Quitter",0); a.setMainWidget (bouton); bouton -> show(); return a.exec(); } On lance **qt3-designer** et on fait: File -> New -> C++ Project Et ajouter le fichier **test.cpp** : Project -> Add File Et puis sauver... et ca sauve dans la home. On a alors un **test.pro** . On deplace **test.pro** dans le repertoire contenant le source et on modifie la ligne **SOURCES ...** pour qu'elle designe correctement le fichier **test.cpp**. Et puis enfin: $ qmake $ make $ ./test ====== Tunnel IP ====== ===== /sbin/iptunnel ===== C'est quoi ça ? ===== VTun ===== Lien: [[http://vtun.sourceforge.net/|VTun]] ==== Essai simple ==== Installons **vtun** (sur le client et serveur) # apt-get install vtun Sur le **serveur**, editer **/etc/vtund.conf** et ajouter: options { type stand; port 5300; # Listen on this port. # Syslog facility syslog daemon; # Path to various programs ppp /usr/sbin/pppd; ifconfig /sbin/ifconfig; route /sbin/route; firewall /sbin/ipchains; ip /sbin/ip; } k6net { type tun; proto udp; keepalive yes; passwd le_mot_de_passe; up { # 10.3.0.1 - local, 10.3.0.2 - remote ifconfig " 10.3.0.1 pointopoint 10.3.0.2 mtu 1450"; }; down { # Connection is Down # Shutdown tap device. ifconfig " down"; }; } **k6net** est le nom de la **session**. Il faut bien mettre un mot de passe, sinon, on a une erreur bizarre comme quoi la session est pas complete... Sur le **client**, c'est la même chose, sauf qu'il faut inverser les **IP** sur la ligne **ifconfig**, et avoir ça: ... ifconfig " 10.3.0.2 pointopoint 10.3.0.1 mtu 1450"; ... Sur le **serveur**, on demarre le serveur comme ça: # vtund -s -n k6net Un petit **ifconfig** nous montre: # ifconfig tun0 tun0 Lien encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet adr:10.3.0.1 P-t-P:10.3.0.2 Masque:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1450 Metric:1 RX packets:47 errors:0 dropped:0 overruns:0 frame:0 TX packets:52 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:500 RX bytes:6086 (5.9 KiB) TX bytes:4983 (4.8 KiB) Tiens, un tunnel est là... Sur le **client** on fait: # vtund -n k6net 192.168.0.53 Où **k6net** est le nom de la session, et **192.168.0.53** est l'adresse IP où l'on peut joindre le serveur... # ifconfig tun0 tun0 Lien encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet adr:10.3.0.2 P-t-P:10.3.0.1 Masque:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1450 Metric:1 Packets reçus:52 erreurs:0 :0 overruns:0 frame:0 TX packets:47 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:500 Octets reçus:4983 (4.8 KiB) Octets transmis:6086 (5.9 KiB) Tiens, l'autre bout du tunnel... Du client, je vois le bout du tunnel: ping 10.3.0.1 Du serveur aussi: ping 10.3.0.2 Parfois, il peut être necessaire de **killer** **vtun** s'il s'est daemonized : # ps aux | grep vtun root 5350 0.0 0.1 2820 760 ? S