Pages : 1
#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)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne