Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 10 sur 17

Discussion: Aux experts unix : rien a voir avec x-plane : commande dans script

      
   
  1. #1
    Utilisateur enregistré Avatar de djetdail
    Date d'inscription
    décembre 2007
    Messages
    4 653
    Total Downloaded
    0

    Aux experts unix : rien a voir avec x-plane : commande dans script

    Bonjour;

    Pour créer une redirection IP et port d'un serveur (VPS) vers ma box je veut écrire un script qui récupère l'ip de la box et qui cré la règle de redirection.

    Voici mon essai, j'ai un problème avec l'intégration de la variable $HOST_IP_H dans la ligne iptables

    le script :

    Code:
    #/bin/sh                                                                                                                                                                                                                                                                                                                                          
    HOST_IP_H= dig +short adresse no-ip de la box                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    echo $HOST_IP_H                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
    echo 1 > /proc/sys/net/ipv4/ip_forward                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5001 -j DNAT --to-destination ${HOST_IP_H}:5001                                                                                                                                                                                                                                                                                                                                                                                
    iptables -A FORWARD -i eth0 -p tcp --dport 5001 -j ACCEPT
    merci

    Hervé
    Des liens, des tutos, du bricolage

    Vols en cockpit partagé ... Vol_en_duO

    http://degooglisons-internet.org/


    CHATONS, le collectif anti-GAFAM


    X -plane 11 ET 10 // Win 10 Pro // MSI Z270 // I5 7600K // 16DDR4 3000Mhz // GTX 1080 8Go // SSHD 2 To FireCuda // SSD 1 To // Hotas Warthog // Palonnier + le bloc 3 manettes Saitek // TrackIr 5 // FS Global Weather //Carte BU0836X // SmartCopilot

    Navigraph, Vivaldi, Plan G, Efass ....// Win 10 Pro// I7 3770k 16Go // GTX760 4Go // 1 ecrans 22"


  2. #2
    Utilisateur enregistré
    Date d'inscription
    février 2016
    Localisation
    LFLP
    Âge
    74
    Messages
    317
    Total Downloaded
    0
    Citation Envoyé par djetdail Voir le message
    Code:
    #/bin/sh                                                                                                                                                                                                                                                                                                                                          
    HOST_IP_H= dig +short adresse no-ip de la box                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    echo $HOST_IP_H                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
    echo 1 > /proc/sys/net/ipv4/ip_forward                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5001 -j DNAT --to-destination ${HOST_IP_H}:5001                                                                                                                                                                                                                                                                                                                                                                                
    iptables -A FORWARD -i eth0 -p tcp --dport 5001 -j ACCEPT
    Bonjour,

    première chose dans la ligne d'assignation que signifie "dig + short adresse no_ip box", je crois comprendre que tu veux affecter le numéro d'IP de ta box à ta variable. Correct?
    sinon le shell ne tolère aucun espace autour du signe ègal (HOST_IP_H=suite).
    Tu pourrais éviter la variable locale HOST_IP_H en mettant directement en dur l'adresse IP dans la ligne "iptables......... PREROUTING ...... --to-destination 192.168.x.x:5001 ( avec les x qui vont bien.)
    Enfin pour activer ip_forward (echo 1 > .........) il faut que la commande soit exécutée en mode superuser. Par défault il est à 0, tu vérifies par " cat /proc/sys/net/ipv4/ip-forward" qui doit retourner 1 si la commande est bien passée.
    Attention cette méthode est temporaire si tu reboots par défault ip-forward sera de nouveau à 0. pour le faire en dur il faut passer par sysctl.
    J'espère que cela t'aidera.

    Daniel
    I5 6600K 32Gb - SSD 950Pro 256 Gb - SSHD 1Tb - HDD 3Tb -Asus Strix 1070 (Driver 384.90)- ThrustMaster T-Flight Hotas
    Ubuntu 16.04 LTS 64bits
    X-Plane 10.51 11.05r2 11.10b5 Avions : A320 neo JAR, A350XWB FF, Cessna172 airfoillabs, B737-800X, 737-xxx EADT, MS893A_Rallye

    Dropbox : https://www.dropbox.com/sh/naqxguj6l...ga9943VGa?dl=0

  3. #3
    Utilisateur enregistré Avatar de djetdail
    Date d'inscription
    décembre 2007
    Messages
    4 653
    Total Downloaded
    0
    Citation Envoyé par papet30 Voir le message
    Bonjour,

    première chose dans la ligne d'assignation que signifie "dig + short adresse no_ip box", je crois comprendre que tu veux affecter le numéro d'IP de ta box à ta variable. Correct?
    oui, mais l'adresse IP dynamique qui malheureusement change :-(

    sinon le shell ne tolère aucun espace autour du signe ègal (HOST_IP_H=suite).
    c'est noté

    Tu pourrais éviter la variable locale HOST_IP_H en mettant directement en dur l'adresse IP dans la ligne "iptables......... PREROUTING ...... --to-destination 192.168.x.x:5001 ( avec les x qui vont bien.)
    Et non justement, ce script doit tourner sur un petit VPS (IP fixe), je doit donc :
    - entrer dans une variable la nouvelle adresse IP dynamique de la box
    - faire créer par le script une nouvelle redirection avec la nouvelle IP dynamique contenue dans la variable.



    Enfin pour activer ip_forward (echo 1 > .........) il faut que la commande soit exécutée en mode superuser. Par défault il est à 0, tu vérifies par " cat /proc/sys/net/ipv4/ip-forward" qui doit retourner 1 si la commande est bien passée.
    ca c'est ok

    Attention cette méthode est temporaire si tu reboots par défault ip-forward sera de nouveau à 0. pour le faire en dur il faut passer par sysctl.
    Je compte faire réaliser ce script régulièrement (crontab)

    J'espère que cela t'aidera.

    Daniel
    Oui, cela me fait progresser mais ma variable (qui s'appelle maintenant $host_h ) n'est toujours pas reconnue par la commande iptables :-(

    merci

    Hervé
    Des liens, des tutos, du bricolage

    Vols en cockpit partagé ... Vol_en_duO

    http://degooglisons-internet.org/


    CHATONS, le collectif anti-GAFAM


    X -plane 11 ET 10 // Win 10 Pro // MSI Z270 // I5 7600K // 16DDR4 3000Mhz // GTX 1080 8Go // SSHD 2 To FireCuda // SSD 1 To // Hotas Warthog // Palonnier + le bloc 3 manettes Saitek // TrackIr 5 // FS Global Weather //Carte BU0836X // SmartCopilot

    Navigraph, Vivaldi, Plan G, Efass ....// Win 10 Pro// I7 3770k 16Go // GTX760 4Go // 1 ecrans 22"


  4. #4
    Utilisateur enregistré
    Date d'inscription
    février 2016
    Localisation
    LFLP
    Âge
    74
    Messages
    317
    Total Downloaded
    0
    Re,
    sans être insdiscret ton modem box c'est Orange, SFR, Bouygues...?.En complèment tu as bien vérifié que tu as une adresse dynamique parceque chez SFR pa rexemple l'adresse est dynamique en ADSL mais fixe en fibre.

    Daniel
    I5 6600K 32Gb - SSD 950Pro 256 Gb - SSHD 1Tb - HDD 3Tb -Asus Strix 1070 (Driver 384.90)- ThrustMaster T-Flight Hotas
    Ubuntu 16.04 LTS 64bits
    X-Plane 10.51 11.05r2 11.10b5 Avions : A320 neo JAR, A350XWB FF, Cessna172 airfoillabs, B737-800X, 737-xxx EADT, MS893A_Rallye

    Dropbox : https://www.dropbox.com/sh/naqxguj6l...ga9943VGa?dl=0

  5. #5
    Utilisateur enregistré
    Date d'inscription
    octobre 2014
    Localisation
    EBSP
    Âge
    49
    Messages
    782
    Total Downloaded
    0
    Tu as oublié les quotes inverses autour de ta commande (AltGr-7 sur clavier français), du coup ta variable n'est pas correctement renseignée:
    Code:
    MAISON=`dig +short adresse no-ip de la box`
    Par ailleurs et sans pour autant être sûr de moi à 100%, il me semble quand même que l'option --to-destination ne supporte qu'une IP, pas un combo IP:port, cela donnerait donc:
    Code:
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5001 -j DNAT --to-destination $MAISON
    Je ne suis pas sûr que les autres règles soient nécessaires non plus.

    Plutôt que de lancer ça via cron, il vaudrait mieux un script lancé au démarrage ou par l'init avec une boucle infinie (et un sleep dedans). Ça te permettrait facilement de vérifier via dig si tu as une nouvelle adresse et ne refaire les iptables que quand cela se produit.

    Pour finir, +1 avec Daniel pour coller le forwarding dans sysctl une fois pour toutes.
    Gnome Ubuntu 16.04 LTS 'Xenial Xerus'
    i7-6700K @ 4.4GHz - 64GB DDR4 - Palit GTX1080 Gamerock 8GB
    Philips BDM4065 40" 4K + Asus VW266H 26"

  6. #6
    Utilisateur enregistré
    Date d'inscription
    février 2016
    Localisation
    LFLP
    Âge
    74
    Messages
    317
    Total Downloaded
    0
    Citation Envoyé par yoyoz Voir le message
    Par ailleurs et sans pour autant être sûr de moi à 100%, il me semble quand même que l'option --to-destination ne supporte qu'une IP, pas un combo IP:port.
    Bonsoir yoyoz
    uniquement pour info le combo "ip:port" est valide dans iptables, on peut même donner une plage de ports sous la forme "--to-destination xxx.xxx.x.x:80-100" par exemple.

    Bon vols.
    I5 6600K 32Gb - SSD 950Pro 256 Gb - SSHD 1Tb - HDD 3Tb -Asus Strix 1070 (Driver 384.90)- ThrustMaster T-Flight Hotas
    Ubuntu 16.04 LTS 64bits
    X-Plane 10.51 11.05r2 11.10b5 Avions : A320 neo JAR, A350XWB FF, Cessna172 airfoillabs, B737-800X, 737-xxx EADT, MS893A_Rallye

    Dropbox : https://www.dropbox.com/sh/naqxguj6l...ga9943VGa?dl=0

  7. #7
    Utilisateur enregistré
    Date d'inscription
    octobre 2014
    Localisation
    EBSP
    Âge
    49
    Messages
    782
    Total Downloaded
    0
    J'aurai aller dû lire la doc avant mais pour celle des iptables j'ai besoin d'aspirine à chaque fois ;-). J'espère que le coup des quotes suffira à résoudre son problème...

  8. #8
    Utilisateur enregistré
    Date d'inscription
    février 2016
    Localisation
    LFLP
    Âge
    74
    Messages
    317
    Total Downloaded
    0
    Citation Envoyé par yoyoz Voir le message
    J'aurai aller dû lire la doc avant mais pour celle des iptables j'ai besoin d'aspirine à chaque fois ;-). J'espère que le coup des quotes suffira à résoudre son problème...
    Re,
    ( humour ON) si tu veux j'ai un "iptables-tutorial" de 200 pages en pdf...!! (perso j'ai pas lu....).
    Oui les quotes inverses ca va marcher, mais je ne sais toujours pas comment Hervé récupère automatiquement l'IP de sa box, sinon en se connectant dessus. parce que, c'est sûr, la commande `dig + short adresse et le N° d'IP` va renvoyer l'IP.
    De toute façon il faut être certain d'avoir une adresse dynamique pour la box.
    I5 6600K 32Gb - SSD 950Pro 256 Gb - SSHD 1Tb - HDD 3Tb -Asus Strix 1070 (Driver 384.90)- ThrustMaster T-Flight Hotas
    Ubuntu 16.04 LTS 64bits
    X-Plane 10.51 11.05r2 11.10b5 Avions : A320 neo JAR, A350XWB FF, Cessna172 airfoillabs, B737-800X, 737-xxx EADT, MS893A_Rallye

    Dropbox : https://www.dropbox.com/sh/naqxguj6l...ga9943VGa?dl=0

  9. #9
    Utilisateur enregistré
    Date d'inscription
    octobre 2014
    Localisation
    EBSP
    Âge
    49
    Messages
    782
    Total Downloaded
    0
    Pour la doc je passe pour le moment! :-) (mais je veux bien pour mes archives).

    Pour le dig, c'est en fait dig +short nom, et ça te renvoie l'adresse, donc pas de souci. Sans le +short tu as un retour comparable à nslookup, en plus moche et inutilisable dans un script.

    (EDIT) le dig peut retourner plusieurs résultats, même avec +short. A creuser...
    Dernière modification par yoyoz ; 15/07/2017 à 20h00.

  10. #10
    Utilisateur enregistré Avatar de djetdail
    Date d'inscription
    décembre 2007
    Messages
    4 653
    Total Downloaded
    0
    Bonjour;

    @papet30
    C'est un abonnement sosh-orange avec un IP dynamique.
    Pour la récupération de l'IP, pas de problème, j'ai une adresse no-ip mis à jour par la box, donc comme le dit yoyoz pas de problème de ce coté la.
    Ton pdf m’intéresse également.

    @yoyoz
    J'essaie avec les quotes inverses
    Par ailleurs et sans pour autant être sûr de moi à 100%, il me semble quand même que l'option --to-destination ne supporte qu'une IP, pas un combo IP:port, cela donnerait donc:
    J'ai lu des exemples où ils lient les deux IP et ports ...... ??




    Oui la doc iptables est ardue, il va falloir que je réactive plus de 3 neurones :-)
    Merci à vous
    Je vous fait un retour

    Hervé
    Des liens, des tutos, du bricolage

    Vols en cockpit partagé ... Vol_en_duO

    http://degooglisons-internet.org/


    CHATONS, le collectif anti-GAFAM


    X -plane 11 ET 10 // Win 10 Pro // MSI Z270 // I5 7600K // 16DDR4 3000Mhz // GTX 1080 8Go // SSHD 2 To FireCuda // SSD 1 To // Hotas Warthog // Palonnier + le bloc 3 manettes Saitek // TrackIr 5 // FS Global Weather //Carte BU0836X // SmartCopilot

    Navigraph, Vivaldi, Plan G, Efass ....// Win 10 Pro// I7 3770k 16Go // GTX760 4Go // 1 ecrans 22"


Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •