Script de Démarrage

Bonjour à tous,

Je souhaiterait créer un script de démarrage qui devra faire en sorte que certains paramètres d’OPENVPN soit mis en place.

LEs 2 paramètres que je souhaite faire activer au démarrage sont :

1 = echo 1 > /proc/sys/net/ipv4/ip_forward

2 = iptables -t nat -A POSTROUTING -s 10.16.16.0/24 -o eth0 -j MASQUERADE

Merci d’avance pour votre aide.

Titi_rugby

  1. Crée un script avec tes 2 commandes et enregistre-le dans /etc/init.d/ton_script. Si tu veux pouvoir être sûr que ton script est bien lancé au boot, ajoute-y une ligne genre “echo Starting OPENVPN script”.

  2. chmod +x /etc/init.d/ton_script

  3. update-rc.d ton_script defaults 19 21

  4. Reboot

Et ça devrait le faire.

Alors, pour l’IP forwarding tu peux éditer le fichier /etc/sysctl.conf.
Il y a déjà normalement une ligne " #net.ipv4.ip_forward=1". Il suffit de la décommenter ou, si elle n’y est pas, de l’ajouter. Cela rendra actif l’IP forwarding à chaque démarrage.

Ensuite pour l’iptables, je te conseil d’ajouter cette ligne dans ton fichier /etc/rc.local. Cela t’évitera de créer un script rien que pour cette ligne.
(le script /etc/rc.local est lu au démarrage)

edit: Pas vu que seb-ksl avait déjà répondu ^^’

Y a pas de mal, ta réponse est meilleure :slightly_smiling:

Bonjour à tous et merci pour vos réponses.

Par contre, dans le fichier rc.local, où dois-je mettre la ligne iptable au dessus ou au dessous de la ligne

!/bin/sh -e

rc.local

This script is executed at the end of each multiuser runlevel.

Make sure that the script will “exit 0” on success or any other

value on error.

In order to enable or disable this script just change the execution

bits.

By default this script does nothing.

exit 0

Merci d’avance pour vos réponses.
titi_rugby

Au dessus de la ligne « exit 0 ».

#!/bin/sh, le # est important (on dit she-bang, si il y a pas de dièze ça marche plus)

Bonjour à tous,

J’ai bien la ligne au dessus du Exit 0 et j’ai bien mis le she-bang et malgré cela, ça ne fonctionne pas.

Help!!!

Merci d’avance

Titi_rugby

Ta ligne doit se trouver entre le le " #!/bin/sh " et le " exit 0 ".

Peux-tu nous montrer le contenu de ton rc.local ?

Salut,

Je dis peut être une bêtise, ou j’ai mal compris, m’en veuillez pas mais je crois que si tu install ton script avec la commande

Tu va “exécuter” ton script au démarrage (impec c’est ce que tu veux) mais aussi lorsqu’il va s’arrêter. (Voir les niveaux d’exécution linkés par ton “defaults”)

Lorsque tu utilise update-rc, à priori il faut que ton script prenne en charge l’argument N°1 ($1) "/etc/init.d/script " Qui pourra être au moins “start” (init 234) ou “stop” (init 156) avec ce genre de squelette a mettre dans /etc/init.d

[code]#!/bin/sh

monscript

description: script de démarrage de …

case “$1” in
start)
# Ici on demande “start” (init 2345)
# Tu indique donc ici ce que doit faire ton script au démarrage
exit 0
;;

stop)
# Ici on demande “stop” (init 16)
# Tu indique donc ici ce que doit faire ton script a l’arrêt
exit 0
;;
*)
# Ici on ne connait pas l’argument, on affiche l’usage de ce script
echo "Usage: $0 {start|stop}"
exit 1
;;
esac[/code]

Du coup tu peux tester ton script en root avec “/etc/init.d/monscript start” pour le démarrer ou “/etc/init.d/monscript stop” pour l’arrêter, comme si c’etait au boot ou a l’arrêt de la machine.

L’option “restart” est aussi très commune dans ce genre de scriptn tu rajoute un truc du genre

... restart) # Ici on demande "restart" # (Méthode simplicime) $0 start $0 stop exit 0 ;; ...

Voila, en espérant ne pas t’embrouiller

Molux

Bonjour à tous et merci pour vos réponses.

Ci après mon rc.local.

#!/bin/sh -e

rc.local

This script is executed at the end of each multiuser runlevel.

Make sure that the script will “exit 0” on success or any other

value on error.

In order to enable or disable this script just change the execution

bits.

By default this script does nothing.

iptables -t nat -A POSTROUTING -s 10.16.16.0/24 -o eth0 -j MASQUERADE

exit 0

Voili voilou

Titi_rugby

J’ai oublier de préciser mais vous vous en êtes peut-être déjà rendu compte, je suis une quiche en Script et débutant du Debian.

Titi_rugby

Bonjour à tous, j’ai réussit à pondre ce script mais apparemment ça ne fonctionne pas très bien. Je n’arrive pas à faire des ping de mes machines depuis internet quand j’ai monté mon OpenVpn.

L’ip Forward est bien à 1 mais par contre c’est dans IPTABLES que je n’arrive pas à voir si c’est OK.

POurriez-vous le regarder et me dire si vous voyez une connerie???

Merci d’avance.

Titi_rugby

Script :
#!/bin/bash

Mise en place de la translation d’adresse (NAT)

start()

{

    echo "Activating NAT protocol... "

    echo 1 > /proc/sys/net/ipv4/ip_forward

    iptables -t nat -A POSTROUTING -s 10.16.16.0/24 -o eth0 -j MASQUERADE



    iptables -P FORWARD DROP

    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    echo "done."

}

stop()

{

    echo "Deactivating NAT protocol... "

    echo 0 > /proc/sys/net/ipv4/ip_forward

    echo "done."

}

case “$1” in

start)

    start

    ;;

stop)

    stop

    ;;

restart)

    stop && start

    ;;

*)

    echo "Usage: $0 {start|stop|restart}"

    exit 1

esac

exit 0

Merci à tous pour votre aide, j’ai trouver d’ou venait mon problème. J’ai supprimé les 2 lignes suivantes. Plus de soucis.

ptables -P FORWARD DROP

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Merci à tous.

Titi_rugby