Connex

(Nombreux contributeurs)
Intégré par Nat

$Date: 2002/05/20 22:48:57 $ $Revision: 1.1 $


Protocoles et outils de connexion à des machines distantes (PPP, UUCP, voix, fax ...)

1. Introduction

La plus récente version française de ce texte se trouve sur son site de référence.

Seule la diffusion des versions non modifiées est autorisée.

Ce document traite des aspects techniques liés à la connexion d'une machine Unix (et plus particulièrement Linux) à d'autres machines. Il n'aborde que fort rarement la théorie sous-jacente, on trouvera donc ici un ensemble de brefs compte-rendus d'expériences, de tuyaux, de « recettes de cuisine ».

Le lecteur est invité à considérer tout cela ainsi, donc à explorer, trouver d'autres sources d'information détaillant mieux les conseils prometteurs ... et tester. Les commentaires et contributions seront les bienvenus !

Sont concernés : UUCP, PPP, SLIP, etc, employés sur le RTC (« Réseau Téléphonique Commuté »), Numéris, ligne spécialisée, Ethernet, etc.

Un miroir des documents « HOWTO » évoqués dans ce document se trouve sur ici.

2. RTC

2.1 Documents

Configuration UUCP et PPP, client et serveur (L. Bortzmeyer, en anglais)

2.2 Port série

Si un port série est employé pour la connexion il faut commencer par s'assurer que le noyau Linux comprend le pilote logiciel permettant d'exploiter ce périphérique.

Il suffit d'examiner les messages affichés lors du démarrage, durant lequel Linux examine le matériel et « annonce » les ressources disponibles. Ces messages défilent souvent assez vite mais sont le plus souvent conservés dans /var/log/messages (ou via la commande dmesg), donc accessibles une fois le système démarré.

Un port série, pour le noyau, est appelé "tty". Voici par conséquent une commande possible :

grep 'tty[0-9][0-9]' /var/log/messages

Elle produira par exemple, sur un système comprenant deux ports série standard :

Nov 24 20:02:32 nataa kernel: tty00 at 0x03f8 (irq = 4) is a 16550A
Nov 24 20:02:32 nataa kernel: tty01 at 0x02f8 (irq = 3) is a 16550A

Certains éléments du répertoire /proc offrent d'intéressantes précisions sur le mode de prise en charge des circuits par le noyau. cat /proc/ioports, par exemple, révèle les adresses mémoire d'implantation du (ou des) circuit série reconnus.

Les utilisateurs de cartes série non standard liront le fichier Documentation/devices.txt, fourni avec les sources du noyau, pour déterminer les noms des fichiers spéciaux correspondants. Et probablement aussi compiler un noyau ad hoc.

Lire le Kernel-HOWTO s'il s'avère nécessaire de compiler un noyau : (le pilote pour port série standard est compilable grâce à l'option "character devices", "standard/generic serial support")

L'administrateur (root) doit ensuite configurer les logiciels de communication. Ils offrent tous le moyen de déclarer quel périphérique exploiter, à quelle vitesse ...

Certains offrent beaucoup plus de paramètres mais cela ne nous concerne pas dans un premier temps.

La communication avec ce « périphérique » passe par un fichier dit « spécial » placé dans le répertoire /dev. À presque tout périphérique physique correspond un fichier spécial, ce n'est pas spécifique au port série.

Tout logiciel peut, grâce à ce fichier spécial, accéder à une ressource matérielle via le pilote logiciel (« driver ») adéquat. Il ouvrira le fichier spécial et y écrira des données que le logiciel pilote (fourni par le noyau de Linux) fera parvenir au périphérique.

Linux associe aux ports série deux types de fichiers spéciaux : ttyS et cua. Ce dernier type est appelé à disparaître, il faut donc éviter de l'utiliser.

Un fichier spécial ttyS permet d'exploiter l'un des ports série de la machine si le noyau Linux comporte le pilote adéquat (pour ports série, donc !).

Si le fichier spécial n'existe pas : utiliser mknod pour le créer.

Prendre garde à ne pas engendrer de conflits :

Utiliser setserial -a NOM-DU-PORT pour déterminer le type d'un port donné. Exemple : setserial -a /dev/ttyS0.

Commencer, en tant que root, par créer un lien modem grâce auquel tous les logiciels utiliseront le périphérique nommé « modem ». Voici comment procéder dans le cas d'un modem connecté au deuxième port série :

cd /dev
ln -s ttyS1 modem

Le Serial-HOWTO fournira d'autres informations utiles.

Pour rendre la connexion ordinateur[-]modem (appelée "DTE") possible ou simplement améliorer ses performances il faut connaître le débit maximum toléré par :

Utiliser setserial et stty dans les scripts automatiquement exécutés lors du démarrage pour paramétrer la vitesse pas défaut du port à la valeur la moins élevé de ces débits maximum.

Sur une machine moderne exploitant un modem récent, par exemple, la configuration sous Red Hat s'effectuera grâce à un fichier /etc/rc.d/rc.serial contenant :


#!/bin/sh
/bin/setserial /dev/modem spd_vhi hup_notify
/bin/stty crtscts 38400 < /dev/modem

Ligne de stty:

Certaines machines ou modems ne tolèreront pas cela et il faudra remplacer spd_vhi par spd_hi (57600 bps), voire spd_normal (38400 bps).

Tester grâce à un programme de communication (par exemple minicom ou bien seyon) jusqu'à ce que le modem réponde "OK" lorsque vous introduisez un "ATZ".

2.3 Modems

GSM

Modems GSM

WinModem

Un « WinModem », matériel exclusivement dédié à MS-Windows, ne fonctionnera très probablement jamais sous Linux. Mieux vaut de toutes façons acquérir un modem externe, qui fonctionnera sur toutes les machines (indépendamment de leur bus), n'augmentera pas la température près de la carte mère, permettra de surveiller la connexion (diodes visibles, haut-parleur audible) ...

Surveiller Linux Winmodem Support, http://www.math.sunysb.edu/~comech/tools/PCImodems.html et http://www.o2.net/~gromitkc/winmodem.html.

PCMCIA

La plupart des modems intégrés à des cartes PCMCIA fonctionnent. Lire à ce propos la documentation du logiciel pilote, appelé 'pcmcia-cs'.

Configuration

Configurer le modem (chaîne d'initialisation) de façon à débrayer le peu efficace protocole MNP5 (qui bloque un instant tout transfert afin de s'escrimer à le compacter, même s'il est incompactable) en faveur de V42.

Notes de F. Schaefer :

Modems autonomes

Qui donc utilise, sous Linux, l'un de ces modems fax capables de stocker messages vocaux et fax même lorsque l'ordinateur est éteint ?

Ou bien les fonctions ATX de réveil en cas d'activité sur le port série ?

Quelles fonctions exploitez-vous (fax ? répondeur ?) ?

Avec quel modem (marque / modèle), quel logiciel (mgetty, hylafax ...), quelle config du SETUP de la machine, quelles options de compilation du noyau ... ?

L'ensemble fonctionne-t-il bien (problèmes ?)

Merci de me contacter par mail connex@nataa.fr.eu.org, je publierai un résumé.

La documentation technique du modem 'Olitec Self Memory' est disponible, un bon développeur devrait donc pouvoir en tirer quelque chose ...

Statistiques

T. Danis : Pour voir passer les paquets, il existe un outil qui utilise la bibliothèque qt : qsermon. Pour avoir accès à toutes les données nécessaires aux statistiques, il faut appliquer un petit patch (livré avec qsermon) sur le noyau . L'interface est jolie, avec des histogrammes des paquets passés dans chaque sens, des diodes pour chacun des signaux du modem, etc...

Autre outil : serialmon

Partage

modemd/rmodem permet d'utiliser des modems installés sur d'autres machines du réseau existe. Voir aussi libmodem

Automatisation

2.4 Calcul des coûts

3. PPP

LinuxApps propose des listes d'outils.

3.1 Appelant ("client")

Si vous employez chat n'omettez pas d'échapper les caractères spéciaux utilisés dans toute chaîne communiquée au modem. Exemple :

  ''    \rAT\F\r     \
est incorrect. Utiliser :
  ''    \rAT\&F\r     \

Il faut disposer du programme pppd (souvent en /usr/sbin/pppd), généralement livré dans un paquetage appelée ppp

Documents

Outils

La Red Hat 5 offre de très efficaces outils de configuration. Commencer, en tant que root, par utiliser netcfg. Configurer des noms complets, par exemple :


Hostname: mabecane.bidon.fr
Domain: bidon.fr

Puis, en tant qu'utilisateur, utiliser usernet (utiliser de préférence une version 1.0.6-1 ou postérieure).

PPP Multilink Protocol (MP) agrégation de canaux PPP.

Outils permettent de faciliter l'établissement de la connexion

Ils ne facilitent pas toujours la préalable étape de configuration !

Gestion répartie de la connexion (diald)

Performances

Pload est un outil d'examen en continu des performances.

Automatisation

Il est parfois souhaitable d'automatiser des sessions PPP, par exemple afin de télécharger des fichiers aux heures de facturation minimale.

Utiliser pour cela l'option ipparam pppd. Cette option accepte un paramètre quelconque qui sera communiqué aux scripts automatiquement invoqués par pppd. Ces derniers pourront grâce à cela "décider" d'effectuer ou non certaines tâches. Lire à ce propos la page de man de pppd.

L. Lopez nous offre un exemple : Voici un script de connexion modifié pour travailler en mode automatique. Connexion puis déconnexion auto :

/usr/sbin/pppd -d \
    crtscts\
    modem\
    asyncmap 0\
    mtu 296\
    noipdefault\
    ipparam getmail \  <<<< !!! C'est ici que ca se passe !!!!
    defaultroute\
    connect "/usr/sbin/chat -v -f /etc/ppp/$1.chat"\
    38400\
    /dev/ttyS1     

On peut ensuite tester la valeur du paramètre dans ip-up comme ceci :

## permet la deconnexion automatique si le 6eme parametre est utilise
## et contient la chaine "getmail"
if [ "$6" = "getmail" ]
then
  echo "fin de travail : deconnexion" > $out
  sleep 10s
  /etc/ppp/ip-off
else
 ...

Pour automatiquement démarrer périodiqueemnt une session PPP) utiliser PPP_poll.

Fichiers de configuration

Scripts de connexion

Conseils

Déconnexion automatique

T. Parmelan note :
La version Linux de pppd reconnaît [une option de déconnexion automatique (non documentée)] Pour pppd-2.2.x, il s'agit de "idle-disconnect nb_secondes". Pour pppd-2.0.x, il s'agissait (il me semble) de "idle-timeout".

Attention : la déconnexion automatique n'est assurée que si aucun paquet IP ne transite durant le temps "idle". Certains logiciels (par exemple les clients POP) effectuent périodiquement des transations et peuvent donc, mal configurés (période trop courte), interdire la déconnexion automatique.

Amélioration des performances

Appliquer les conseils prodigués au début de ce document afin de s'assurer de la configuration du port série et du modem : inutile d'espérer obtenir un bon résultat si le modem ne débite pas plus de ce qu'autorise le port série ... configuré à 9600 bps !

Utiliser irqtune pour modifier la priorité de service des pilotes liés aux lignes physiques d'interruption. Lire sa documentation, claire et riche (en anglais).

S'assurer que les modems se connectent en employant le débit maximal théoriquement possible (lire le fichier de trace, voir section "En cas de problème").

Avec certaines configurations il est nécessaire de compiler PPP en tant que module pour qu'il puisse utiliser le compactage d'en-têtes.

Augmenter les valeurs attachées aux paramètres mtu et mru (maxi : 1500) afin d'augmenter le ratio de charge (donnéees utilisateur)/(données protocoles). Les augmenter améliore le taux de transfert des données, les diminuer pour réduire les « latences », donc améliorer le « temps de réponse perçu ». Les réduire si le serveur ne le tolère pas ou si transferts deviennent trop heurtés. Placer par exemple dans le fichier des options de pppd (souvent /etc/ppp/options) :

mru 576
mtu 576

L. Sintes a empiriquement déterminé cette approche : Quand la config par défaut ne semble pas être optimum j'essaye :

mru 296 ; mtu 1064
notamment avec des disques IDE et j'évite ainsi d'utiliser hdparm. puis :
mru 552 ; mtu 1064.
disque SCSI. Liaison de bonne qualité.

Merci à ceux qui en savent plus de m'écrire !

Installer un bon mandataire ("proxy") cache, par exemple wwwoffle.

Installer un serveur de noms en mode « cache » afin de réduire le nombre d'interactions réseau avec les serveurs distants. Lire à ce propos le HOWTO « DNS ». Red Hat : utiliser le paquet caching-nameserver.

Ne pas utiliser un noyau compilé avec « always defragment » (sauf si machine passerelle ou bastion) et « optimize as router not host ».

PAP et CHAP

Certains fournisseurs emploient des machines capables de négocier une connexion (« login ») très accélérée (par rapport au traditionnel "login:", "Password:") grâce à PAP.

P. Saratxaga : L'option +ua est obsolète et peut être supprimée à tout moment. La bonne façon de faire est d'editer /etc/ppp/pap-secrets et de mettre :


votrelogin      identifiantduFAI        votremotdepasse

l'identifiantduFAI n'a aucune importance, c'est pour pouvoir distinguer entre plusieurs hôtes distants. Le remplacer par '*' (un astérisque) si la machine ne se connecte qu'à un seul système distant.

Dans la ligne de commande de pppd il faut ajouter les options :


user votrelogin remotename identifiantduFAI

Si c'est CHAP qui est utilisé c'est quasiment pareil sauf que le fichier à éditer est /etc/ppp/chap-secrets. Les paramètres de pppd sont en ce cas :


name votrelogin remotename identifiantduFAI

Il faudra aussi modifier le script d'appel de sorte qu'il s'achève sitôt la connexion physique établie, c'est-à-dire ainsi dans le cas d'un script exploitant chat :


CONNECT   ''

Si vous ne parvenez pas à déterminer quel script d'appel est employé sachez que :

Différences entre pppd 2.2 et 2.3

P. Saratxaga :

En cas de problème

Ne plus lancer pppd qu'en mode debug et surveiller le contenu du fichier historique d'activité (souvent /var/log/messages).

Vérifier les contenus de tous les fichiers : certains outils d'administration automatique mal conçus (ou utilisés) remplacent parfois brutalement les informations qu'ils contiennent.

C. Roth explique que les utilisateurs de modems USR Sportster dont la connexion se bloque (pas d'activité IP) et pour lesquels pppd produit le message CCP: timeout sending config-request doivent adopter la configuration par défaut du modem (chaîne d'initialisation AT&F1, ajouter si nécessaire B0) et surtout n'utiliser que des commandes AT libellées en majuscules ou bien en minuscules (pas de mélange) !

É. Jacoboni : Message d'erreur SIOCADDRT avec les noyaux 2.1 : récupérer la dernière version de PPP (en ce moment : 2.3.5).

En cas de problèmes tenter de se connecter grâce à un script de shell (sans interface graphique, donc), afin de déterminer si pppd est en cause.

Si le flux de paquets IP semble heurté placer les lignes suivantes dans /etc/modules.conf :

alias tty-ldisc-3       ppp
alias ppp-compress-1    off     # predictor-1 not yet supported
alias ppp-compress-2    off     # predictor-2 not yet supported
alias ppp-compress-21   bsd_comp
alias ppp-compress-24   ppp_deflate
alias ppp-compress-26   ppp_deflate

En cas d'incidents (plantages) étranges installe la plus récente version du noyau qui résiste aux attaques IP connues.

Modem

Diminuer la vitesse DTE (port série vers modem).

Établir un débit fixe entre l'ordinateur et le modem s'avère parfois nécessaire (par exemple, sur certains modems USR, via AT&B1). Merci à C. "CHiPs" Petit.

L. Martinez, à propos de l'USR SportsterMessagePlus :

Ce modem supporte une saloperie de mode autonome.
Et comme par hasard (du moins dans la configuration que j'utilise), la
commande ATZ le bascule en mode autonome, d'où il est impossible avec
les scripts classiques de chat, de monter une connexion, car ATDTnuméro
renvoie une erreur.
Si à la place de ATZ vous mettez dans vos scripts AT&F1, tout rentre
dand l'ordre.

P. Grange précise : Pour desactiver le mode autonome: AT+MCS=0

« Pertes de caractères » (débit anormalement lent) : utiliser le paramètre -u1 du logiciel (Linux) hdparm afin d'autoriser le pilote du disque à oeuvrer sans masquer les interruptions, donc en laissant le pilote série prendre en charge le flux de données machine [-] modem.
ATTENTION : ce paramètre peut s'avérer dangereux. Lire la documentation de hdparm, sauvegarder les données PUIS tester avant de l'adopter.

Si la machine dispose d'un port série desservi par un circuit 16550 (UART avec tampon) ne pas négliger de l'affecter au modem plutôt que d'utiliser un circuit 8250 ou bien 16450. Invoquer setserial NomDuPortSérie pour déterminer le type du circuit.

En cas de problèmes étranges recompiler un noyau avec PPP intégré (et non en module).

Raccrochage intempestif : essayer de désactiver le signal d'appel. Lire à ce propos la FAQ] Configuration modem sur protocole PPP.

Message d'erreur CCP: timeout sending config request : utiliser l'option de pppd '-bsdcomp'.

TCP/IP

Commencer par un salutaire :

chmod a+r /etc/resolv.conf /etc/hosts /etc/services

Le fichier /etc/resolv.conf doit impérativement déclarer au moins un nameserver.

L. Picouleau note : j'ai été très ennuyé parce que je n'avais pas mis de nom de domaine considérant que ma machine n'était pas connectée à un réseau. Avoir une liaison PPP c'est ETRE CONNECTE à un réseau TCP/IP. Ce simple détail compris, bcp de choses se sont débloquées.

Pour savoir si la connexion PPP est ou non active invoquer /usr/ifconfig et chercher une section ppp.

Pour détecter les causes des problèmes il faut utiliser le mode debug, voire kdebug de pppd. Surveiller le fichier de trace syslog (souvent /var/log/messages).

Si les outils réseau ne fonctionnent pas et produisent un message d'erreur : nomDuProtocole: nomDuProtocole/typeDeTransport: unknown service, par exemple :

ftp: ftp/tcp: unknown service
telnet: tcp/telnet: unknown service
solution : chmod a+r /etc/services.

Si le fichier de trace indique que la connexion avorte après des échanges « LCP ConfReq » essayer de modifier la valeur associée au paramètre asyncmap (M. Bouget indique que 00A0000 donne satisfaction).

Si le fichier de trace indique que la connexion avorte après des échanges « rcvd LCP ConfAck ... <auth pap> » vérifier que pppd ne tente pas d'employer PAP ou CHAP : renoncer aux arguments +pap, +chap, login, user ...

Kiosque micro

Le "Kiosque" exige le nom du service auquel vous souhaitez vous connecter. Ceci s'obtient en ajoutant le couple "Ser? Votre_FAI" avant "login" et "password" dans votre "chat script" PPP. "er? CLUBINT" par exemple si Club-Internet est votre FAI. Votre service technique est en mesure de vous fournir le nom à employer.

MS-Windows et Linux

Essayer l'option silent de pppd.

Linux vers MS-Windows : il faut employer un pppd avec gestion du protocole "MSCHAP" (autentification CHAP à la sauce Microsoft). Récupérer les sources de pppd et lire les fichiers README.

D. Delamarre : La base de registres de MS-Windows permet de débrayer MSCHAP. Ou bien autoriser dans la configuration réseau RAS le protocole CHAP standard (sans chiffrement).

MS-Windows client de Linux : P. Saratxaga nous guide :
Utiliser mgetty compilé avec -DAUTOPPP -DUSE_MS_DNS=1. Configurer /etc/ppp/pap-secrets et /etc/mgetty+sendfax/login.config. Les clients MS-Windows 95 appellent avec autentification PAP, ils reçoivent du serveur pppd l'adresse IP du DNS à utiliser. Cette option s'énonce dns-addr pour ppp 2.2 et ms-dns pour ppp 2.3).
En résumé :
Installer :

Dans /etc/mgetty+sendfax/login.conf une ligne adéquate. Voici un exemple (pour ppp 2.2) :

/AutoPPP/ -     ppp_in  /usr/sbin/pppd auth -chap +pap login crtscts :192.168.85.133
Voici un exemple (pour ppp 2.3) :
/AutoPPP/ -     ppp_in  /usr/sbin/pppd auth refuse-chap require-pap login crtscts :192.168.85.133

dans /etc/ppp/chap-secrets :

*               *               ""              192.168.85.133

dans /etc/ppp/options :

dns-addr 192.168.85.130 # compiler pppd avec  -DUSE_MS_DNS=1
(à partir de la version 2.3 de ppp : utiliser ms-dns en lieu et place de dns-addr).

Remplacer bien entendu 192.168.85.133 par l'adresse IP à attribuer aux appelants, et 192.168.85.130 par l'adresse du serveur DNS local. S'il n'y a pas de serveur de noms local : installer le programme named. Lire la documentation de mgetty et pppd.

Le rpm de pppd 2.2 n'est pas compilé avec l'option USE_MS_DNS, il faut donc récupérer le paquet .src.rpm, éditer le fichier .spec pour remplacer le make dans %build par make USE_MS_DNS=1.

A. Lesné:
J'ai récupéré pppd 2.3.3, compilé avec l'option CHAPMS et USE_CRYPT, et, comme d'habitude, ça ne marchait toujours pas. L'info, je l'ai trouvé par hasard, en promenant mon oeil dans les sources du Makefile du répertoire pppd: il y a maintenant une option MS_LANMAN qui n'est documentée que dans le source. Eh bien, en compilant avec ce paramètre, miracle ! Les machines MS-Windows 95 acceptent enfin de causer ppp avec Linux.

Ci-dessous, ce qu'on trouve dans chap_ms.c :

/*
 * Modifications by Lauri Pesonen / lpesonen@clinet.fi, april 1997
 *
 *   Implemented LANManager type password response to MS-CHAP challenges.
 *   Now pppd provides both NT style and LANMan style blocks, and the
 *   prefered is set by option "ms-lanman". Default is to use NT.
 *   The hash text (StdText) was taken from Win95 RASAPI32.DLL.

Lire aussi le Modified Linux PPP/NT HOWTO

3.2 Appelé ("serveur")

P. Saratxaga : L'option "login" signifie ceci : si un identifiant a un password vide ( "" ) dans le fichier *-secrets alors on re-essaye avec le mot de passe de /etc/passwd (pour autant que l'identifiant existe aussi dans ce fichier). Donc mettre

*       *       ""
est un moyen simple et efficace de dire d'utiliser /etc/passwd.

Rappel de l'appelant (callback)

Lire ce document rédigé par H. Lemoine

4. UUCP

Lire la section UUCP du Guide du Rootard Linux, ainsi que les les fichiers « infos » livrés avec Taylor UUCP. Utiliser /usr/sbin/uuchk pour vérifier la configuration.

4.1 Appelant ("client")

4.2 Appelé ("serveur")

5. Câble

5.1 Client

Le client dispose le plus souvent d'une adresse IP dynamique attribuée grâce à DHCP, dont le logiciel client (sous Linux) est un démon appelé dhcpcd (DHCP Client Daemon).

Configuration de dhcpcd, par François Lermigeaux(lemi AT cybercable.fr)

Connexion à Cybercâble (sous RedHat 5.2 ou 6.0).

Sous Red Hat 5.2 ou une 6.0, dhcp est déja installé (sinon voir le cable mini-how-to) et linuxconf aussi. Cette méthode est une méthode de paresseux, et c'est celle que j'ai adoptée.

On imagine que la carte réseau fonctionne correctement et a été reconnue au demarrage, ce qui arrive le plus souvent. Ici, on prend l'exemple d'une ne2000 pci.

En tant que root on lance linuxconf.

NB : linuxconf est un outil de configuration qui se lance en mode console ou sous X

Choisir "tache cliente" / configuration de base de cette machine.

Choisir adaptateur 1 et le paramétrer ainsi :

Ensuite, il faut modifier qqs fichiers.

Tout d'abord le fichier contenant les addresses de serveur de resolution des noms DNS :

/etc/resolv.conf contient donc :

domain cybercable.fr
nameserver XX
nameserver YY

ATTENTION : XX et YY remplace ici les numéros des serveurs de noms (dits « serveurs DNS ») communiqués par le service technique de votre fournisseur, le plus souvent dans les documents qui accompagnent votre contrat d'abonnement.

puis /etc/host.conf :

order hosts,bind
multi on 

puis /etc/hosts :

127.0.0.1 localhost

enfin, et c'est important :

/etc/sysconfig/network-scripts/ifcfg-eth0 Là il faut rajouter trois lignes (je mets des étoiles devant) :

DEVICE="eth0"
* IPADDR=""
* NETWORK=""
* NETMASK=""
ONBOOT="yes"
BOOTPROTO="dhcp"
IPXNETNUM_802_2=""
IPXPRIMARY_802_2="no"
IPXACTIVE_802_2="no"
IPXNETNUM_802_3=""
IPXPRIMARY_802_3="no"
IPXACTIVE_802_3="no"
IPXNETNUM_ETHERII=""
IPXPRIMARY_ETHERII="no"
IPXACTIVE_ETHERII="no"
IPXNETNUM_SNAP=""
IPXPRIMARY_SNAP="no"
IPXACTIVE_SNAP="no"

Ensuite on teste la config : /etc/rc.d/init.d/network start

Lance la connexion et doit donner un resultat positif.

Invoquer /sbin/ifconfig afin de le vérifier :

eth0      Link encap:Ethernet  HWaddr 00:80:AD:30:C6:93  
          inet addr:212.198.18.128  Bcast:212.198.18.255  Mask:255.255.255.0
          UP BROADCAST RUNNING  MTU:1500  Metric:1
            ...

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
            ...

La connexion est rétablie lors de chaque démarrage.

Note (à propos de pump), par F. Petillon

pump (équivalent dhcpcd) pose problème d'upload (entre 10 à 20 Mo inutiles par jour)

donc :

% diff ifup.old ifup
86c86
<     if /sbin/pump -i $DEVICE ; then
---
>     if /sbin/dhcpcd -d -R $DEVICE ; then

% diff ifdown.old ifdown
45c45
<       pump -r -i ${DEVICE}
---
>       /sbin/dhcpcd -k ${DEVICE}

Quelques références utiles

Renégociation automatique de la connexion

La renégociation d'adresse IP (par DHCP) échoue parfois. On peut en ce cas placer en crontab (invocation périodique, par exemple une fois par heure) le script :

#!/bin/sh
if [ -f /var/run/dhcpcd-eth0.pid ] && ps -xh|grep -w dhcpcd > /dev/null ; then
        exit 0
else
        date >> tmp/dhcpd.died
        /etc/dhcp/dhcp-on
fi

6. ADSL

Si les performances semblent mauvaises tenter de réduire la MTU.

7. getty

7.1 mgetty

Accès via un Minitel

F. L. nous décrit le câble adéquat.

E. Festinger :

J'ai directement modifié les sources de mgetty (dans le fichier mgetty.c) pour passer automatiquement le port série en 7E1. J'ai fait ça rapidement, et ce n'est pas forcément très propre :-( En particulier, le basculement se fait quand la chaîne de connexion modem contient "CONNECT 1200/75". Il faudrait que je reprenne un peu de temps pour déclarer cette chaîne dans un fichier de conf (mgetty.config par exemple). Voici un (tout) petit patch à partir de la version 1.1.5 :


diff -u --new-file mgetty-1.1.5.orig/mgetty.c mgetty-1.1.5/mgetty.c 
--- mgetty-1.1.5.orig/mgetty.c  Sat May 24 00:20:34 1997
+++ mgetty-1.1.5/mgetty.c       Sat May 24 00:22:22 1997
@@ -970,6 +970,18 @@
        /* work around NeXT's weird problems with POSIX termios vs. sgtty */
        NeXT_repair_line(STDIN);
 #endif
+
+#ifdef MINITEL
+       if (strncmp(Connect, "1200/75", strlen("1200/75"))==0) {
+               lprintf(L_MESG, "Minitel detected");
+               if (tio_get( STDIN, &tio )==ERROR)
+                       lprintf(L_ERROR, "tio_get a failed");
+               tio.c_cflag &= ~CSIZE;
+               tio.c_cflag |= CS7|PARENB;
+               if (tio_set( STDIN, &tio )==ERROR)
+                       lprintf(L_ERROR, "tio_set failed");
+       }
+#endif /* MINITEL */

        fputc('\r', stdout);    /* just in case */

Il faut bien sûr ajouter -DMINITEL lors de la compil du fichier mgetty.c. Je n'ai pu tester cette modif qu'avec Linux. (suggestion de Nat : remplacer


+       if (strncmp(Connect, "1200/75", strlen("1200/75"))==0) {

par
+       if (strstr(Connect, "1200/75")) != NULL) {

)

A. Medecin (antoine à neptune fr) a pu connecter un Minitel 2 directement sur sa carte Cyclades grâce à cette ligne, placée dans /etc/inittab :


15:2345:respawn:/sbin/getty ttyC5 v23b minitel

/etc/gettydefs # Connection minitel a distance


v23b# B9600 CS7 PARENB -PARODD CRTSCTS # B9600 CS7 PARENB -PARODD OPOST ECHO CRT
SCTS #login: #v22b

v22b# B4800 CS7 PARENB -PARODD CRTSCTS # B4800 CS7 PARENB -PARODD OPOST ECHO CRT
SCTS #login: #v21b

v21b# B9600 CS7 PARENB -PARODD CRTSCTS # B9600 CS7 PARENB -PARODD OPOST ECHO CRT
SCTS #login: #v21b

termcap avec une entrée "minitel" (provenance Red Hat).

C. Guibourg : La combinaison de touches (Fct) T puis la touche A oblige le Minitel à émuler un VT52 80x24.

Configuration d'un terminal Minitel, par O. Ritter

Je recommande d'employer getty_ps.

Ajouter dans /etc/inittab (après les consoles virtuelles par exemple) une ligne du genre :


s1:2345:respawn:/sbin/getty ttyS1 minitel minitel

Détails :

Ajouter dans /etc/gettydefs (une seule ligne !):


minitel# B4800 CS7 PARENB -PARODD CLOCAL # B4800 ISTRIP CS7 PARENB
-PARODD CLOCAL BRKINT IGNPAR ICRNL IXON IXANY OPOST ONLCR CREAD HUPCL
ISIG ICANON ECHO ECHOE ECHOK #@S login: #minitel

En gros : minitel, c'est le nom de la configuration et 4800 le débit de la connexion. Pour les quatres paramètres, lire la page de man de gettydefs. Le minitel à la fin, c'est pour reboucler sur cette conf.

À la main main sur le minitel :

On peur automatiser tout ça tant /etc/gettydefs, mais ça n'est alors plus très générique...

8. Fax

9. Numéris (ISDN, RNIS)

Lire le document Comment configurer l'accès Numéris à Internet avec Linux.

10. Hertzien

R. Pinilla :
La législation française régit les droits et obligations des radioamateurs (qui doivent détenir des licences). Ils sont les seuls particuliers à avoir le droit d'émettre des ondes radio à titre privé. Ils ont un réseau HERTZIEN basé sur le principe de paquets de données. Principe repris depuis par bien des organismes officiels. Cependant, en France et à la différence des USA, il est interdit de relier les ondes à un quelconque réseau TERRESTRE.

Donc, pas de phone patch (téléphoner depuis un équipement radio mobile). Et interdiction formelle de créer un Internet patch.

11. Minitel

Utiliser xtel.

A. Gomes-do-Vale précise qu'en cas de blocage apparent du clavier :
J'ai eu le probleme avec le toolkit Athena, je ne sais pas pourquoi. Compiler XTel avec Motif (ça marche avec Lesstif), ça devrait resoudre le problème.

12. X25

X25 STREAMS pour Linux

13. Téléphonie vocale

(qui veut traiter de téléphonie vocale sur IP, sous Linux ?)

Téléphonie (merci à E. Corvellec) :