180 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			180 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl
 | 
						|
 | 
						|
#use strict;
 | 
						|
#use warnings;
 | 
						|
#SCRIPT PERMETTANT DE METTRE LES INTERFACES APPROPRIEES POUR LA MACHINE ENTREE EN PARAMETRE ET DE LA DEMARRER
 | 
						|
my %machines = (
 | 
						|
             's-infra' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             's-proxy' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             's-spec' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             's-mon' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             's-mess' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             's-itil' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             's-proxy' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             's-backup' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             's-appli' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-infra'
 | 
						|
             },
 | 
						|
             'r-int' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-link',
 | 
						|
		    netif3 => 'n-wifi',
 | 
						|
		    netif4 => 'n-user',
 | 
						|
		    netif5 => 'n-infra'
 | 
						|
             },
 | 
						|
             'r-ext' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-dmz',
 | 
						|
		    netif3 => 'enp0s3',
 | 
						|
                    netif4 => 'n-linkv',
 | 
						|
                    netif5 => 'n-link'
 | 
						|
             },
 | 
						|
             'r-vp2' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-agence',
 | 
						|
                    netif3 => 'enp0s3'
 | 
						|
             },
 | 
						|
             'r-vp1' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'enp0s3',
 | 
						|
                    netif3 => 'n-linkv' 
 | 
						|
             },
 | 
						|
             's-lb' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-dmz',
 | 
						|
                    netif3 => 'n-dmz-lb'
 | 
						|
             },
 | 
						|
             's-lb-bd' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-dmz-db'
 | 
						|
                    
 | 
						|
             },
 | 
						|
             's-lb-web1' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-dmz-lb',
 | 
						|
                    netif3 => 'n-dmz-db'
 | 
						|
             },
 | 
						|
             's-lb-web2' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-dmz-lb',
 | 
						|
                    netif3 => 'n-dmz-db'
 | 
						|
             },
 | 
						|
  	     's-nas' => {
 | 
						|
                    netif1 => 'n-adm',
 | 
						|
                    netif2 => 'n-dmz-db',
 | 
						|
             }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
);
 | 
						|
 | 
						|
 | 
						|
my ($net1, $net2, $net3, $net4, $net5);
 | 
						|
 | 
						|
my $machine = shift;
 | 
						|
die "usage : gsbstart <machine>" unless ( $machine);
 | 
						|
 | 
						|
#print $machines { $machine }  "\n";
 | 
						|
if (%{$machines{$machine}}) { 
 | 
						|
#	print $machines { $machine } {netif1}, "\n";
 | 
						|
        $net1   =  $machines { $machine } {netif1};
 | 
						|
        $net2   =  $machines { $machine } {netif2};
 | 
						|
	$net3   =  $machines { $machine } {netif3};
 | 
						|
        $net4   =  $machines { $machine } {netif4};
 | 
						|
        $net5   =  $machines { $machine } {netif5};
 | 
						|
 | 
						|
	
 | 
						|
 | 
						|
} else {
 | 
						|
	print "machine $machine inconnue\n";
 | 
						|
}
 | 
						|
#
 | 
						|
  
 | 
						|
my $ninfra = "VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 intnet\nVBoxManage modifyvm ".$machine. " --intnet2 \"". $net2."\""; 
 | 
						|
 | 
						|
my $rint = "VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 intnet\nVBoxManage modifyvm ".$machine. " --intnet2 \"". $net2."\"\nVBoxManage modifyvm ".$machine. " --nic3 intnet\nVBoxManage modifyvm ".$machine. " --intnet3 \"". $net3."\"\nVBoxManage modifyvm ".$machine. " --nic4 intnet\nVBoxManage modifyvm ".$machine. " --intnet4 \"". $net4."\"\nVBoxManage modifyvm ".$machine. " --nic5 intnet\nVBoxManage modifyvm ".$machine. " --intnet5 \"". $net5."\"";
 | 
						|
 | 
						|
my $rext = "VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 intnet\nVBoxManage modifyvm ".$machine. " --intnet2 \"". $net2."\"\nVBoxManage modifyvm ".$machine. " --nic3 bridged\nVBoxManage modifyvm ".$machine. " --bridgeadapter1 ". $net3."\nVBoxManage modifyvm ".$machine. " --nic4 intnet\nVBoxManage modifyvm ".$machine. " --intnet4 \"". $net4."\"\nVBoxManage modifyvm ".$machine. " --nic5 intnet\nVBoxManage modifyvm ".$machine. " --intnet5 \"". $net5."\"";
 | 
						|
 | 
						|
my $rvp2 = "VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 intnet\nVBoxManage modifyvm ".$machine. " --intnet2 \"". $net2."\"\nVBoxManage modifyvm ".$machine. " --nic3 bridged\nVBoxManage modifyvm ".$machine. " --bridgeadapter1 ". $net3."\n";
 | 
						|
 | 
						|
my $rvp1 = "VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 bridged\nVBoxManage modifyvm ".$machine. " --bridgeadapter1 ". $net2 ."\nVBoxManage modifyvm ".$machine. " --nic3 intnet\nVBoxManage modifyvm ".$machine. " --intnet3 \"". $net3."\"\n";
 | 
						|
 | 
						|
my $lb = "VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 intnet\nVBoxManage modifyvm ".$machine. " --intnet2 \"". $net2."\"\nVBoxManage modifyvm ".$machine. " --nic3 intnet\nVBoxManage modifyvm ".$machine. " --intnet3 ". $net3."\n";
 | 
						|
 | 
						|
my $lbbd ="VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 intnet\nVBoxManage modifyvm ".$machine. " --intnet2 \"". $net2."\"\n";
 | 
						|
 | 
						|
my $lbweb = "VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 intnet\nVBoxManage modifyvm ".$machine. " --intnet2 \"". $net2."\"\nVBoxManage modifyvm ".$machine. " --nic3 intnet\nVBoxManage modifyvm ".$machine. " --intnet3 \"". $net3."\"\n"; 
 | 
						|
 | 
						|
my $snas ="VBoxManage modifyvm ".$machine. " --nic1 intnet\nVBoxManage modifyvm ".$machine. " --intnet1 \"". $net1."\"\nVBoxManage modifyvm ".$machine. " --nic2 intnet\nVBoxManage modifyvm ".$machine. " --intnet2 \"". $net2."\"\n";
 | 
						|
 | 
						|
#print $routeur;
 | 
						|
 | 
						|
 | 
						|
if ($machine eq "r-int") {
 | 
						|
		qx($rint);
 | 
						|
		print "la création des interfaces du routeur $machine a fonctionné!\n";
 | 
						|
}else{
 | 
						|
	if ($machine eq "r-ext") {
 | 
						|
		qx($rext);
 | 
						|
	}else{
 | 
						|
		qx($ninfra);
 | 
						|
		print "la création des interfaces de $machine a fonctionné!\n";
 | 
						|
	}	
 | 
						|
}
 | 
						|
if ($machine eq "r-vp2") {
 | 
						|
	qx($rvp2);
 | 
						|
}
 | 
						|
if ($machine eq "r-vp1") {
 | 
						|
        qx($rvp1);
 | 
						|
}
 | 
						|
if ($machine eq "s-lb"){
 | 
						|
	qx($lb);
 | 
						|
}
 | 
						|
if ($machine eq "s-lb-web1"){
 | 
						|
	qx($lbweb);
 | 
						|
}
 | 
						|
if ($machine eq "s-lb-web2"){
 | 
						|
        qx($lbweb);
 | 
						|
}
 | 
						|
if ($machine eq "s-lb-bd"){
 | 
						|
        qx($lbbd);
 | 
						|
}
 | 
						|
if ($machine eq "s-nas"){
 | 
						|
        qx($snas);
 | 
						|
}
 | 
						|
 | 
						|
qx(VBoxManage startvm $machine);	
 | 
						|
	
 | 
						|
 | 
						|
 |