|
 
|
|

Connexion Dial up sous Linux
[Aide Technique - Sommaire]
|
|
|
|
PPP sous linux consiste en un pilote hdlc (format standard de transmission de données)
comprit dans le noyau, et pppd, un programme daemon qui bascule et exploite une ligne série
en PPP. Pour vous connecter à l'InterNet en PPP sous linux, il vous faut avoir
bien configuré le port série correspondant à votre modem, la couche TCP/IP du
système, la configuration DNS, ainsi que le lancement de PPP lui-même, qui
peut s'automatiser...
|
|
- Configuration du port série sous linux.
- Configuration TCP/IP sous linux.
- Configuration DNS sous linux.
- Configuration PPP sous linux.
- Sécurite réseau sous linux.
|
|
Configuration du port série sous linux.
|
|
Les ports série sous linux sont représentés par
/dev/ttyS0, /dev/ttyS1, etc. lorsqu'on les utilise en entrée,
et par /dev/cua0, /dev/cua1, etc. lorsque l'on veut les utiliser en sortie également...
Donc dans notre cas nous utiliserons la représentation "cua"
cua0 est équivalent au port COM1, cua1 au COM2, et ainsi de suite...
Il vous faut vérifier que le port série correspondant à votre modem ait
été configuré avec les bons
paramètres, c'est à dire la bonne adresse et le bon irq, pour cela, utiliser
la commande:
setserial -bg /dev/cua*
si les paramètres
concernant le port en question sont bons, passer à la section suivante, sinon
(par défaut la configuration des ports correspond à la configuration par
défaut des irqs standards (com2 et 4 : irq3...)), il vous faut forcer la configuration
de l'adresse ou de l'irq par la commande:
setserial /dev/cuaX irq numero_irq
cette commande est à rentrer dans /etc/rc.d/rc.serial pour être executée au boot.
|
|
Configuration TCP/IP sous linux.
|
|
TCP/IP est indispensable sur tous les systèmes d'exploitation pour pouvoir établir
une connexion InterNet, (même pour les accès téléphoniques), sous linux,
tout est supporté au niveau du noyau (il vous faudra peut être le recompiler si votre
noyau actuel ne comporte pas de support TCP/IP)
Le noyau gère des interfaces réseau telles que lo, interface de
loopback qui permet des connexions en boucle (sur nous même), ou eth0,
interface correspondant à une carte ethernet ; chaque interface pour pouvoir être
utilisée, doit être attachée à une adresse IP, dans le cas d'une
connexion par poste isolé en PPP, la seule interface à configurer est lo (ppp0 sera
configuré par le daemon pppd), il faut s'assurer que la ligne suivante figure bien dans votre
fichier /etc/rc.d/rc.inet1 (le chemin peut différer):
/sbin/ifconfig lo 127.0.0.1 # l'adresse 127.0.0.1 est attachée à lo
Le noyau entretient une table de routage, c'est à dire une table qui indique quelle
interface réseau à utiliser en fonction de l'adresse IP de destination des paquets
avec éventuellement l'adresse d'une passerelle par laquelle passer, l'existence d'une
route par défaut (où envoyer les paquets de destinations non gerées par le
reste de la table) dans la table de routage est indispensable dans le cas d'une connexion
à l'InterNet, cependant la seule entrée à créer dans la table de
routage est celle concernant le loopback (interface lo), les deux entrées nécessaires
au bon routage à travers la connexion PPP pouvant être créées automatiquement
par la plupart des versions de pppd, donc il faut juste que votre fichier /etc/rc.d/rc.inet2 contienne
la ligne suivante:
/sbin/route add -net 127.0.0.0 # on ajoute une ligne dans la table
# de routage pour le
# réseau d'adresse 127.0.0.0
|
|
Configuration DNS sous linux.
|
|
Le DNS (Domain Name System), repose sur des serveurs qui ont pour fonction d'assurer le renseignement
des adresses IP en fonction des adresses de machines en nom et vice versa (exemple www.cae.fr
-> 194.51.83.20 ou le contraire), la gestion des noms est totalement décentralisée
c'est à dire que chaque organisation gère les noms de ses propres machines, et
donc administre son propre serveur, les serveurs sont en quelque sorte interconnectés de
façon arborescente c'est à dire qu'ils ont tous un serveur père à
contacter lorsque ils cherchent une adresse qui leur est inconnue...
Il vous faut donc configurer l'adresse IP d'un ou de plusieurs serveurs de noms à contacter
lors d'une recherche de nom:
Fichier /etc/host.conf:
order hosts, bind
Cette configuration indique de chercher des adresses d'abord dans le fichier /etc/hosts, puis
d'utiliser le resolver (ensemble de librairies d'utilisation des DNS) si rien n'a
été trouvé.
Fichier /etc/resolv.conf:
nameserver 194.51.83.1 # serveur de noms primaire Imaginet.
nameserver 194.51.83.2 # serveur de noms secondaire.
domain imaginet.fr # domaine à essayer de rajouter aux noms à
# resoudre (ce qui permet d'avoir des noms locaux).
Il vous faut aussi régler votre nom d'hôte local ainsi que son domaine, grâce
à la commande hostname (consulter le man), mais étant donné
que l'adresse IP est attribuée dynamiquement lors de la connexion,
le nom de machine est aussi attribué dynamiquement et donc vous pouvez au mieux régler
de façon certaine le domaine.
|
|
Configuration PPP sous linux.
|
|
Pour activer PPP sous linux il faut donc executer pppd le daemon qui bascule une ligne série
et l'exploite en mode PPP, mais il faut dans le cas d'une liaison téléphonique que cette
liaison soit déjà établie, il faut utiliser pour cela le programme
chat, qui permet d'intéragir avec le
modem en lui envoyant certaines chaînes de caractères et en en attendant de sa
part...puis une fois la liaison physique établie on peut utiliser pppd.
Vous pouvez vous identifier au serveur soit par échanges de chaînes grâce
à chat soit avec le protocole PAP, couplé à PPP.
- Options de pppd et fichier d'identification.
pppd propose de nombreuses options et accepte beaucoup d'arguments sur la ligne de commande,
et l'on peut au lieu de mettre tous ces paramètres sur la ligne de commande en écrire
certains dans le fichier suivant:
#/etc/ppp/options
mtu 1000 # on règle la taille maximum des paquets.
domain imaginet.fr # domaine sous lequel le nom de notre machine
#sera enregistré.
noipdefault # indique qu'il faut accepter l'adresse IP qui
#nous sera attribuée.
defaultroute # indique a pppd d'insérer les lignes
#adéquates dans la table
# de routage du noyau, une fois la connexion
#établie.
Si vous voulez utiliser PAP comme protocole d'identification, il vous faut rentrer votre login,
password et l'adresse de la passerelle dans le fichier :
#/etc/ppp/pap-secrets
#Login nom_machine_passerelle password
votre_login gw.lyon.imaginet.fr votre_mot_de_passe
- Blockage du port.
Afin de ne pas provoquer d'erreurs sur un port série que l'on utilise, la convention veut que
l'on utilise un fichier de lock contenant le nom du port que l'on utilise pour indiquer
aux autres programmes qui auraient besoin d'y acceder qu'il est déjà utilisé.
Ce fichier est d'habitude du type /var/spool/uucp/LCK..cua?
- Lancement de PPP.
pppd exploite une ligne série en mode PPP mais il faut que cette ligne soit établie
et donc dans notre cas que notre modem soit déja connecté avec le serveur de
terminaux, pour cela il faut utiliser le programme chat, ce programme dans ses versions les
plus récentes permet l'utilisation de fichier de lock (il le génère
lui-même) et on peut également l'utiliser pour envoyer les chaînes de
caractères adéquates à l'identification et au lancement de PPP sur le
serveur de terminaux...Voici un script de connexion présent dans la distribution slackware:
ppp-on:
On vérifie que le port n'est pas utilisé, puis on numérote, se connecte,
s'identifie grâce à chat.
En cas de réussite on lance pppd en lui indiquant d'utiliser le contrôle de
flux matériel et que la ligne série utilisée est maintenue par un modem
(ainsi pppd raccroche avant de s'arrêter).
Une fois la connexion établie, vous pouvez vérifier son bon fonctionnement en
executant la commande route, qui doit retourner une table de routage de 3 entrées.
Vous pouvez tracer les connexions tcp/udp actives grâce à la commande netstat -tu.
Pour fermer la connexion, il faut faire appel à un script du type de ppp-off.
Ces deux scripts font appel à fix-cua et unlock, voici un fichier compressé
qui inclut ppp-on (à completer), ppp-off, fix-cua et unlock: ppp.tar
|
|
Sécurite réseau sous linux.
|
|
Linux, comme tout système d'exploitation de type Unix, offre de nombreux services InterNet
grâce à des serveurs (daemons) réseau: telnetd, ftpd, etc.
Ceci peut présenter une faille dans la sécurité de vos données
si n'importe qui de la communauté internet peut tenter de faire un telnet sur votre
machine lorsque vous êtes connecté (à l'entrée du réseau d'ImagiNet,
tous les ports de connexion à distance sont filtrés), il vous faut donc éventuellement
sécuriser votre système en interdisant eventuellement toute connexion ou en posant des
restrictions à certains services sur l'origine des requêtes...
Tous les daemons réseaux (mis à part sendmail) sont lancés depuis inetd, un super
daemon qui écoute sur tous les ports adéquats et lance les services lors d'une
requête (ce qui économise des ressources système), le fichier de configuration
de inetd s'appelle /etc/inetd.conf et les entrées sont du type:
port type_connexion tcp_ou_udp wait_ou_nowait utilisateur
programme_à_lancer
Le programme à lancer est le serveur qui sera lancé lors d'une requête sur
le port correspondant (ex: /usr/sbin/wu.ftpd).
Pour fermer tout simplement un service, mettre en commentaire la ligne
qui lui correspond (#) et faire un kill -HUP sur le numero de processus de inetd qui
relira alors son fichier de configuration.
Pour appliquer uniquement une restriction d'accès sur un service particulier, il faut
indiquer /usr/sbin/tcpd comme programme à lancer avec en paramètre le nom du
serveur lui-même à lancer (tcpd vérifiera d'abord les restrictions
d'accès avant de lancer le serveur en question), les fichiers de configuration de tcpd
sont /etc/hosts.allow et /etc/hosts.deny, dans lesquels vous indiquez respectivement soit les
noms de machines/domaines autorisés en accès, soit les noms de machines/domaines
refusés en accès (soit vous n'autorisez qu'à un certain nombre, et refusez
à tous les autres, soit vous autorisez à tout le monde sauf à un certain
nombre), format de ces fichiers:
nom_du_serveur: [ALL, machine.toto.com, .toto.com, LOCALHOST]
(EXCEPT) [liste]
Exemple, pour autoriser le telnet uniquement en loopback soit on
insère l'entrée suivante dans /etc/hosts.allow:
in.telnetd: LOCALHOST
soit l'entrée suivante dans hosts.deny:
in.telnetd: ALL EXCEPT LOCALHOST
Sinon vous pouvez restreindre l'accès au compte root depuis certains terminaux seulement
en spécifiant ces terminaux dans /etc/securetty
Page réalisée par Régis VILLEMIN 1995-1996.
Toute remarque ou suggestion à adresser à cae@imaginet.fr
|
|
© - Tous droits réservés. Mise à jour : 24/11/96 par cae@imaginet.fr.
|