Nimbustier.net

Navigation

Utiliser le modem ECI USB sous Linux

Ayant besoin d'une connexion à haut débit pour mon travail (je travaille à domicile), et travaillant sous linux, il m'a fallu passer par les affres de la configuration d'une connexion ADSL sous linux.

La configuration en question n'a pas été sans difficulté : tout d'abord équipé d'un modem ethernet (dont la configuration est supposément plus aisée sous linux), je n'ai jamais pu faire marcher celui-ci pour une raison que je n'ai pas pu déterminer (pour ceux intéressés, les requêtes de connexion restaient sans réponses).

C'est donc avec bonheur que j'ai constaté que la connexion avec un modem USB ECI pouvait se faire sans trop de problèmes grâce au pilote eci-adsl développé sur SourceForge.

Installation du pilote

Après avoir téléchargé l'archive compressée depuis le site du projet, et en ayant suivi les différentes indications d'installation (en particulier, la création du fichier /etc/ppp/peers/adsl), j'ai pu lancer la commande /usr/bin/local/startmodem et voir mon modem se connecter à mon fournisseur d'accès (Nerim) du premier coup.

Le hic, c'est qu'il n'a voulu le faire que le premier coup ! Il bloquait ensuite lors de la deuxième partie de la connexion au block 259, ce qui, après moultes recherches s'avéra être dû à un mauvais fichier de synchronisation, qui, une fois changé pour une autre version (version DMT sur Aix-en-Provence), m'a permis de me connecter sans difficulté sur Internet.

Les modules pour le noyau (version 2.4.x) nécessaires à la connexion sont les suivants :

Réseau local par N.A.T.

Disposant de plusieurs ordinateurs à domicile, j'ai mis en place une translation d'adresse réseau permettant aux autres ordinateurs relié à l'ordinateur assurant la connexion d'accéder à Internet de manière transparente.

Pour cela, il m'a fallu activer les iptables, qui nécessitent les modules suivants : ip_tables, ip_conntrack, iptables_nat, ipt_MASQUERADE, iptable_filter. Les procédures d'installation sont détaillées dans un HOWTO.

Une fois cela fait, utilisant Debian (Woody), j'ai ajouté le fichier iptables suivant dans le répertoire /etc/ppp/ip-up.d/ :


/bin/echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o $PPP_IFACE -j MASQUERADE

La première ligne active la transmission des paquets réseaux d'une interface réseau à une autre. La deuxième active la translation d'adresse réseau depuis l'interface indiquée par la variable PPP_IFACE vers les autres interfaces (en l'occurrence, eth0 pour mon installation).

Ensuite, j'ai installé un service DHCP sur l'ordinateur de la connexion avec le fichier /etc/dhcp.conf suivant :

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.2 192.168.0.20;
  option routers 192.168.0.1;
  option domain-name-servers 62.4.16.70, 62.4.17.109;
  }

Cela permet à tout ordinateur sur le réseau local de se connecter directement à internet via DHCP. 192.168.0.1 est l'adresse affectée à l'ordinateur connecté au modem, et que j'ai dû indiquer "en dur" les serveurs DNS de mon fournisseur d'accès (faute d'avoir trouvé un autre moyen).

Branchement à chaud (hotplug)

Devoir lancé en tant que root la commande /usr/local/bin/startmodem ne me paraissant pas très "convivial", j'ai décidé de faire en sorte que la connexion se lance automatiquement lorsque le modem est branché.

J'utilise pour cela les scripts de hotplug (disponible sous débian dans le paquet hotplug). La mise en place de ces scripts pour le cas de mon modem ECI USB se fait de la manière suivante :

Désormais, ma connexion s'établit automatiquement lorsque le modem est branché ! Notez que, en théorie, cela n'est quasiment jamais nécessaire (surtout en ayant l'option persist dans /etc/ppp/peers/adsl), mais que dans la pratique, cela s'avère bien utile :)


Plan / Aide
Dominique Hazaël-Massieux
dominique.hazael-massieux@centraliens.net
Dernière modification : le 8 Octobre 2003