Bonjour,
Je vous explique donc mon problème je souhaites donc mettre en place un script PERL pour configurer en quelques clic donc mon PROXY Squid .
Je dois donc définir des ACL ( Acces Control List ) qui s'écrivent comme ceci a la fin d'un fichier :
Mon soucis étant que j'essaie donc de faire une boucle qui vérifie bien que l'utilisateur tape une adresse ip et non des caractère.acl allowed_clients src 1xx.1xx.0.xxx /255.255.255.0
http_acces allow allowed_clients
http_acess deny allowed_clients
Puis qu'il saisie le masque. Mais je possède des erreurs de compilation car il considère le / comme un opéraeur ( 192.168.1.31/255.255.255.0 )
Si vous pouvez me venir en aide sa serais franchement sympatoche
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 print "# ---- Configuration des différentes ACL (Acces Control List)---- #\n"; if ($choix2 == 1) { ### [Saisie des acl] ### system('clear'); print "# #\n"; print "# #\n"; print "# #\n"; print "{Saisissez l'adresse IP afin de configurer l'ACL du client }\n"; print "{ que vous souhaitez configurer }\n"; print "# #\n"; print "# #\n"; print "# #\n"; #$acl == 0 ; while ($acl ==~ /^([0-9]{1,3}\.)}3}\.([0-9]{1,3})$ /) { print "Choix (Adresse IP de la forme 1xx.xxx.xxx.xxx--> "; $acl = <STDIN>; chomp($acl); print "# #\n"; print "# #\n"; print "Choix (Masque de la forme /1xx.xxx.xxx.xxx--> "; print "Choix (PENSEZ A METTRE LE / SANS ESPACE AVANT DE TAPER VOTRE MASQUE "; $mask = <STDIN>; chomp($mask); push (@tab,'### ###'); push (@tab,'### ###'); push (@tab, "acl allowed clients src $acl\n"); push (@tab, "http_acces allow allowed_clients\n"); push (@tab, "http_acces deny allowed_clients\n"); push (@tab,'### ###'); push (@tab,'### ###'); open(main::F, "> $fic") or die(' ! Ecriture impossible dans le fichier désigné !'); print F $_ foreach(@tab); close(main::F); } }
Oni'
Partager