Sous Paragraphe

8.1 Imond Serveur imond

Imond Serveur est un programme qui répond à certaines enquêtes sur la gestion du réseau et accepte aussi des commandes qui peuvent controler le routeur sur le réseau local.

Imond controle également les Moindres-Coûts-Routages. Il utilise le fichier de configuration /etc/imond.conf, un Shell-Script qui est créé automatiquement au Boot (ou démarrage) avec la variable ISDN_CIRC_x_XXX dans le fichier config/isdn.txt.

imond est un démon qui fonctionne en permanence en tache de fond, il écoute le port 5000-TCP/IP sur le périphérique /dev/isdninfo.

Voici toutes les commandes possibles qui peuvent être envoyées sur le port 5000-TCP/IP:

Commandes Admin


addlink ici-index

Ajouter un canal au circuit (Channel-Bundling)

adjust-time seconds

Incrémente la date sur le routeur en secondes

delete filename pw

Supprime le fichier sur le routeur

hup-timeout #ici-index [value]

Affiche ou compose le HUP-Timeout pour des circuits ISDN (ou RNIS)

removelink ci-index

Enlever le canal supplémentaure

reset-telmond-log-file

Supprime le fichier journal de telmond

reset-imond-log-file

Supprime le fichier journal de imond

receive filename #bytes pw

Transfére d'un fichier au routeur. Imond reconnaît la commande par un ACK (0x06). Après, le fichier est transféré dans des blocs de 1024 Octets qui sont également confirmé par un ACK. En conclusion, imond répond OK.

send filename pw

Si le mot de passe est correct et le fichier est juste, imond répond avec un #octet CORRECT. Puis, imond transfère le fichier dans les blocs de 1024 bytes qui doivent être reconnus par un ACK (0x06). A la fin, imond répond OK.

support pw

Montre le statut/configuration du routeur

sync

Synchronise le Cache des lecteurs montés


Commandes Admin ou Utilisateur


dial

Choix du FAI (Defaut-Route-Circuit)

dialmode [auto|manual|off] régler ces actions dans  Dialmode
disable

Raccroche et place dialmode sur "off"

enable Met dialmode sur "auto''
halt Descend proprement le Routeur
hangup Raccroche
reboot Reboot (redémarre)le Routeur fli4l!
route [ici-index] Met le Routeur par Defaut sur un Circuit X (0=automatique)


C ommandes Utilisateur


channels Nombre de Canaux ISDN disponibles
charge #channel-id

Edite les frais de connexion pour un Canal en ligne

chargetime #channel-id

Temps et frais de connexion pour un canal en ligne

circuit [ici-index] Edite le numéro du Circuit
circuits

Edite le nombre de Defaut-Route-Circuits

cpu Donne la charge du CPU en pourcentage
date Edite Date et Heure
device [ici-index] Circuits périphérique utilisé
driverid #channel-id Edite Driver-Id pour le Canal X
help Edite l'aide
inout #channel-id

Edite la direction (entrante/sortante)

imond-log-file Edite Protocole du fichier imond
ip #channel-id Edite Adresse IP
is-allowed command

Edite, si l'action configurée/est valable, actions possibles: dial|dialmode|route|reboot| imond-log|telmond-log|mgetty-log

is-enabled Edite, si dialmode est sur off (0) ou auto (1)
links [ici-index]

Edite le nom des Canaux en fonction: Canal 0, 1 ou 2, 0 Aucun Channel-Bundling (Canal-Empaqueté) est possible

log-dir imond|telmond|mgetty Donne la direction des fichiers Log
mgetty-log-file Edite le Protocole du fichier mgetty
online-time #channel-id

Edite le temps en ligne, et de connexion en hh:mm:ss

pass [password]

interroge, si le mot de passe est nécessaire on le saisit:
1 Mot de passe Utilisateur est fixé
2 Mot de passe Admin est fixé
4 imond se trouve dans le mode Admin

phone #channel-id Edite le numéro de Tél et le nom du correspondant
pppoe Donne le numéro pour le périphérique pppoe (0 ou 1)
quantity #channel-id Donne l'ensemble des transmissions (en octet)
quit termine la connexion avec imond
rate #channel-id Edite les connexions (entrant/sortant en Octet/sec)
status #channel-id Edite le Statut pour le Canal X
telmond-log-file Edite le protocole telmond
time #channel-id Edite le temps total en ligne, au Format hh:mm:ss
timetable [ici-index] Edite la time-table LC-Routing
uptime Edite le temps d'utilisation du Routeur en secondes
usage #channel-id Edite des réponses de connexions: Fax, Voice, Net, Modem, Raw
version

Edite la version du protocole et la version du Programme


Le port 5000 TCP/IP est accessible uniquement depuis un réseau LAN masqué. Selon la configuration standard du firewall l'accés est bloqué de l'extérieur.

Imond supporte deux modes d'administrations, le Mode Utilisateur et le Mode Admin. On peut installer un Mot de Passe pour ces deux modes au moyen des variables IMOND_PASS et IMOND_ADMIN_PASS. Si le Mot de Passe n'est pas transmis au serveur imond le client imonc a accés uniquement à deux commandes "pass" et "quit" toutes les autres commandes sont rejetées avec une erreur.

Si l'on veut limiter l'accés au serveur imond à un seul PC, la configuration du Firewall doit être changée, malheureusement le changement ne se fait pas dans le fichier standard /config/base.txt, mais doit être faite dans le fichier /etc/rc.d/rc322.masq.

Les commandes

          enable/disable/dialmode dial/hangup route reboot/halt

peuvent être activées ou désactivées dans la variable IMOND_XXX dans (le chapitre "configuration" ).

Avec un ordinateur Unix/Linux (ou un ordinateur Windows dans la fenètre DOS) vous pouvez facilement entrer les commandes aprés la connexion telnet

connexion telnet:

          telnet fli4l 5000     # ou le Nom correspondant au Routeur-fli4l

vous pouvez directement entrer les commandes mentionnées ci-dessus.

Par exemple la commande "help" active l'aide sur l'écran ou "quit" démonte (arrête) le serveur imond.


8.1.1 Mode de Fonctionnement du Moindre-Coût-Routage

imond construit une Time-Table (ou un calendrier) à partir du fichier de configuration /etc/imond.conf (qui est créé au boot avec la variable de configuration ISDN_CIRC_x_TIMES et d'autres config). Il est constitué d'une semaine par intervalle de 1 heure, une semaine = 168 heures = 168 octets. La table se compose de Circuits, dans lesquel sont définis des Défaut-Routes (ou Itinéraire par défaut).

Avec la commandement "timetable" d'imond on peut voir cette table

Exemple de configuration:

Supposons que nous définissions 3 circuits c'est à dire:

         CIRCUIT_1_NAME='Addcom'
         CIRCUIT_2_NAME='Compuserve'
         CIRCUIT_3_NAME='Firma'

Les deux premiers circuits sont réglés avec un Défaut-Route c.à d. que l'itinétaire par défaut est écrit dans la variable ISDN_CIRC_x_ROUTE avec la valeur '0.0.0.0/0'. Le troisième circuit n'utilise pas la variable ISDN_CIRC_x_ROUTE comme Défaut-Route.

Les variables ISDN_CIRC_x_TIMES se présentent de la manière suivante:

        ISDN_CIRC_1_TIMES='Mo-Fr:09-18:0.0388:N Mo-Fr:18-09:0.0248:Y
                      Sa-Su:00-24:0.0248:Y'

        ISDN_CIRC_2_TIMES='Mo-Fr:09-18:0.019:Y Mo-Fr:18-09:0.049:N
                      Sa-Su:09-18:0.019:N Sa-Su:18-09:0.049:N'

        ISDN_CIRC_3_TIMES='Mo-Fr:09-18:0.08:N Mo-Fr:18-09:0.03:N
                      Sa-Su:00-24:0.03:N'

Puis le fichier /etc/imond.conf est créé de cette façon:

        #day  hour  device  defroute  phone        name        charge  ch-int
        Mo-Fr 09-18 ippp0   no        010280192306 Addcom      0.0388   60
        Mo-Fr 18-09 ippp0   yes       010280192306 Addcom      0.0248   60
        Sa-Su 00-24 ippp0   yes       010280192306 Addcom      0.0248   60
        Mo-Fr 09-18 ippp1   yes       019160       Compuserve  0.019   180
        Mo-Fr 18-09 ippp1   no        019160       Compuserve  0.049   180
        Sa-Su 09-18 ippp1   no        019160       Compuserve  0.019   180
        Sa-Su 18-09 ippp1   no        019160       Compuserve  0.049   180
        Mo-Fr 09-18 isdn2   no        0221xxxxxxx  Firma       0.08     90
        Mo-Fr 18-09 isdn2   no        0221xxxxxxx  Firma       0.03     90
        Sa-Su 00-24 isdn2   no        0221xxxxxxx  Firma       0.03     90

imond produit alors Time-Table (ou Plage Horaire) dans la mémoire. voici la table des données sorties avec la commande "timetable" :

         0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
     --------------------------------------------------------------------------
     Su  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3
     Mo  2  2  2  2  2  2  2  2  2  4  4  4  4  4  4  4  4  4  2  2  2  2  2  2
     Tu  2  2  2  2  2  2  2  2  2  4  4  4  4  4  4  4  4  4  2  2  2  2  2  2
     We  2  2  2  2  2  2  2  2  2  4  4  4  4  4  4  4  4  4  2  2  2  2  2  2
     Th  2  2  2  2  2  2  2  2  2  4  4  4  4  4  4  4  4  4  2  2  2  2  2  2
     Fr  2  2  2  2  2  2  2  2  2  4  4  4  4  4  4  4  4  4  2  2  2  2  2  2
     Sa  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3

     No.  Name                   DefRoute  Device  Ch/Min   ChInt
      1   Addcom                   no      ippp0   0.0388     60
      2   Addcom                   yes     ippp0   0.0248     60
      3   Addcom                   yes     ippp0   0.0248     60
      4   Compuserve               yes     ippp1   0.0190    180
      5   Compuserve               no      ippp1   0.0490    180
      6   Compuserve               no      ippp1   0.0190    180
      7   Compuserve               no      ippp1   0.0490    180
      8   Firma                    no      isdn2   0.0800     90
      9   Firma                    no      isdn2   0.0300     90
     10   Firma                    no      isdn2   0.0300     90

Pour le circuit 1 (Addcom) il y a trois éléments définis (1-3), pour le circuit 2 il y a quatre éléments (4-7), et pour le circuit 3 il y a trois éléments (8-10).

les index des circuits activés sont inscris toutes les heures dans la Time-Table respectivement. Ici les index (2.3.4) apparaissent, car les autres ne passent pas par LC-Défaut-Route ISDN_CIRC_x_ROUTE .

S'il y a des zéros dans Time-Table, c'est qu'il y a des absences de données dans la variable ISDN_CIRC_X_TIMES. Si les heures sont indiquées par un zéro il n'y aura aucun Défaut-Route et aucun accés Internet possible!

Au démarrage du programme, imond vérifie le jour de la semaine et l'heure, puis les index dans Time-Table et enfin les Défauts-Routes correspondants. Le Défaut-Route (ou Itinéraire par Défaut) est alors activé par rapport à l'index.

Lors d'un changement de statut sur un canal par exemple, une connexion ou un racrochement de ligne, s'il y a un retard de connexion de plus d'une minute, le processus de démarrage est répété,vérification de l'horaire et du jour, consultation de la table, selection du Circuit-Défaut-route (Circuit de l'Itinétaire par défaut).

Si par exemple, la connexion change le lundi à 18:00 le Défaut-Route est supprimé, les connexions existantes sont arrêtées (désolé...), ensuite imond controle dans la Time-Table si un nouveau Circuit-Défaut-route existe, si oui imond mettera environ 60 secondes pour se reconnecter.Donc la connexion se fera au plus tard à 18:00.59.

Il n'y aura aucun changement pour les circuits qui n'utilisent pas un Defaut-Route. Le contenu ISDN_CIRC_x_TIMES sera uniquement employé pour le calcul des frais téléphoniques. Ceci peut être pertinent, si vous arrêtez temporairement le client imonc et que vous choisissiez manuellement un Circuit-Défaut-route.

Vous pouvez également regarder dans la Time-Table les index (dans l'exemple de 1 à 10) également voir les circuits non activés "Non-LC-Circuits-Défaut-route" .

Commande pour vérifier un index dans le Time-Table:

                   timetable index

Exemple:

                   telnet fli4l 5000
                   timetable 5
                   quit

La sortie des données pararaîtra comme ceci:

         0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
     --------------------------------------------------------------------------
     Su  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
     Mo  5  5  5  5  5  5  5  5  5  0  0  0  0  0  0  0  0  0  5  5  5  5  5  5
     Tu  5  5  5  5  5  5  5  5  5  0  0  0  0  0  0  0  0  0  5  5  5  5  5  5
     We  5  5  5  5  5  5  5  5  5  0  0  0  0  0  0  0  0  0  5  5  5  5  5  5
     Th  5  5  5  5  5  5  5  5  5  0  0  0  0  0  0  0  0  0  5  5  5  5  5  5
     Fr  5  5  5  5  5  5  5  5  5  0  0  0  0  0  0  0  0  0  5  5  5  5  5  5
     Sa  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

     No.  Name             DefRoute   Device   Ch/Min   ChInt
     5   Compuserve          no       ippp1    0.0490    180

Tout est clair jusque là ?

Avec la commande "Route" d'imond vous pouvez commuter "Marche/Arrêt" de LC-Routing, et vous pouvez écrire l'index du Circuit-Défaut-Route (1… N), il se connectera sur le circuit indiqué. Si l'index est 0, le LC-Routing est activé et le circuit sera choisi automatiquement.

8.1.2 Calcul des frais en ligne (on-line)

Le mode de calcul des frais de connexions fonctionnera correctement uniquement si l'unité de temps téléphonique est constante tout au long de la semaine, elle doit est inscrit dans la variable ISDN_CIRC_x_CHARGEINT en seconde. Normalement c'est la régle pour les Fournisseurs accés Internets. Mais si vous utilisez votre société téléphonique par exemple pour un accés Internet avec TéléKom (Allemagne) l'unité de temps change et passe de 90 secondes à 4 minutes aprés 18:00 (information juin 2000)
En France l'unité de temps est toujours constante 60 secondes, on n'a pas ce problème, c'est juste le tarif qui change en heure creuse 0,018€ et en heure pleine 0,033€ (8:00 à 19:00 heure pleine).

       ISDN_CIRC_3_CHARGEINT='90'
       ISDN_CIRC_3_TIMES='Mo-Fr:09-18:0.08:N Mo-Fr:18-09:0.03:N Sa-Su:00-24:0.03:N'

C'est pour cette raison, que notre définition n'est pas tout à fait correcte. le tarif pour la journée est de 3 cent/90 secondes et passe à 12 cent/4 minutes aprés 18:00, les calculs sont faux.C'est pour cette raison qu'il se produit des différences d'affichage par rapport au prix réel.

Il est possible que cela soit peut être corrigé plus tard. En attendant on peut définir dans la variable ISDN_CIRC_x_CHARGEINT 2 Circuits, un pour la journée avec ISDN_CIRC_1_CHARGEINT='90' et l'autre pour la soirée ISDN_CIRC_2_CHARGEINT='240' naturellement vous devez configurer ISDN_CIRC_X_TIMES en conséquence, pour utiliser le Circuit 1 pendant la journée et le Circuit 2 en soirée.

Comme nous l'avons dit plus haut: l'utilisation des connexions avec un fournisseur d'accés Internet, ne pose pas de problème parce que l'unité de temps est toujours constante

Das Fli4l-Team
24 decembre 2006