Comment traduire ces commandes pour rc.conf?

Applications, problèmes de configuration réseau
Avatar de l’utilisateur
Logicien
Daikyu
Messages : 60
Inscription : mer. 16 janv. 2008, 20:23
Localisation : Montréal Québec

Comment traduire ces commandes pour rc.conf?

Message par Logicien »

Bonjour,
présentement j'exécute ces commandes dans /etc/rc.local pour activer mon réseau parce-que je ne sais pas comment faire dans /etc/rc.conf particulièrement pour le pont br0 et la carte réseau virtuelle tap0:

ifconfig eth0 0.0.0.0 up
chmod 666 /dev/net/tun
tunctl -g users -t tap0 -u pot > /dev/null
ifconfig tap0 0.0.0.0 up
brctl addbr br0
ifconfig br0 192.168.7.2 up
brctl addif br0 eth0 tap0
route add default gw 192.168.7.1

Comment ces lignes doivent se présenter dans /etc/rc.conf?
Paul
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

salut, ca doit ressembler à ca:

Code : Tout sélectionner

eth0="eth0 0.0.0.0 up"
tap0="tap0 0.0.0.0 up"
br0="br0 192.168.7.2 up"
bridge_br0=(eth0 tap0)
BRIDGE_INTERFACES=(br0)
INTERFACES=(eth0 br0)
gateway="default gw 192.168.7.1"
ROUTES=(gateway)
en n'oubliant pas de rajouter les modules

Code : Tout sélectionner

tun bridge
Dernière modification par tuxce le lun. 21 janv. 2008, 11:17, modifié 1 fois.
Avatar de l’utilisateur
Logicien
Daikyu
Messages : 60
Inscription : mer. 16 janv. 2008, 20:23
Localisation : Montréal Québec

Message par Logicien »

Je dirais même que c'est ça. :D
Merci tuxce :!:
Paul
Avatar de l’utilisateur
Logicien
Daikyu
Messages : 60
Inscription : mer. 16 janv. 2008, 20:23
Localisation : Montréal Québec

Message par Logicien »

En pratique, je n'arrive pas à créer l'interface tap0 et encore moins lui assigner un groupe et un utilisateur via /etc/rc.conf. Je peux la créer via un script Bash que je peux faire exécuter depuis /etc/rc.conf en lui ajoutant une ligne contenant le chemin complet vers le script. Ce n'est pas standard. À partir de là,

/etc/rc.d/network start

peut activer l'interface tap0, mais impossible de l'ajouter au pont qui lui n'a que ce problème. Présentement, mon réseau s'active comme ceci dans /etc/rc.conf:

eth0="eth0 up"
br0="br0 192.168.7.2 netmask 255.255.255.0 broadcast 192.168.7.255"
lo="lo up"
bridge_br0=(eth0)
BRIDGE_INTERFACES=(br0)
INTERFACES=(br0 eth0 lo)
gateway="default gw 192.168.7.1"
ROUTES=(gateway)

Je préfère à ce moment-ci créer et activer tap0 via /etc/rc.local même si je peux le faire tel qu'expliquer plus haut. Je suis toutefois forcé d'ajouter tap0 au pont br0 après activation du réseau via /etc/rc.local:

chmod 666 /dev/net/tun
tunctl -g users -t tap0 -u pot > /dev/null
ifconfig tap0 up
brctl addif br0 tap0

J'ai fait une recherche sur Google, mais je n'ai pas trouvé comment activer tous les éléments de mon réseau par /etc/rc.conf. Je viens d'installer rcman. Je vais voir ce que cet utilitaire peut faire. Comme mon réseau fonctionne sans problème, c'est pour mieux comprendre le fonctionnement du réseau sous ArchLinux.
Paul
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

une petite règle dans udev devrait faire l'affaire:
/etc/udev/rules.d/udev.rules
remplace:

Code : Tout sélectionner

KERNEL=="tun",		NAME="net/%k", OPTIONS+="ignore_remove"
par

Code : Tout sélectionner

 KERNEL=="tun", NAME="net/%k", OPTIONS+="ignore_remove" MODE="0666" RUN+="/usr/bin/tunctl -u pot"
ou alors utiliser un groupe tel que network pour donner les autorisations:

Code : Tout sélectionner

KERNEL=="tun",		NAME="net/%k", OPTIONS+="ignore_remove" GROUP="network" RUN+="/usr/bin/tunctl -g network"
bien sur, il faudra en faire partie :)

Code : Tout sélectionner

gpasswd -a pot network
(faut se déconnecter ou utiliser newgrp pour tester)
Avatar de l’utilisateur
Logicien
Daikyu
Messages : 60
Inscription : mer. 16 janv. 2008, 20:23
Localisation : Montréal Québec

Message par Logicien »

Merci tuxce. Cela pourrait régler le problème de la création de l'interface tap0 avec l'utilisateur pot en plus d'ajuster les permissions à 666 pour /dev/net/tun. Pour dire vrai, moins je touche aux fichiers systèmes, moins je suis obligé d'intervenir pour maintenir mes changements lors des mise-à-jours, même si Pacman n'écrase pas les changements avec un nouveau fichier de configuration. Reste encore à trouver un moyen autre d'ajouter tap0 à br0. Il ne semble pas y avoir plus simple que de passer par /etc/rc.local.
Paul
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

une fois la règle ajoutée à udev, tap0 est crée avant le lancement du daemon network (avec le chargement de tun), tu peux donc utiliser /etc/rc.conf (plus précisement /etc/rc.conf + /etc/conf.d/bridges, mais tu peux utiliser que le 1er) pour configurer tap0 et la rajouter à br0:

Code : Tout sélectionner

eth0="eth0 0.0.0.0 up"
tap0="tap0 0.0.0.0 up"
br0="br0 192.168.7.2 up"
bridge_br0=(eth0 tap0)
BRIDGE_INTERFACES=(br0)
INTERFACES=(eth0 tap0 br0)
gateway="default gw 192.168.7.1"
ROUTES=(gateway) 
en fait, le seul changement sur un fichier potentiellement écrasable sera celui des règles udev, mais tu peux te créer ton propre fichier.
Avatar de l’utilisateur
Logicien
Daikyu
Messages : 60
Inscription : mer. 16 janv. 2008, 20:23
Localisation : Montréal Québec

Message par Logicien »

Je vais essayer cette méthode quand la bidouille me chatouillera de nouveau.

:D
Paul
Répondre