Linux – Network – Technology
Posts tagged linux
Postfix smart hot with gmail
Jan 2nd
Installation de Postfix
apt-get install postfix
configurationType of mail server : Satellite System
- Mail Name : example.org (the name you want on your outbound mail)
- SMTP relay host : smtp.gmail.com
- Postmaster : I left this blank
- Other destinations : I left this blank
- Synchronous Queues : your choice, won’t impact the relaying
- Network blocks to allow relay : default (unless you know what your doing)
- Mailbox size : your choice, won’t impact relaying
- Local address : i left this as ‘+’
- Listen Address : all, your choice
Editer le fichier de config
vi /etc/postfix/main.cf smtp_use_tls=yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous
Création du fichier de sasl_passwd
vi /etc/postfix/sasl_passwd smtp.gmail.com some.user@gmail.com:PASSWORD
Rebuild Hash
postmap/etc/postfix/sasl_passwd
Restart postfix
/etc/init.d/postfix restart
On sécurise un peu
chmod640/etc/postfix/sasl_passwd*chownpostfix.postfix/etc/postfix/sasl_passwd*
Plesk – Migrate DB
Oct 26th
On source server backup the database. You may use the following command:
source ~# mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` DATADASE_NAME > DATADASE_NAME.dump
On destination server create database DATADASE_NAME on domain DOMAIN.NAME with Plesk CLI /usr/local/psa/bin/database. Assign the same user and password:
destination ~# /usr/local/psa/bin/database --create DATADASE_NAME -domain DOMAIN.NAME -type mysql -passwd DB_USER_PASSWD -passwd_type plain -add_user DB_USER_NAME -server localhost
Database creation through Plesk CLI /usr/local/psa/bin/database will update Plesk database with appropriate user and password correctly. Run the utility wit “–help” to get list of all available options. After creation it is possible to login to the database through DB WebAdmin in Parallels Plesk Panel on destination server: Domains -> DOMAIN.NAME -> Databases -> DATADASE_NAME -> DB WebAdmin
On destination server restore content of the database from the dump created on source server:
destination ~# mysql -uadmin -p`cat /etc/psa/.psa.shadow` DATADASE_NAME < DATADASE_NAME.dump
Multiple Virtual FTP Accounts with Plesk
Aug 8th
ProFTPD is the FTP software that current versions of Plesk ship with, and thankfully found what I was looking for.
ProFTPD allows you to create multiple virtual users by using an AuthUserFile directive. The AuthUserFile directive sets the path of a textual file containing a list of users and passwords for authentication.
Create a user file
$ touch /etc/proftpd.authuserfile
Edit the ProFTPD configuration file. (NOT etc/proftpd.include as Plesk overwrites that file regularly.):
$ vi /etc/proftpd.conf
Add this line:
AuthUserFile /etc/proftpd.authuserfile
Creat a crypted password
$ openssl passwd -crypt passwordhere
Edit the user file like this:
username:password_encrypt:uid:gid:gecos:home:shell
Example
toto:aASDFajksASa:10022:2221::/var/www/vhosts/toto.com/httpdocs/data/web:/bin/false
And finaly, reload proftpd
Vmware tool – Ubuntu
Jun 13th
Installation de Vmware tool sur une distribution Ubuntu
- Starter votre VM
- VM > Guest > Install vmware tool
- Aller en console sur la VM en root
- Lancer les commandes suivantes
mount /dev/cdrom /mnt/cdrom cd /tmp tar zxpf /mnt/cdrom/VMwareTools-5.0.0-<xxxx>.tar.gz umount /dev/cdrom cd vmware-tools-distrib ./vmware-install.pl
Et voilà c’est fini
HAproxy
Jun 8th
Introduction
HAProxy est un relais TCP/HTTP offrant des facilités d’intégration en
environnement hautement disponible. En effet, il est capable de :
- effectuer un aiguillage statique défini par des cookies ;
- effectuer une répartition de charge avec création de cookies pour assurer
la persistence de session ;
- fournir une visibilité externe de son état de santé ;
- s’arrêter en douceur sans perte brutale de service ;
- modifier/ajouter/supprimer des en-têtes dans la requête et la réponse ;
- interdire des requêtes qui vérifient certaines conditions ;
- utiliser des serveurs de secours lorsque les serveurs principaux sont hors
d’usage.
Il requiert peu de ressources, et son architecture événementielle mono-
processus lui permet facilement de gérer plusieurs milliers de connexions
simultanées sur plusieurs relais sans effondrer le système.
Proxy SMTP
Installation
La version sous debian lenny est la 1.3.15 mais ne support pas les statistiques.
Nous allons prendre la version de blackport
# Compilation wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.15.2.tar.gzapt-get install build-essential make libpcre3 libpcre3-devapt-get install linux-kernel-headerstar zxvf haproxy-1.3.15.2.tar.gzmake TARGET=linux26 CPU=generic USE_LINUX_SPLICE=1 USE_LINUX_TPROXY=1 USE_PCRE=1 make installln -s /usr/local/sbin/haproxy /usr/sbin/haproxy# Package vi /etc/apt/sources.list deb http://backports.debian.org/debian-backports squeeze-backports main apt-get install haproxy
Configuration
Voici une configuration pour loadbalancer le traffic STMP sur plusieurs serveurs SMTP
En utilisant l’url http://IP:8080/stats (login: login, password: password) vous pourrez voir ou passe le traffic
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 4096
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
#debug
#quiet
defaults
log global
mode http
option httplog
option dontlognull
option redispatch
retries 3
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen stats :8080
balance
mode http
stats enable
stats auth login:password
listen smtp :25
mode tcp
option tcplog
balance roundrobin
server smtp 192.168.0.1:25 check
server smtp1 192.168.0.2:25 check
server smtp2 192.168.0.3:25 check
server smtp3 192.168.0.4:25 check
rsyslogd
Creer un fichier de config
vi /etc/rsyslog.d/haproxy.conf
Config du fichier
$ModLoad imudp $UDPServerRun 514 $UDPServerAddress 127.0.0.1 local1.* -/var/log/haproxy_1.log & ~
On redémarre rsyslog
/etc/init.d/rsyslog restart
L’option “check” permet de faire du failover, c’est à dire que contrôler tout les x secondes si le serveur est up.
Il est aussi possible de changer la fréquence de contrôle comme ceci:
server smtp1 192.168.0.2:25 check inter 10000
Dans cette example, la fréquence est de toute les 10 secondes.
Logging remote host to specific logfile
May 25th
Logging remote host with syslog-ng
On ther logging server
First off install it, and it will remove the packages klogd, sysklogd
apt-get install syslog-ng
Now we need to modify the configuration, edit /etc/syslog-ng/syslog-ng.conf, and first we need to add udp listening to accept remote syslogs. We could do this under the s_all source, but we need to define a different source so our remote hosts logs do not get mixed in with our regular ones. Place this after source s_all is finished.
source s_net { udp (); };
Now further down where logging starts, we need to first add a filter for our mail.log host and I will use it’s ip to do this. Then we add a log file destination for that specific host. And after that we put in the log definition with our newly created source, our host filter, and our file destination.
filter f_openwrt { host( "192.168.1.1" ); };
destination df_maillog { file("/var/log/maillog.log"); };
log { source ( s_net ); filter( f_maillog ); destination ( df_maillog ); };
Go ahead and restart syslog-ng now:
# /etc/init.d/syslog-ng restart
Since we added a new logfile, we need to modify /etc/logrotate.d/syslog-ng. This will make sure our new logfile gets rolled. This entry has to go in before the last one which restarts the syslog-ng daemon. Here's what I put in:
/var/log/maillog.log { rotate 7 weekly missingok notifempty compress }
On the host
Edit your syslog file
vi /etc/syslog.conf mail.* @YOUR_LOGGIN_SERVER
Restart syslodg... enjoy
Rename network interface
May 23rd
After removing a NIC, the name is not used anymore.
e.g. there is only eth2 and no eth0. this can cause problems with flexlm
vi /etc/udev/rules.d/70-persistent-net.rules
here you find a line as:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:60:55:09", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
simply change eth1, to eth0 or delete line to default setting.
Now execute the following command:
# /lib/udev/rename_netiface <old> <new>
i.e.
# /lib/udev/rename_netiface eth1 eth0 # rcnetwork start
DONE
Régler Iptables pour réécrire le traffic sortant
May 17th
Comment rediriger le traffic sortant sur une autre ip
Une des solution consiste à réécrire tous les paquets sortant en leur réattribuant votre adresse IP failover. Pour ceci, nous allons utiliser le flux SNAT de Iptables (Source NAT).
Commençons par écire une règle de réécriture des paquet (nous supposons que l’interface réseau est eth0, que votre IP physique est 21.22.23.24 et que votre IP failover est 13.14.15.16):
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 21.22.23.24 -j SNAT --to 13.14.15.16
Maintenant, tout le traffic réseau sortant se verra attribuer votre IP failover comme étant votre IP failover (13.14.15.16).
Récupérer son ip public
May 17th
Les commandes
Voici les commandes à taper pour récupérer son ip en ligne de commande.
GET www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p'
ou
lynx --source www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p'
Screen for linux
May 17th
Screen est tout simplement un gestionnaire de fenêtre en mode texte et même plus que ca ! Je vais vous montrer quelques facettes de ce programme qui fera bientôt de vous un fervent défenseur de screen.
Installation
apt-get install screen
Personalisation
vi /root/.screenrc
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'