ButCette page sert à recenser le plus grand nombre d'astuces et de howtos utiles sous SME v7.x. Je vous encourage vivement à me faire part de nouvelles astuces à ajouter à cette liste en m'envoyant un mail. Merci d'avance pour votre aide. |
Convention typographiqueAfin de vous faciliter la compréhension de qui apparait à l'écran, j'ai mis en place le code couleur suivant : En blanc : ce que vous devez taper En magenta : les éléments que vous devez taper, en fonction de vos besoins En cyan : ce qui est affiché par le système |
Bloquer de façon permanente des adresses IP externesSi, par malheur, vous êtes ennuyé par un gros pénible sur Internet, vous pouvez bloquer toutes ses requêtes à destination de votre serveur. Pour cela, vous devez connaître son adresse IP (ou une plage d'adresses). Vous allez devoir créer un nouveau fragment de template et l'éditer avec votre éditeur favori (mcedit, vi, pico, nano, etc.) : mkdir -p /etc/e-smith/templates-custom/etc/rc.d/init.d/masq mcedit /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/91DropIP Pour bloquer l'adresse IP 1.2.3.4, par exemple, vous pouvez taper dans ce fichier : # Static drop IP start { $OUT .= " /sbin/iptables -I INPUT -i \$OUTERIF -s 1.2.3.4 -j DROP\n"; } # Static drop IP end Et pour des plages d'adresses IP : # Static drop IP start { $OUT .= " /sbin/iptables -I INPUT -i \$OUTERIF -s 2.3.4.0/24 -j DROP\n"; $OUT .= " /sbin/iptables -I INPUT -i \$OUTERIF -s 3.4.0.0/255.255.0.0 -j DROP\n"; } # Static drop IP end Comme vous pouvez le voir, si vous devez bloquer plusieurs adresses (ou plages d'adresses)) distinctes, vous devez créer une ligne par adresse. Il ne reste plus qu'à faire prendre en compte cette modification par le système : signal-event remoteaccess-update |
Bloquer de façon permanente plusieurs adresses IP externes contenues dans un fichierMaintenant, supposons que vous soyez confrontés à de nombreux pénibles... Je vous propose de créer un fichier /etc/masq_DropListOfIP qui contiendra des adresses et/ou des plages d'adresses IP devant être bloquées : mcedit /etc/masq_DropListOfIP Ce fichier ne doit contenir que des adresses ou plages d'adresses IP (une seule par ligne) et doit donc ressembler à ceci : 1.2.3.4 2.3.4.0/24 3.4.0.0/255.255.0.0 (attention à bien respecter la normalisation des adresses, les contrôles de validité des adresses et masques étant plutôt légers) Passons maintenant à la création du fragment de template : mkdir -p /etc/e-smith/templates-custom/etc/rc.d/init.d/masq mcedit /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/91DropListOfIP Ce nouveau fragment contiendra le code suivant : # Static drop IP start { use Net::IPv4Addr qw(:all); open (F_DROP, "</etc/masq_DropListOfIP") || warn "Cannot open input file /etc/masq_DropListOfIP: $!\n"; while ($line = <F_DROP>) { chomp($line); if ($line ne "") { ($ipaddress, $netmasq) = split(/\//, $line); $ipaddress = ipv4_chkip($ipaddress); if ( defined $ipaddress ) { if ( defined $netmasq ) { $ipaddress = ipv4_network($ipaddress, $netmasq); } $OUT .= " /sbin/iptables -I INPUT -i \$OUTERIF -s $ipaddress -j DROP\n"; } } } close(F_DROP); } # Static drop IP end Là aussi, il faut faire prendre en compte cette modification par le système : signal-event remoteaccess-update L'intérêt principal de cette deuxième méthode est que le fichier /etc/masq_DropListOfIP peut être facilement créé à la volée par d'autres programmes. |
smeserver.fr Site consacré à la distribution Linux SME Server Site sous licence Creative Commons (by, nc, sa) |