Linux – Network – Technology
admin
This user hasn't shared any biographical information
Posts by admin
Cisco – Spanning Tree
May 10th
Identifying a Bridging Loop
Suspect a loop if you see the following:
-
You capture traffic on a link and see the same frames multiple times.
-
All users in a bridging domain have connectivity problems at the same time.
-
There is abnormally high port utilization.
To remedy a loop quickly, shut redundant ports and then enable them one at a time. Some switches enable debugging of STP to help in diagnosing problems. The following commands are useful for isolating a bridging loop
show interfaces show spanning tree show bridge show process cpu debug spanning tree show mac address-table aging-time vlan# show spanning-tree vlan vlan# detail
Spanning-Tree Best Practices
To optimize data flow in the network, design and configure Spanning Tree in the following ways:
-
Statically configure switches to be the primary and secondary root bridges by setting priority values.
-
Consider which interfaces will become designated and root ports (possibly set port priorities/path cost).
-
Tune STP using the tools detailed in this section.
-
Enable UDLD aggressive mode on all fiber interfaces.
-
Design STP domains that are as simple and contained as possible by using multilayer switches and routed links.
-
Use PVRST+ or MST for the fastest convergence times.
Dovecote
May 10th
Master account
Il est parfois utile de pouvoir se connecter sur une des boites mails hébergées sans connaître son mot de passe pour diverses raisons:
-
via un script pour analyser d’éventuels mails identifiés comme spam/ham par l’utilisateur;
-
via un script pour archiver des emails anciens;
-
directement afin de reproduire un bug signalé par l’utilisateur.
Il est évident que cette technique ne peut être utilisée simplement pour consulter les emails des utilisateurs à leur insu; c’est une atteinte à la vie privée qui peut être poursuivie par les tribunaux. Vous êtes donc prévenu, et comme pour tous les articles de ce blog, vous mettez ce qui suit en oeuvre sous votre entière responsabilité et en assumez pleinement les éventuelles conséquences.
Cette mise en garde étant faite, le concept est donc de définir un couple login/mot de passe ayant accès à toutes les boites mails hébergées sur votre serveur. Cet utilisateur master n’a rien à voir avec les utilisateurs mail déjà existants.
Dans le fichier /etc/dovecot/dovecot.conf, rajoutez la directive auth_master_user_separator=*. Puis, recherchez la section auth default et complétez-la pour qu’elle ressemble à ce qui suit:
auth_default {
passdb passwd-file {
args = /etc/dovecot/passwd.masterusers
master = yes
}
}
Le fichier /etc/dovecot/passwd.masterusers est de type htaccess. Voici les commandes pour le générer:
touch /etc/dovecot/passwd.masterusers htpasswd -s /etc/dovecto/passwd.masterusers admin
Vous donnez alors le mot de passe de l’utilisateur admin. Vous pouvez répeter la dernière ligne autant de fois que désiré avec d’autres noms d’utilisateurs. Les utilisateurs master pourront alors se connecter au moyen de adresse@domaine.com*admin et du mot de passe associé au compte admin.
Configuration d’un tunnel VPN IPSEC en mode transport
May 10th
Pour que les échanges d’information réseau entre les deux serveurs dédiés soient un minimum sécurisé (comprendre difficilement “sniffable”), j’ai décider de monter un tunnel VPN en IPSEC entre les deux.
Les serveurs sont sous Debian Etch. (vous adapter si vous avez un autre OS)
IPSEC autorise 2 modes de communication le mode tunnel (1 serveur/réseau vers 1 réseau) et le mode Transport (1 serveur vers 1 serveur) (en résumé hein, venez pas me saouler avec mon simplicisme
)
apt-get install ipsec-tools
on se configure le /etc/ipsec-tools.conf sur les deux serveurs. ns11111
#!/usr/sbin/setkey -f
flush;
spdflush;
# AH
add 192.168.20.30 192.168.20.20 ah 15700 -A hmac-md5 "1234567890123456";
add 192.168.20.20 192.168.20.30 ah 24500 -A hmac-md5 "1234567890123456";
# ESP
add 192.168.20.30 192.168.20.20 esp 15701 -E 3des-cbc "123456789012123456789012";
add 192.168.20.20 192.168.20.30 esp 24501 -E 3des-cbc "123456789012123456789012";
spdadd 192.168.20.20 192.168.20.30 any -P out ipsec
esp/transport//require
ah/transport//require;
spdadd 192.168.20.30 192.168.20.20 any -P in ipsec
esp/transport//require
ah/transport//require;
ns22222
#!/usr/sbin/setkey -f
flush;
spdflush;
# AH
add 192.168.20.30 192.168.20.20 ah 15700 -A hmac-md5 "1234567890123456";
add 192.168.20.20 192.168.20.30 ah 24500 -A hmac-md5 "1234567890123456";
# ESP
add 192.168.20.30 192.168.20.20 esp 15701 -E 3des-cbc "123456789012123456789012";
add 192.168.20.20 192.168.20.30 esp 24501 -E 3des-cbc "123456789012123456789012";
spdadd 192.168.20.30 192.168.20.20 any -P out ipsec
esp/transport//require
ah/transport//require;
spdadd 192.168.20.20 192.168.20.30 any -P in ipsec
esp/transport//require
ah/transport//require;
Génération des clés
Il faut bien évidemment générer vos propres clés, à savoir les zones commençant pas 0x. les 2 premières étant des clés de 128 bits, il faut y mettre 32 octets hexadecimaux, et 48 pour les clés 3des-cbc.
Le plus simple pour obtenir ces clés aléatoirement est de se baser sur le périphérique /dev/urandom de votre machine, en procédant ainsi :
-
Affiche 32 caractères hexadécimaux aléatoires :
hexdump -e '8/2 "%04x" ' /dev/urandom -n 16; echo
-
Affiche 48 caractères hexadécimaux aléatoires :
hexdump -e '8/2 "%04x" ' /dev/urandom -n 24; echo
Postfix – Specify output ip per domain
May 10th
We have to use de function sender_dependent_default_transport_maps.
-
Edit a new file
vi sdd_transport_maps.regexp /@opilab\.ch$/ opilab_ch: /@opilab\.com$/ opilab.com:
-
Edit master.conf
vi /etc/postfix/master.conf
opilab_ch unix - - n - - smtp
-o smtp_bind_address=IP1
-o smtp_helo_name=opilab.ch
-o syslog_name=postfix-opilab_ch
opilab_com unix - - n - - smtp
-o smtp_bind_address=IP2
-o smtp_helo_name=opilab.com
-o syslog_name=postfix-opilab_com
-
Edit main config
vi /etc/postfix/main.cf sender_dependent_default_transport_maps = regexp:/etc/postfix/sdd_transport_maps.regexp
.htaccess
May 10th
Reditect all with www
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Redirect to other URL
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.old-site.com$ [NC]
RewriteRule ^ http://www.new-site.com? [R=301]
Redirect To SSL Using Apache’s .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Require no “www”
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
Prevent Hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/ .*$ [NC]
RewriteRule \.(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
Redirect Multiple Domains to a Single Domain
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.net$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.net$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain.net$ [NC]
RewriteRule ^(.*)$ http://domain.net/$1 [R=301,L]
Redirect to Maintenance Page
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/offline.html$
RewriteRule .* /offline.html [R=307,L]
Uncompress bzroot
May 10th
This is the hard way to do it, but here’s what I ended up doing:
-
shutdown unraid server
-
move the flash drive to my linux box and mount
-
copy bzroot from flash drive to my linux box
-
uncompress bzroot:
zcat bzroot | cpio -i -d -H newc –no-absolute-filenames
-
moved bzroot file out of the way (ie mv bzroot ..)
-
made edits to /etc/samba/smb.conf:
# misc
host msdfs = No msdfs root = No
-
do anything else you want to do that needs to remain persistent across reboots here
-
recompress bzroot:
find . | cpio -o -H newc | gzip > bzroot
-
copy new bzroot to flash drive
-
stick the flashdrive back in the unraid server and boot
That’ll permanently edit the config file.