Example

L'amministrazione del sistema può essere fatta anche via WEBMIN, ma é indispensabile impostare la password di root, ed é opportuno impostare un utente (admin) cui delegare solo alcuni compiti.

E` possibile inoltre utilizzare la schermata a fianco per creare una prima configurazione di lavoro che potrà essere ulteriormente raffinata in seguito con WEBMIN.

Configurazioni indispensabili
root passwd
conferma
Ulteriore user webmin
admin passwd
conferma
Info sul sistema
cpu
mem
Network
hostname
NAT
FWD
if int
IP if int
dhcp
if ext
IP if ext
dhcp
tcp dport
udp dport
Servizi
apache ssl
apache
ssh
webmin
cban
mail
antivirus
ntop
transp proxy
proxy
Mail
mail domain
Hardware
keyboard layout
permanent modules


code

include "/usr/lib/php4/classes/layout.php" ;
tips_init("css=/css/helptip.css","src=/js/helptip.js","type=webfx") ;

#### Tips
$Tip["e-hostname"] = "Il nome del pc";
$Tip['c-NAT'] = "Indicare se si vuole che questo firewall faccia NATTING (o masquerading). Nel dubbio: si";
$Tip["c-FWD"] = "In genere si vuole che il firewall inoltri i pacchetti. Dire no solo se     si ha intenzione di fare regole più specifiche" ;
$Tip["c-dhcp_int"] = "Se l' interfaccia interna deve configurarsi tramite dhcp";
$Tip["c-dhcp_ext"] = "Se l' interfaccia esterna deve configurarsi tramite dhcp";
$Tip["c-webmin"] = "<b>INDISPENSABILE</b> per poter configurare il sistema tramite interfaccia grafica" ;
$Tip['p-root_passwd'] = "Usare almeno una cifra o una lettera maiuscola, ".
         "la lunghezza totale deve essere di almeno 6 caratteri" ;
$Tip['p-root_passwd2'] = "Digitare la conferma della password, per controllo";
$Tip['p-admin_passwd'] = $Tip['p-root_passwd']  ;
$Tip['p-admin_passwd2'] = $Tip['p-root_passwd2']  ;
$Tip['c-proxy'] = "Con questa modalità il firewall può agire anche " .
    "da proxy (e quindi si possono controllare i siti visitati, ad esempio ".
"per eliminare siti porno)" ;
$Tip['c-transp_proxy'] = "Con questa scelta, le regole del firewall saranno " .
    "impostate in modo da dirottare verso il firewall tutto il traffico " .
    "www. In questo modo si può attivare un proxy web anche per i browser " .
    "che non abbiano impostato l' uso del proxy." ;
$Tip['e-IP_if_ext'] = "Può essere l'IP statico della linea ADSL. ".
   "Non indicare se l'assegnamento dell'IP è dinamico" ;
$Tip['e-tcp_dport'] = "Porte che si voule siano raggiungibili sulla ".
    "interfaccia <b>esterna</b> per il protocollo <tt>tcp</Tt>";
$Tip['m-if_ext'] = "Interfaccia <b>esterna</b>:<br>".
    "Se avete un collegamento adsl con ppp, indicate 'ppp0'";
$Tip['p-admin_passwd'] = "L'utente <b>admin</b> non è un utente di sistema: è un utente di webmin "
     . "che ha accesso ad un numero limitato (ma potente) di funzioni" ; 
  
#### Defaults
$H['hostname'] = "fw-argo";
$H['NAT'] = "on";
$H['FWD'] = "on";
$H['webmin'] = "on";
$H['apache_ssl'] = "on";
$H['ssh'] = "on";
$H['tcp_ports'] = "22";
$H['l-msg'] = "<b>L'amministrazione del sistema può essere fatta anche via WEBMIN" ;
$H['l-adm'] = "Ulteriore user webmin" ;
$H['l-slap'] = "<b>Utente slapd, necessario per la posta elettronica</B>" ;
$H["l-root_passwd2"]  = "conferma" ;
$H["l-admin_passwd2"] = "conferma" ;
$H["tcp_dport"] = " ssh , https " ;
$H['IP_if_int'] = "192.168.1.254" ;
$H['m-if_ext'] = "eth1" ;

#### Layout
$lay = "
     #- Configurazioni indispensabili 
#     l=msg              -
     p=root_passwd:.15      p=root_passwd2:.15
     l=adm              -
     p=admin_passwd:.15   p=admin_passwd2:.15

     #- Info sul sistema
     l=cpu  - 
     l=mem  -
#     l=pci  -
"; 

$lay2 = "

     #- Network 
     hostname       { c=NAT  c=FWD }

     m=if_int        { IP_if_int:.15    c=dhcp/dhcp_int }
     m=if_ext       { IP_if_ext:.15    c=dhcp/dhcp_ext } 
     tcp_dport    udp_dport

     #- Servizi
     { c=apache_ssl:.75   c=apache:.75 c=ssh:.75 }      { c=webmin   } 
     { c=mail:.75   c=antivirus:.75   c=ldap:.75 }         { c=transp_proxy c=proxy    }

     #- Mail
     mail_domain  -            - 

     #- Hardware  
     m=keyboard_layout  permanent_modules -

     s=Procedi
"; 
$a = new Layout($lay, "action=init.php", "nostop", "left", "array=H", "name=argo") ;
$b = new Layout($lay2, "nostart", "left", "array=H", "name=argo", "class=destra") ;

$a->tconf("l-root_passwd","bgcolor=red");
$b->wconf("e-mail_domain","class=max") ;
$b->wconf("e-permanent_modules","class=max") ;

foreach(array("eth0", "eth1" , "eth2", "ppp0", "ppp1", "ippp0", "ippp1") as $if) {
    $b->menuadd("m-if_int", $if);
    $b->menuadd("m-if_ext", $if);
}
foreach(array("it", "us", "de", "fr") as $lang) {
    $b->menuadd("m-keyboard_layout", $lang);
}
$sx = $a->create("center",  "border=0", "class=bg", "off=12") ; 
$dx = $b->create("center",  "border=0","off=12") ; 

#### html staff

<style>

body {
        font-family: Verdana, Arial, Helvetica;
     background: #eeeeee ; 

}
th { font-family: sans-serif;  
  background: #CCCCCC ; 
} 
.spiega p {
    padding: 5px;
}
</style>

<table class=neutro border=0 align=left 
   bgcolor=#eeeeee cellpadding=0 cellspacing=10 > 
    <tr>
       <td bgcolor=#dddddd width=130px valign=top cellpadding=5px> 
         <p class=spiega>
         L'amministrazione del sistema può essere fatta anche via WEBMIN, 
         ma é indispensabile impostare la password di root, ed é opportuno impostare 
         un utente (admin) cui delegare solo alcuni compiti. 

         <p> E` possibile inoltre utilizzare la schermata a fianco per creare una 
         prima configurazione di lavoro che potrà essere ulteriormente raffinata 
         in seguito con WEBMIN.
         </td>
       <td bgcolor=#dddddd width=200px valign=top> <? print $sx?> </td>
       <td bgcolor=#dddddd valign=top> <? print $dx?> </td>
    </tr>
</table>

Explanation

I'd like to point your attention to a couple of things: