Installation
d’un serveur Modem
sous linux (RedHat 9 ou 8)
Un serveur modems est un
serveur sur lequel se trouvent connectés plusieurs modems. Ces modems
peuvent être des cartes modems (contenant elles même plusieurs modems),
comme une carte graphique PCI (par exemple) et donc qu’on connecte dans
un slot à l’intérieur du serveur, ou bien même des
modems externes comme on en rencontre souvent (US Robotic).
Le rôle d’un serveur modems est de recevoir les connexions des clients
modems. Autrement dit, lorsque vous êtes connectés chez vous par
modem, vous communiquez directement avec un autre modem de votre ISP lequel
est connecté à un serveur modems.
I/ Installation du système Linux
Il suffit juste de ne pas installer une version de RedHat supérieure à RedHat 9.0. Ne marche pas non plus sur Fedora. En fait, cela est dû au fait que le soft de gestion des modems (le driver) n’est supporté que par les noyaux système Kernel Version 2.2 or 2.4 uniquement. Donc, il faut choisir une version de Linux où vous êtes sûr d’avoir un de ces noyaux.
Il faut aussi autoriser
le forwarding des paquets IP par le serveur, sinon les requêtes des clients
modems ne pourraient le traverser et arriver à leurs destinataires sur
l’Internet.
Pour cela, il faut éditer le fichier « /etc/sysctl.conf »,
et mettre la variable net.ipv4.conf.all.rp_filter à 1.
Vous aurez une ligne de ce genre :
net.ipv4.ip_forward = 0
Remplacez le 0 par 1 pour avoir cette ligne :
net.ipv4.ip_forward = 1
Redémarrez ensuite votre système et marquez une pause avant de continuer.
II/ Installation des RocketModems (Drivers)
- Rendez vous sur le site
ftp://ftp.comtrol.com/RModem/Drivers
et recherchez un fichier qui porte un nom semblable à 1800024H.tgz. Téléchargez-le.
- Placez vous dans le répertoire « /usr/src » (cd /usr/src)
- Faites un lien symbolique du genre : ln -s /usr/src/linux-2.4.20 linux
- Déplacez le fichier 1800024H.tgz dans le répertoire «
/usr/src ». (mv 1800024H.tgz /usr/src)
- Le décompresser : tar -xzvf 1800024H.tgz
- Accéder au répertoire créé lors de la décompression
: cd /usr/src/comtrol
- Compilation du driver en trois étapes :
make clean
make
make install
- Relancez votre serveur ; les modems seront reconnus sous le nom de /dev/ttyRx
(où x désigne le numéro du modem et débute à
0)
III/ Installation de pppd, rlogin, radiusclient
Sur le site http://sourceforge.net/projects/portslave/ téléchargez les 4 packages que vous y trouverez. Ce sont portslave, portslave-pppd, portslave-rlogin, et radiusclient.
Installation de radiusclient
:
- Décompressez le fichier "radiusclient_xyz.tgz"
- Accedez au répertoire créé. Tapez ces commandes :
- ./configure --sysconfdir=/etc/radiusclient
- make
- make install
- Copier les fichiers du genre libradiusxyz
du répertoire « /usr/local/lib/ » dans le répertoire
« /usr/lib ». Ou tout simplement faîtes des liens symboliques.
Installation de pppd
:
- Décompressez le fichier "portslave-pppd_xyz.tgz"
- Accédez au répertoire créé. Faites :
- ./configure
- make USE_RADIUS=y RADIUS_CONF=/etc/radiusclient/radiusclient.conf
- make install
Installation de rlogin
:
- Décompressez le fichier "portslave-rlogin_xyz.tgz"
- Accedez au répertoire créé et tapez :
- make
- make install
Vous devriez avoir le fichier "rlogin-radius" dans le répertoire
« /usr/bin/ ».
IV/ Installation et configuration de portslave
- Décompressez le
fichier "portslave.tgz"
- Accédez au répertoire créé et tapez :
- ./configure --prefix=/usr
--sysconfdir=/etc/portslave
- make
- make install
- Faire un lien entre « /etc/radiusclient/radiusclient.conf » et
« /etc/portslave/radiusclient.conf »
- Editez le fichier « /etc/radiusclient/radiusclient.conf » et mettez
l’IP de votre serveur radius à la place de toutes les occurrences
de localhost.
- Editez le fichier « /etc/radiusclient/servers » et ajouter une
ligne contenant l’IP de votre serveur radius et un petit mot clé
comme ceci :
Exemple : 216.148.136.3
modem9!!
Dans cet exemple, modem9!! est un mot de passe qui doit être
configuré sur le serveur d’authentification radius, dont l’IP
est 216.148.136.3.
- Editez le fichier « /etc/portslave/pslave.conf » et faire les
modifications qui s’imposent : il faudra préciser l’IP du
serveur modem en cours de configuration, les différents ports des modems,
les différentes IP attribées à chaque port, et la vitesse
de connexion.
- Sur le serveur d’authentification radius (vieilles versions), éditez le fichier «
/etc/raddb/clients », et ajoutez une ligne contenant l’IP du serveur
modems et le mot clé configuré, comme ceci :
Exemple : 196.252.3.21
modem9!!
Où 196.252.3.21 est l’IP du serveur modem en cours
de configuration, et modem9!!, le même mot clé
configuré sur le serveur modems.
- Sur le serveur d’authentification radius (versions récentes), éditez le fichier « /etc/raddb/clients.conf », et ajoutez une section de ce genre :
client 196.252.3.21 {
secret = modem9!!
shortname = he
nastype = portslave
}
V/ Paramétrage de inittab et lancement
Il s’agit aussi d’ajouter une ligne par modem dans le fichier « /etc/inittab »
Exemple de fichier « /etc/inittab » :
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
## Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:# System initialization.
si::sysinit:/etc/rc.d/rc.sysinitl0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm –nodaemon#Ajoutées par celui qui configure portslave
R0:23:respawn:/usr/sbin/portslave 141
R1:23:respawn:/usr/sbin/portslave 142
R2:23:respawn:/usr/sbin/portslave 143
R3:23:respawn:/usr/sbin/portslave 144
R4:23:respawn:/usr/sbin/portslave 145
R5:23:respawn:/usr/sbin/portslave 146
R6:23:respawn:/usr/sbin/portslave 147
R7:23:respawn:/usr/sbin/portslave 148
R8:23:respawn:/usr/sbin/portslave 149
R9:23:respawn:/usr/sbin/portslave 150
R10:23:respawn:/usr/sbin/portslave 151
R11:23:respawn:/usr/sbin/portslave 152
R12:23:respawn:/usr/sbin/portslave 153
R13:23:respawn:/usr/sbin/portslave 154
R14:23:respawn:/usr/sbin/portslave 155
R15:23:respawn:/usr/sbin/portslave 156
R16:23:respawn:/usr/sbin/portslave 157
R17:23:respawn:/usr/sbin/portslave 158
R18:23:respawn:/usr/sbin/portslave 159
R19:23:respawn:/usr/sbin/portslave 160
R20:23:respawn:/usr/sbin/portslave 161
R21:23:respawn:/usr/sbin/portslave 162
R22:23:respawn:/usr/sbin/portslave 163
R23:23:respawn:/usr/sbin/portslave 164
Ceci est un exemple de 24 modems. Les ports de 141 à 164 doivent être définis dans le fichier « /etc/portslave/pslave.conf ».
Redémarrer votre système et le tour est joué.
Amusez-vous bien !!
Juste une petite chose : Pour ceux dont les serveur et client radius
(serveur modems) sont séparés par un firewall, il faut ouvrir
les port 1812 et 1813 en UDP pour le serveur modems, et rediriger les requêtes
vers le serveur concerné, c'est à dire le serveur radius.
Sources :
ftp://ftp.comtrol.com/RModem/Drivers/PCI/Linux/SW_Doc/Rckt_Linux.pdf
ftp://ftp.comtrol.com/RModem/Drivers/PCI/Linux/MiniCom_Doc/Minicom.pdf
http://members.surfshop.net.ph/~bench/ppp-radius/ppp-radius-pap.html
http://sourceforge.net/projects/portslave/
http://brlinux.linuxsecurity.com.br/artigos/dicas_portslave.htm
L'information, n'est-elle pas précieuse ? Partageons la tous ensemble !
© Mars 2006
Roger YERBANGA
www.yerbynet.com