Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/12/2012, à 10:23

slam2

récupérer nom interface

Bonjour,

Après plusieurs recherches infructueuses, je me tourne vers vous, pour m'aider à m'arracher cette épine du pied. Donc pour le boulot, je suis en train de mettre en place un serveur VPN, avec 3 configurations précises, mais aussi afin de mieux gérer mes ACL, 3 fichiers de configuration IPtables (oui j'aurais pu le mettre en un seul, mais c'est par soucis de clarté).

Donc dans les fichiers IPtables j'indique les interfaces d'entrées et de sorties, donc forcément eth0 et tapx (tout dépends si c'est tap0, 1 ou 2). Donc j'aimerais pouvoir extraire le nom de l'interface en rapport à l'adresse IP (ou plus précisément fragment d'adresse)

Par exemple :  Ma configure OpenVPN 1 = 10.8.0.0/24 ; OpenVPN 2 : 10.10.0.0/24 ; OpenVPN 3 : 10.12.0.0/24

Donc en quelques sortes, normalement l'adresse dans mon ifconfig ce trouve être la : 10.x.0.1, donc quand je parle de fragment d'IP ce serait prenons pour exemple la première config, faire un check avec : 10.8.0 (Sans mettre l'octet qui servira pour les hotes .cf dresses Machine)

J’espère être claire dans mes propos, car c'est tout de même tendu d'expliquer comme ceci x)

Merci beaucoup,
Cordialement.

Hors ligne

#2 Le 04/12/2012, à 13:00

pingouinux

Re : récupérer nom interface

Bonjour,
Effectivement, ce n'est pas très clair. Il vaudrait mieux donner un exemple :
- Le fichier de départ (je suppose que c'est la sortie de ifconfig)
- Ce que tu veux y récupérer
- Ce que tu veux en faire

Hors ligne

#3 Le 04/12/2012, à 13:19

slam2

Re : récupérer nom interface

Bonjour,

Pour faire bref, ce que j'aimerais faire c'est :
Pouvoir récupérer dans ifconfig le nom de l'interface (eth0, Tap0, Tap1) selon l'adresse ip que je possède : 10.8.0.1.

La valeur retourner sera jumelé à une variable, que j'implanterais dans mes fichiers de configurations.

EDIT :
Bon, j'arrive tout doucement, mais je bloque juste à un petit endroit, donc j'utilise :

ifconfig | egrep '^[^ ]' |  awk '{print $1}'

Ce qui me retourne :

eth0
lo
tap0
tap1
tap2

Maintenant j'essaie de filtrer le retour de valeur par le biais de l'adresse IP. Donc en bref, mon 10.8.0.1 devrait me retourner tap0.

Dernière modification par slam2 (Le 04/12/2012, à 13:39)

Hors ligne

#4 Le 04/12/2012, à 16:20

slam2

Re : récupérer nom interface

Merci à Anyvie,

ip route ls | grep "176.31.241" | grep -v "default" | awk '{print $3}' 

Par contre je me retrouve confronté à un soucis, dans l'optique que les règles ce lancent au boot de la bécane,

je ne peux faire exécuter mon script dans /etc/network/if-pre-up, car justement je me focalise sur le nom de l'interface attribué selon une adresse IP et dans le pré-up, forcément, rien n'est encore réglé pour pouvoir faire par ce procéder.

Donc pourquoi ne pas le mettre dans le if-up, sauf que le soucis, il exécute le script X fois par rapport au nombre d'interface.. Drôle d'affaire tout ça !

Hors ligne

#5 Le 04/12/2012, à 16:51

tiramiseb

Re : récupérer nom interface

Pourquoi est-ce que tu ne fixes pas toi-même de manière fixe dans la configuration d'OpenVPN le périphérique tap précis à utiliser.

du manuel d'OpenVPN :

--dev tunX | tapX | null
TUN/TAP virtual network device ( X can be omitted for a dynamic device.)

"can be omitted" mais c'est pas obligé...


Chaque VPN aura comme ça son interface fixe, qui ne changera jamais, et c'est beaucoup plus simple.


PS: Pour gérer les règles de firewall sur un cas complexe, je te suggère d'utiliser un outil plus sérieux que des scripts IPTables, comme par exemple Shorewall...

Dernière modification par tiramiseb (Le 04/12/2012, à 16:53)

Hors ligne