Passerelle SMS avec un Raspberry PI et mail2sms

raspberry

La mise en place d’une Gateway SMS est une chose simple et peut être intéressante en entreprise. Aussi bien pour des alertes depuis vos systèmes de supervision (avec Nagios ou Centreon par exemple), que pour des portails captifs Wi-Fi (portail Ucopia). Cette passerelle est d’autant plus intéressante qu’elle est mise en place sur un Raspberry PI, qui ne coute pas grand chose, le modem GSM est un vieux nokia 3109c.

Configuration :
Raspberry PI 512MO
OS : Pidora
Carte SD : 16GO Class 10

Avant de commencer, nous mettons à jour notre OS :

# yum update

Nous modifions notre chkconfig :

# chkconfig firewalld off
# chkconfig iptables off
# chkconfig sendmail off

 

Nous arrêtons les services inutiles

# service firewalld stop
# service iptables stop
# service sendmail stop

Nous installons les pré-requis, à savoir “smstools” qui nous servira à envoyer les SMS, ainsi que “postfix”, qui sera notre relai mail2sms :

# yum install smstools postfix

Création des droits :

# chown smstools: /var/spool/sms -R

Modification du bin smssend :

# vim /bin/smssend

ligne 21 : smsd_user=”smstools”

Modification du init.d smsd

# vim /etc/init.d/smsd
sous : prog=”smsd”

// Ajouter :

mkdir /var/run/smsd
chown smstools: /var/run/smsd -R

Brancher votre téléphone au Raspberry PI, et éditer le fichier de configuration de smstools :

# vim /etc/smsd.conf

Changer le device par /dev/ttyACM0

mise en place du script email2sms :

# cp /usr/share/doc/smstools-3.1.15/email2sms /usr/local/bin/email2sms
# chown smstools:smstools /usr/local/bin/email2sms

 

Nous modifions maintenant notre fichier de configuration Postifx

# vim /etc/postfix/main.cf

 

La configuration doit être comme suit :

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
local_destination_concurrency_limit = 1
mail_owner = postfix
mailbox_command = procmail -a “$EXTENSION”
mailbox_size_limit = 0
mailbox_transport = smstools
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = smsgw.alexnogard.com, smsgw, localhost
mydomain = alexnogard.com
myhostname = smsgw.alexnogard.com
mynetworks = 172.27.0.0/20, 127.0.0.0/8
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.9.4/README_FILES
recipient_delimiter = +
relay_domains = $mydestination
relayhost = $mydomain
sample_directory = /usr/share/doc/postfix-2.9.4/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

 

On modifie le fichier master.cf :

# vim /etc/postfix/master.cf

// Ajouter tout en bas :

smstools        unix    –       n       n       –       –       pipe

       flags= user=smstools argv=/usr/local/bin/email2sms -n ${user}

 

On inscrit les services au démarrage et on les lance :

# chkconfig smsd on
# chkconfig postfix on
# service smsd start
# service postfix start

 

Pour tester :
Se connecter à un second serveur, et taper la commande suivante :

# /usr/bin/printf “test” | /bin/mailx -S smtp=XXX.XXX.XXX.XXX 33XXXXXXXXXXXX

remplacer XXX.XXX.XXX.XXX par l’ip de votre premier serveur.

(remplacer XXXXXXXX) par votre numéro de téléphone, vous devriez recevoir le sms.

Si vous avez des questions par rapport aux Notifications SMS pour Nagios / Centreon, n’hésitez pas à utiliser les commentaires !

About Alexandre Nogard

Check Also

ISPConfig 3 : Virtualisation & Management avec OpenVZ

Après les deux précédents articles sur ISPConfig 3 : Installation d’ISPconfig 3 sur CentOs 6.4 …

ISPConfig 3 : Installation de packages supplémentaires

Dans l’article de la semaine dernière : Installation d’ISPconfig 3 sur CentOs 6.4 (Apache & …

Authentification SSH par certificat

Dans ce cour article, nous allons voir comment mettre en place une authentication SSH par …

2 comments

  1. Bonjour,

    Somme nous obliger de passer par les mails? car si le server mail ne repond plus on ne recoit pas de sms.
    Peut etre que vous avez trouvé un autre moyen depuis.
    Merci

Leave a Reply

Your email address will not be published. Required fields are marked *