Brider la bande passante sous linux (Traffic Shaping)

Afin de brider la bande passante d’un serveur en giga (ici on la limité à 500mbps) utilisez ce script :

<br />
#!/bin/bash<br />
#<br />
#  tc uses the following units when passed as a parameter.<br />
#  kbps: Kilobytes per second<br />
#  mbps: Megabytes per second<br />
#  kbit: Kilobits per second<br />
#  mbit: Megabits per second<br />
#  bps: Bytes per second<br />
#       Amounts of data can be specified in:<br />
#       kb or k: Kilobytes<br />
#       mb or m: Megabytes<br />
#       mbit: Megabits<br />
#       kbit: Kilobits<br />
#  To get the byte figure from bits, divide the number by 8 bit<br />
#</p>
<p>#<br />
# Name of the traffic control command.<br />
TC=/sbin/tc</p>
<p># The network interface we're planning on limiting bandwidth.<br />
IF=eth0             # Interface</p>
<p># Download limit (in mega bits)<br />
#DNLD=1mbit          # DOWNLOAD Limit<br />
DNLD=500mbps          # DOWNLOAD Limit</p>
<p># Upload limit (in mega bits)<br />
#UPLD=1mbit          # UPLOAD Limit<br />
UPLD=500mbps          # UPLOAD Limit</p>
<p># IP address of the machine we are controlling<br />
IP=0.0.0.0    # Host IP<br />
# Masque<br />
MAS=0</p>
<p># Filter options for limiting the intended interface.<br />
U32=&amp;quot;$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32&amp;quot;</p>
<p>start() {</p>
<p># We'll use Hierarchical Token Bucket (HTB) to shape bandwidth.<br />
# For detailed configuration options, please consult Linux man<br />
# page.</p>
<p>$TC qdisc add dev $IF root handle 1: htb default 30<br />
$TC class add dev $IF parent 1: classid 1:1 htb rate $DNLD<br />
$TC class add dev $IF parent 1: classid 1:2 htb rate $UPLD<br />
$U32 match ip dst $IP/$MAS flowid 1:1<br />
$U32 match ip src $IP/$MAS flowid 1:2</p>
<p># The first line creates the root qdisc, and the next two lines<br />
# create two child qdisc that are to be used to shape download<br />
# and upload bandwidth.<br />
#<br />
# The 4th and 5th line creates the filter to match the interface.<br />
# The 'dst' IP address is used to limit download speed, and the<br />
# 'src' IP address is used to limit upload speed.</p>
<p>}</p>
<p>stop() {</p>
<p># Stop the bandwidth shaping.<br />
$TC qdisc del dev $IF root</p>
<p>}</p>
<p>restart() {</p>
<p># Self-explanatory.<br />
stop<br />
sleep 1<br />
start</p>
<p>}</p>
<p>show() {</p>
<p># Display status of traffic control status.<br />
$TC -s qdisc ls dev $IF</p>
<p>}</p>
<p>case &amp;quot;$1&amp;quot; in</p>
<p>start)</p>
<p>echo -n &amp;quot;Starting bandwidth shaping: &amp;quot;<br />
start<br />
echo &amp;quot;done&amp;quot;<br />
;;</p>
<p>stop)</p>
<p>echo -n &amp;quot;Stopping bandwidth shaping: &amp;quot;<br />
stop<br />
echo &amp;quot;done&amp;quot;<br />
;;</p>
<p>restart)</p>
<p>echo -n &amp;quot;Restarting bandwidth shaping: &amp;quot;<br />
restart<br />
echo &amp;quot;done&amp;quot;<br />
;;</p>
<p>show)</p>
<p>echo &amp;quot;Bandwidth shaping status for $IF:&amp;quot;<br />
show<br />
echo &amp;quot;&amp;quot;<br />
;;</p>
<p>*)</p>
<p>pwd=$(pwd)<br />
echo &amp;quot;Usage: tc.bash {start|stop|restart|show}&amp;quot;<br />
;;</p>
<p>esac</p>
<p>exit 0<br />

Embellir ses scripts bash (avec de la couleur)

La commande “tput” permet de gérer l’adressage du curseur et les séquences de contrôle du terminal. Vous pourrez notamment faire une mise en page d’un script interactif

#### Initialisation des variables ####</p>
<p>#+ Mode normal<br />
RESETCOLOR=&quot;$(tput sgr0)&quot;<br />
# &quot;Surligné&quot; (bold)<br />
SURLIGNE=$(tput smso)<br />
# &quot;Non-Surligné&quot; (offbold)<br />
NONSURLIGNE=$(tput rmso)</p>
<p># Couleurs (gras)<br />
#+ Rouge<br />
ROUGE=&quot;$(tput bold ; tput setaf 1)&quot;<br />
#+ Vert<br />
VERT=&quot;$(tput bold ; tput setaf 2)&quot;<br />
#+ Jaune<br />
JAUNE=&quot;$(tput bold ; tput setaf 3)&quot;<br />
#+ Bleu<br />
BLEU=&quot;$(tput bold ; tput setaf 4)&quot;<br />
#+ Cyan<br />
CYAN=&quot;$(tput bold ; tput setaf 6)&quot;</p>
<p>#### Fin initialisation variables ####</p>
<p># Effacement du terminal<br />
clear</p>
<p># Adressage du curseur ligne 0 colonne 2<br />
tput cup 0 2<br />
echo &quot;Entrez les informations demandées dans le champ ayant le curseur.&quot;<br />
# Adressage du curseur ligne 1 colonne 2<br />
tput cup 1 2<br />
echo &quot;Appuyez sur Entrée pour passer au champ suivant.&quot;<br />
# Adressage du curseur ligne 3 colonne 20<br />
tput cup 3 30<br />
echo &quot;${SURLIGNE}Questions/Réponses${NONSURLIGNE}&quot;</p>
<p># Pré-affichage des champs<br />
tput cup 5 5<br />
echo -e &quot;Nom : \c&quot;<br />
tput cup 7 5<br />
echo -e &quot;Prénom : \c&quot;<br />
tput cup 9 5<br />
echo -e &quot;Age : \c&quot;</p>
<p># Facultatif<br />
# Pré-affichage des données<br />
tput cup 12 2<br />
echo -e &quot;Votre nom est : &quot;<br />
tput cup 13 2<br />
echo -e &quot;Votre prénom est : &quot;<br />
tput cup 14 2<br />
echo -e &quot;Vous avez  ans. &quot;</p>
<p>#### Interaction du script ####<br />
# Adressage du curseur ligne 5 colonne 5<br />
tput cup 5 5<br />
echo -e &quot;Nom : \c&quot;<br />
read nom<br />
# Adressage du curseur ligne 7 colonne 5<br />
tput cup 7 5<br />
echo -e &quot;Prénom : \c&quot;<br />
read prenom<br />
# Adressage du curseur ligne 9 colonne 5<br />
tput cup 9 5<br />
echo -e &quot;Age : \c&quot;<br />
read age</p>
<p>#### Affichage des réponses ####<br />
# Adressage du curseur ligne 12 colonne 2<br />
tput cup 12 2<br />
echo -e &quot;${VERT}Votre nom est : ${RESETCOLOR}&quot;${ROUGE}$nom${RESETCOLOR}<br />
# Adressage du curseur ligne 13 colonne 2<br />
tput cup 13 2<br />
echo -e &quot;${VERT}Votre prénom est : ${RESETCOLOR}&quot;${CYAN}$prenom${RESETCOLOR}<br />
# Adressage du curseur ligne 14 colonne 2<br />
tput cup 14 2<br />
echo -e &quot;${VERT}Vous avez ${JAUNE}$age ${VERT}ans. ${RESETCOLOR}&quot;<br />
# Adressage du curseur ligne 20 colonne 0<br />
tput cup 20 0

File d’attente (queue) de Postfix

Des mails indésirable dans sa file d’attente postfix :

# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
C5854E2C00C     5114 Sun Apr 11 19:30:41  MAILER-DAEMON
(connect to mail.aaaaaa.net[11.22.33.44]:25: Connection timed out)
zzzzzzzz@aaaaaaa.net
97497E2C334     4952 Thu Apr 15 18:10:41  MAILER-DAEMON
(connect to mail.xxxxxxx.net[11.22.33.45]:25: No route to host)
yyyyyyy@xxxxxx.net

Vérifier que le mail n’est pas important (voir est un SPAM) en l’affichant avec le « Queue ID »

find /var/spool/postfix/ -name 97497E2C334 -exec cat {} \;

Ou plus simplement  :

postcat -q 97497E2C334

Et enfin le ménage par le vide :postsuper -d ALL

Réparer Grub après une installation de windows

Attention astuce pour Grub 1

Après une réinstallation d’un Windows (par exemple) votre secteur d’amorçage se trouve cassé, il faut donc le réparer… pour cela munissez vous d’un live-cd Monter votre partition linux si cela n’est pas déjà fait!

mount /dev/hda1 /mnt/hda1

mount -o bind /dev /mnt/hda1/dev

Faite un Chroot pour entrer dans votre système chroot /mnt/hda1 Entrer dans le grub-shell : grub Puis réinitialiser votre secteur d’amorçage : grub> root (hd0,0) grub> setup (hd0) Une fois redémarrer éditer le fichier /boot/grub/menu.lst et ajouter la ligne suivante pour pouvoir booter sur Windows

rootnoverify (hd0,1) chainloader +1

Faire le ménage dans vos paquet avec deborphan & apt (Ubuntu/Debian)

Petit script utilisant deborphan et les fonction apt pour faire le ménage des librairies qui ne sons plus utiliser & autres dans votre système Ubuntu/Debian

<br />
#!/bin/bash<br />
if [ ! -f &quot;/usr/bin/deborphan&quot; ]<br />
then<br />
    echo &quot;Installation des dépendance =&amp;gt; deborphan&quot;<br />
    sudo apt-get install deborphan<br />
fi<br />
sudo apt-get remove --purge <code>deborphan --guess-all</code><br />
sudo apt-get autoremove<br />
sudo apt-get autoclean<br />
sudo apt-get clean<br />

Ne pas oublier le petit : chmod +x nomduscript.sh