[Réseau+fstab] Accéder à un répertoire distant.(résolu)

Applications, problèmes de configuration réseau
Répondre
Francky
archer
Messages : 116
Inscription : mer. 11 mars 2009, 11:03

[Réseau+fstab] Accéder à un répertoire distant.(résolu)

Message par Francky »

Bonjour,

J'ai un souci pour me connecter à un répertoire sur mon NAS.
J'ai fait un montage CIFS dans le fstab qui fonctionne même si j'ai l'erreur "mount: le point de montage 0 n'existe pas"
quand je fais mount -a.

Le soucis au démarrage ce montage ne se fait pas et j'ai droit à l'erreur "network is unreachable".

Est ce dans les services de rc.conf qu'il y a des choses dans le désordre?
Comment résoudre ce soucis?
Merci pour votre aide.
Dernière modification par Francky le dim. 25 oct. 2009, 12:35, modifié 1 fois.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [Réseau+fstab] Accéder à un répertoire distant.

Message par tuxce »

salut, tu parles de fstab, de réseau, de rc.conf, tu ne montres ni le fstab, ni le rc.conf et encore moins comment tu démarres le réseau, faut le faire quand même!

Attends, essai de réponse:tout est en ordre dans le système, c'est un problème matériel, tu dois changer d'ordi, voire même de cable réseau (au cas où ça serait du wifi, :s/cable réseau/point d'accès/)
Francky
archer
Messages : 116
Inscription : mer. 11 mars 2009, 11:03

Re: [Réseau+fstab] Accéder à un répertoire distant.

Message par Francky »

Désolé pour ce message. En effet il manque le plus important.
Pour moi il était très tard dns la nuit et ce matin je me rends compte que je n'avais plus les yeux en face des trous.

Pour commencer voici donc mon fstab:

Code : Tout sélectionner

/dev/sdb1 swap swap defaults 0 0
/dev/sdb2 / reiserfs defaults 0 1
/dev/sdb3 /home ext4 defaults 0 1

/dev/sda1 /media/SYSTEME ntfs-3g defaults,locale=fr_FR.utf8 0 0
/dev/sda5 /media/DONNEES ntfs-3g defaults,locale=fr_FR.utf8 0 0
//192.168.0.20/Volume_1 /media/dns-323/ cifs uid=francky,gid=1000,file_mode=0640,dir_mode=0750,iocharset=utf8,pass=monpass 0 0
ainsi que mon rc.conf

Code : Tout sélectionner

DAEMONS=(syslog-ng @network netfs hal networkmanager @alsa @acpid @crond gdm)
J'aimerais que cela fonctionne avec le cable réseau comme en wifi. Je n'ai testé qu'avec le câble pour le moment

Merci pour votre aide
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [Réseau+fstab] Accéder à un répertoire distant.

Message par tuxce »

network et networkmanger, ça fait doublon...
avec le 2ème, tu ne peux pas le monter au démarrage, networkmanager ne se connecte qu'une fois la session ouverte (à vérifier, c'était le cas, ça a peut être été modifié).
le '@' démarre en arrière plan, donc n'attend pas la fin.
Francky
archer
Messages : 116
Inscription : mer. 11 mars 2009, 11:03

Re: [Réseau+fstab] Accéder à un répertoire distant.

Message par Francky »

En effet j'avais mis un @ à network car sinon en mode wifi, il reste pendant un moment à essayer de trouver le réseau.
Donc cela marche avec le câble mais pas le wifi car j'ai networkmanager.
Dans le wiki je viens de voir que pour wicd le wifi était activé beaucoup plus tôt.
Je vais donc l'essayer.

Du coup dans mes démons si je met wicd est ce que je peux enlever network afin de ne pas faire doublon?
Merci de ton aide.

Ps: bon j'ai eu ma réponse dans le post concernant wicd de cassyb.
DShad
newbie
Messages : 5
Inscription : jeu. 03 déc. 2009, 15:47

Re: [Réseau+fstab] Accéder à un répertoire distant.(résolu)

Message par DShad »

As-tu réussi à monter ton NAS?

J'ai EXACTEMENT le même problème que toi. Ca m'indique NETWORK UNREACHABLE, sauf que ca fonctionne avec un:

sudo mount -a

Si tu trouves la solution, reviens-moi stp.

P.S. En passant, j'ai enlevé NETWORK et NETWORKMANAGER pour y laisser que WICD et ca fonctionne bien.
tuxshake
newbie
Messages : 1
Inscription : dim. 31 janv. 2010, 13:36

Re: [Réseau+fstab] Accéder à un répertoire distant.(résolu)

Message par tuxshake »

J'ai eu un problème similaire sur une autre distribution,
On dirait que fstab essaie de monter le partage trop vite, alors que la connexion réseau n'est pas encore établie.

Comme c'était un server, l'astuce consistait a rajouter "mount -a" dans /etc/rc.local
Pour obliger le système à remonter fstab automatiquement à la fin de la séquence de démarrage.
Avatar de l’utilisateur
Tetsumaki
archer
Messages : 141
Inscription : jeu. 06 mai 2010, 05:44

Re: [Réseau+fstab] Accéder à un répertoire distant.(résolu)

Message par Tetsumaki »

Salut, j'avais le même soucis et le problème vient du fait que le daemon network se lance trop vite alors qu'en réalité l'interface réseau n'est pas bien monté (surtout le cas avec serveur dhcp).

J'ai trouvé 2 solutions :
Solution 1 : La plus dégueulasse qui consiste a crée un daemon bootsleep qui va faire un sleep entre 2 daemons dans rc.conf
Solution 2 : Modifier le fichier /etc/rc.d/network afin d'ajouter un sleep de 5 secondes (ou plus, ou moins...), en cas d'update du paquet initscripts il faut penser à refaire la modification.

Solution 1 déconseillé :
Exemple avant :

Code : Tout sélectionner

DAEMONS=(syslog-ng dbus network netfs crond alsa)
Exemple après :

Code : Tout sélectionner

DAEMONS=(syslog-ng dbus network bootsleep netfs crond alsa)
Le fichier /etc/rc.d/bootsleep
Pensez à le rendre exécutable avec chmod +x bootsleep

Code : Tout sélectionner

#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

SLEEPTIME="5"
NAME="BootSleep"
DESC="$NAME : Wait $SLEEPTIME secondes"
DAEMON_NAME="bootsleep"

case "$1" in
	start)
		stat_busy "Starting $DESC"
		sleep $SLEEPTIME
		stat_done
		add_daemon $DAEMON_NAME
		;;
	stop)
		stat_busy "Stopping $DESC"
		sleep $SLEEPTIME
		stat_done
		rm_daemon $DAEMON_NAME
		;;
	restart)
		$0 stop
		$0 start
		;;
	*)
		echo "usage: $0 {start|stop|restart}"
esac
Solution 2 conseillé :
Modifier le fichier /etc/rc.d/network afin d'ajouter un sleep 5 (ou plus, ou moins...) à la fin de l’exécution du start (entre add_daemon network et stat_done).
En cas d'update du paquet initscripts il faut penser à refaire la modification.

Avant :

Code : Tout sélectionner

	start)
		# deprecation check
		need_legacy && deprecated
		if ! ck_daemon network; then
			echo "Network is already running.  Try 'network restart'"
			exit
		fi
		stat_busy "Starting Network"
		error=0
		if need_legacy; then
			# bring up bridge interfaces
			bridge_up
			# bring up ethernet interfaces
			for ifline in ${INTERFACES[@]}; do
				if [[ $ifline = ${ifline#!} ]]; then
					ifup $ifline || error=1
				fi
			done
			# bring up bond interfaces
			bond_up
			# bring up routes
			for rtline in "${ROUTES[@]}"; do
				if [ "$rtline" = "${rtline#!}" ]; then
					rtup $rtline || error=1
				fi
			done
		else
			network_up
		fi
		if (( ! error )); then
			add_daemon network
			stat_done
		else
			stat_fail
		fi
		;;
Après :

Code : Tout sélectionner

	start)
		# deprecation check
		need_legacy && deprecated
		if ! ck_daemon network; then
			echo "Network is already running.  Try 'network restart'"
			exit
		fi
		stat_busy "Starting Network"
		error=0
		if need_legacy; then
			# bring up bridge interfaces
			bridge_up
			# bring up ethernet interfaces
			for ifline in ${INTERFACES[@]}; do
				if [[ $ifline = ${ifline#!} ]]; then
					ifup $ifline || error=1
				fi
			done
			# bring up bond interfaces
			bond_up
			# bring up routes
			for rtline in "${ROUTES[@]}"; do
				if [ "$rtline" = "${rtline#!}" ]; then
					rtup $rtline || error=1
				fi
			done
		else
			network_up
		fi
		if (( ! error )); then
			add_daemon network
			sleep 5
			stat_done
		else
			stat_fail
		fi
		;;
En espérant que ça puisse servir aux passants :)
Bye.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17594
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Réseau+fstab] Accéder à un répertoire distant.(résolu)

Message par benjarobin »

@Tetsumaki Solution 3 (vraiment propre), ajouter un un script appelé par dhcpcd lorsque il à pu trouver une IPv4
Sinon l'origine de ton problème n'est pas là où tu le penses ! dhcpcd obtient une adresse IPv6 et donc "fork to background" avant d'avoir pu valider que l'adresse IPv4 est OK, et ce delai est d'environ 4-5 secondes
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Tetsumaki
archer
Messages : 141
Inscription : jeu. 06 mai 2010, 05:44

Re: [Réseau+fstab] Accéder à un répertoire distant.(résolu)

Message par Tetsumaki »

@benjarobin : quel script, peux-tu décrire la procédure ? je pense qu'il s'agit du fichier /etc/dhcpcd.conf mais que faut t'il ajouter ?
Merci d'avance :)
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17594
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Réseau+fstab] Accéder à un répertoire distant.(résolu)

Message par benjarobin »

Regarde le man et ceci /usr/lib/dhcpcd/dhcpcd-run-hooks
Pour une procédure complète, je pense même faire un paquet, laisse moi le Week-end :-)
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17594
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Réseau+fstab] Accéder à un répertoire distant.(résolu)

Message par benjarobin »

Voici le code :D Il suffit de créer ce fichier cat /usr/lib/dhcpcd/dhcpcd-hooks/90-run-daemon

Code : Tout sélectionner

start_network_daemons()
{
        . /etc/rc.conf
        . /etc/rc.d/functions

        # Start daemons
        for daemon in "${NETWORK_DAEMONS[@]}"; do
                case ${daemon:0:1} in
                        '!') continue;;     # Skip this daemon.
                        '@') ck_daemon "${daemon#@}" && start_daemon_bkgd "${daemon#@}" &>>/var/log/network_daemons.log ;;
                        *)   ck_daemon "$daemon"     && start_daemon      "$daemon"     &>>/var/log/network_daemons.log ;;
                esac
        done
}

if $if_up ; then
        case "$reason" in
                BOUND|INFORM|REBIND|REBOOT|RENEW|STATIC) ( start_network_daemons & ) &>/dev/null
        esac
fi
Puis il te suffit de rajouter à la fin de ton rc.conf ceci

Code : Tout sélectionner

NETWORK_DAEMONS=(netfs)
Il faut par contre bien penser à enlever netfs de DAEMONS
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Répondre