Bonjour,

Je suis actuellement en stage et mon tuteur me demande de créer un script en python afin de créer une adresse réseau. Je m'explique, il souhaite pouvoir entrer une adresse réseau, un masque et un groupe, ces dernièrs doivent s'inscrire dans le fichier dhcpd.conf. Le groupe permet de distribuer un certain nombre d'informations. Voici mon fichier dhcpd.conf:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
ddns-update-style interim;
ignore client-updates;
 
log-facility local5;
 
subnet 192.168.201.0 netmask 255.255.255.0 {
 
}
 
### LIRMM ###
group {
    option domain-name "lirmm.fr";
    option domain-name-servers 193.49.104.10, 193.49.104.172;
    option netbios-name-servers 193.49.104.172, 193.49.104.160;
    option ntp-servers 193.49.104.10;
    default-lease-time 18000;
    max-lease-time 18000;
 
    shared-network test {
 
        subnet 192.168.200.0 netmask 255.255.255.0 {
            option routers 192.168.200.2;
            option broadcast-address 192.168.200.255;
 
        }    
 
 
        subnet 192.168.100.0 netmask 255.255.255.128 {
            option routers 192.168.100.126;
            option broadcast-address 192.168.100.127;
 
            range 192.168.100.12 192.168.100.115;
           }
 
 
 
    }
 
 
    include "/home/kevin/192.168.200.0.net";
    include "/home/kevin/192.168.100.0.net";
 
 
        host windows-pc {
                          hardware ethernet 00:25:64:48:B5:FE;
                          fixed-address 192.168.10.11;
                  }
 
} 
 
 
### DHCP ###
group {
 
 
            option domain-name "lirmm.fr";
              option domain-name-servers 193.49.104.10, 193.49.104.161;
              option netbios-name-servers 193.49.104.172, 193.49.104.7;
            option ntp-servers 193.49.104.10;
            default-lease-time 3600;
            max-lease-time 3600;
 
 
        subnet 192.168.100.0 netmask 255.255.255.128 {
                        option routers 192.168.100.126;
                        option broadcast-address 192.168.100.127;
 
        range 192.168.100.20 192.168.100.110;
 
                }
 
}
 
 
Prenons un exemple, l'administrateur entre une adresse réseau (192.168.1.0), un masque (/24) et un groupe (LIRMM) et donc la ligne suivante doit être écrite dans le fichier ci-dessus : "subnet 192.168.1.0 netmask 255.255.255.0 {" sous le "shared-network test" qui lui même est sous la déclaration "group".
 
Voici où devra etre écrit la nouvelle ligne:
 
### LIRMM ###
group {
    option domain-name "lirmm.fr";
    option domain-name-servers 193.49.104.10, 193.49.104.172;
    option netbios-name-servers 193.49.104.172, 193.49.104.160;
    option ntp-servers 193.49.104.10;
    default-lease-time 18000;
    max-lease-time 18000;
 
    shared-network test {
 
               LA NOUVELLE LIGNE DEVRA ETRE ICI !!!
 
        subnet 192.168.200.0 netmask 255.255.255.0 {
            option routers 192.168.200.2;
            option broadcast-address 192.168.200.255;
               }
Je ne sais pas si j'ai été bien clair


Voici mon début de script:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
network=raw_input('Entrer une adresse réseau: ')
mask=raw_input('Entrer un masque CIDR: ')
mask_classic=ipaddr.IPv4Network(network+mask).netmask
group=raw_input('Entrer un nom de groupe (LIRMM OU DHCP): ')
fichier=open('/home/kevin/dhcpd.conf','a')
if (group=='LIRMM'):
Et voilà je suis bloqué ici, étant débuté le python depuis une semaine, je ne sais pas comment je pourrais faire pour que la ligne s'inscrire à un emplacement précis.

J'espère avoir était suffisament clair pour que vous cerniez ma difficulté. Et donc si quelqu'un aurait une solution pour éclairer ma lanterne sa serait sympa qu'il fasse signe.