Accès internet en carton
Parfois on a de grosses quantités de données à envoyer sur un serveur, et forcément quand on upload 3Go, à 50Ko/s, ça prend du temps. Et pendant ce temps on se retrouve avec une connexion qui n'est plus réactive. Ok, peut etre qu'on peut utiliser un logiciel du style Filezilla pour envoyer ses fichiers et limiter la vitesse de l'envoi, mais c'est pas drole. Alors qu'il suffit d'ajouter 2 ou 3 modules à son noyau pour arranger tout ça en 5 minutes.
TBF est un genre de file d'attente qui permet de limiter le débit. Il a ses limites, voir man tc-tbf.
Voici le chemin à parcourir pour mon noyau 2.6.24 :
- Networking support
- Networking options
- QoS and/or fair queueing
- Token Bucket Filter (TBF)
- QoS and/or fair queueing
- Networking options
Pour remplacer la file d'attente par défaut de type fifo, il suffit d'exécuter la commande suivante :
tc qdisc add dev eth0 root handle 1:0 tbf rate 400kbit burst 4kb latency 60ms
tc est disponible dans le paquet iproute2.
liens :
Abus de squattage de connexion internet
Il n'y a rien de plus emmerdant de partager quelque chose avec n'importe qui et de se retrouver avec ce quelque chose qui fonctionne plus bien.
Exemple concret : Tu partage ta connexion internet en wifi grâce à la fonera, et tu te retrouves avec un ping de plus de 300ms et des sessions SSH lentes à jeter le clavier par la fenêtre.
Stop, arrête toi avant, et trouve une solution : IPP2P.
Si j'avais refait mon routeur, une règle dans iptables aurait suffit, mais comme ce n'est pas le cas, il a fallu ruser un peu et trouver le moyen d'intercepter tout ce qui passe entre la fonera et le modem.
Intercepter le trafic
On va utiliser Ettercap pour capturer le trafic réseau entre la fonera et le modem. Pour ça, rien de plus simple sous Gentoo :
emerge -av net-analyzer/ettercap
Ensuite on n'a plus qu'à le lancer.
ettercap -M arp -T /cible 1/ /cible 2/
Les cibles représentent les machines entre lesquelles on veut intercepter le trafic. Le cas le plus simple est d'utiliser des adresses IP, mais on peut désigner des ensembles. Tout celà est décrit dans le manuel d'Ettercap. Pour vérifier que ça marche, il suffit de se positionner sur l'une des machines piégées et de taper la commande arp en tant que root.
Ci-dessous, le résultat de la commande arp depuis la machine à piéger (avant la mise en place du piège).
arp Address HWtype HWaddress Flags Mask Iface Livebox-EBD0 ether 00:18:F6:C1:EB:D2 C eth1 192.168.1.2 ether 00:01:29:F5:30:4C C eth1
L'adresse mac du modem est 00:18:F6:C1:EB:D2. Mettons en place le piège et observons...
ettercap -M arp -T /192.168.1.1/ /192.168.1.51/ arp Address HWtype HWaddress Flags Mask Iface Livebox-EBD0 ether 00:01:29:F5:30:4C C eth1 192.168.1.2 ether 00:01:29:F5:30:4C C eth1
L'adresse mac a changée ! Et elle est devenue la même que celle de la machine d'adresse IP 192.168.1.2, qui n'est autre que la machine qui lance le piège et qui va dropper les paquets edonkey.
Bloquer Edonkey
Il faut maintenant installer Iptables et IPP2P. Pour Iptables on va commencer par activer son support dans le noyau.
cd /usr/sr/linux make menuconfig
Voici le chemin à parcourir dans le menu de configuration pour trouver le module à activer pour Iptables.
- Networking
- Networking support
- Networking options
- Network packet filtering framework (Netfilter)
- Core Netfilter Configuration
- Netfilter Xtables support (required for ip_tables)
- Core Netfilter Configuration
- Network packet filtering framework (Netfilter)
- Networking options
- Networking support
make all modules_install install
Il faut ensuite installer Iptables et IPP2P.
emerge -av net-firewall/ipp2p net-firewall/iptables
Et voici la commande magique pour zapper tous les méchants paquets qui polluent :
iptables -A OUTPUT -m ipp2p --edk -j DROP
Autres petits trucs
En activant l'ip_forwarding, on peut lancer l'attaque avec l'option -o, ou --only-mitm, qui permet de dire à Ettercap de ne pas rediriger les paquets et de laisser le noyau s'en charger.
Avec le mode bridged d'Ettercap, on peut (presque) passer inaperçu sur le réseau en utilisant deux cartes.