Partage de connexion entre deux carte réseaux

Bonjour a tous, je rencontre un soucis pour partager ma connexion entre deux carte reseaux.

voila comment je procède :

Contenu du script partageconnexion.sh :

# sysctl -w net.ipv4.ip_forward=1

# iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE

/!\NOTE Sous Debian 9 Strech eth est remplacé par enpxxxxx, vérifier le nom de la carte ENT depuis l’info réseau, et le reporter dans la ligne de commande

Rendre exécutable le script shell:

# chmod 755 /etc/init.d/partageconnexion.sh

Activation du script partageconnexion.sh :

Ouvrir un terminal administrateur :

# update-rc.d /etc/init.d/partageconnexion.sh defaults

Et voici l’erreur qu’il m’affiche a la fin.

Contenu du script partageconnexion.sh :

# sysctl -w net.ipv4.ip_forward=1

# iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE

/!\NOTE Sous Debian 9 Strech eth est remplacé par enpxxxxx, vérifier le nom de la carte ENT depuis l’info réseau, et le reporter dans la ligne de commande

Rendre exécutable le script shell:

# chmod 755 /etc/init.d/partageconnexion.sh

Activation du script partageconnexion.sh :

Ouvrir un terminal administrateur :

Contenu du script partageconnexion.sh :

# sysctl -w net.ipv4.ip_forward=1

# iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE

/!\NOTE Sous Debian 9 Strech eth est remplacé par enpxxxxx, vérifier le nom de la carte ENT depuis l’info réseau, et le reporter dans la ligne de commande

Rendre exécutable le script shell:

# chmod 755 /etc/init.d/partageconnexion.sh

Activation du script partageconnexion.sh :

Ouvrir un terminal administrateur :

root@srv-video:~# update-rc.d /etc/init.d/partageconnexion.sh defaults
update-rc.d: error: unable to read /etc/init.d//etc/init.d/partageconnexion.sh

vous avez une idée ?

Merci

Rien à voir avec le partage de connexion, c’est un problème de mise en place de script d’initialisation. Pour la syntaxe, lire

man update-rc.d

(indice : il faut indiquer le nom du script, pas le chemin complet)

D’autre part ton script n’a pas d’en-tête LSB et ne vérifie pas s’il est appelé pour le démarrage ou l’arrêt.
Pour finir, avec systemd on ne fait plus comme ça, on peut créer une unité systemd.

1 J'aime

Bonjour et bienvenue,

En fait, ce que je te conseille pour mettre ça en place, c’est de procéder comme suit.

Pour la ligne sysctl -w net.ipv4.ip_forward=1, le mieux reste de changer le paramètre en question dans le fichier /etc/sysctl.conf. Si tu as toujours le fichier d’origine, il devrait se trouver commenté, il faut juste le décommenter et c’est bon.

Pour la ligne iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE, je te conseille de le déclancher avec le service prévu pour cet usage, à savoir netfilter-persistent qui est disponible dans le paquet iptables-persistent. Après, tu mets cette règle dans le fichier /etc/iptables/rules.v4. Tu peux aussi lancer la commande avant d’installer le paquet et répondre oui quand le configuration te demande s’il doit créer la configuration à partir des règles déjà définies.

Deb-izous.

Tu conseilles ou tu ne conseilles pas ?

Ou bien dans un fichier /etc/sysctl.d/ip_forward.conf (par exemple) pour ne pas modifier le fichier installé par la distribution (qui pourra ainsi être mis à jour sans question).

1 J'aime

Pas du tout, dpkg détecte que le fichier a été modifié et pose la question avant de le remplacer à la faveur d’une mise à jour.
Celà dit, tu n’as pas tort, c’est mieux d’utiliser un fichier ajouté dans le dossier /etc/sysctl.d/.

C’est pour cela que j’ai suggéré de ne pas le modifier manuellement. Ainsi, il n’y aura pas de question lors de la mise à jour.