Réseau local, LAN
Un article de Diablotins.org.
|
Sommaire |
Synopsis
Vous disposez de plus d'une machine ou vous avez dans l'idée de récupérer d'anciennes machines pour en faire des diskless et vous souhaitez construire un réseau local(LAN).
Nous allons créer notre réseau sur la base 192.168.0./24, c'est à dire, un masque 255.255.255.0 sur la plage d'adresses de classe C, 192.168.0.0 à 192.168.0.255.
Nous allons appeler ce réseau «Toy.Dolls» en hommage au groupe de roquanrolle bien connu.Pour éviter d'encombrer le tuyau de requêtes DNS vers celui de FAI, nous allons aussi configurer un serveur DNS pour le réseau local.
Le serveur
Ce réseau sera composé d'un serveur principal qui comportera deux cartes réseaux,
- à 10€ la carte de base, n'hésitez pas -
une pour l'accès aux machines du réseau local, l'autre vers votre FAI.
Interfaces
Définissez vos interfaces dans /etc/rc.conf
Hostname="serveur.Toy.Dolls" ifconfig_fxp0="DHCP" Interface du réseau FAI, par DHCP le cas échéant ifconfig_rl0="192.168.0.1 netmask 255.255.255.0" Interface du réseau local
Les machines
Si vous ne voulez pas vous lancer dans la configuration d'un serveur DHCP, associez chaque machine Ă une IP dans le fichier /etc/hosts.
192.168.0.10 florence.Toy.Dolls florence 192.168.0.11 Nelly.Toy.Dolls Nelly 192.168.0.12 Deidre.Toy.Dolls Deidre 192.168.0.13 YulBrunner.Toy.Dolls YulBrunner
Routage
Définissez le serveur en tant que routeur dans /etc/rc.conf:
gateway_enable="YES"
Configuez ensuite votre Pare-feu pour qu'il effectue la translation d'adresse entre les deux interfaces.
DNS
FreeBSD est livré avec Bind pour fournir les services DNS.
Déclarez le dans /etc/rc.conf
named_enable="YES" named_chrootdir="/var/named"
Construisez les bases de Bind:
cp -r /etc/namedb /var/named/etc cp -r /etc/mtree /var/named/mtree
Editez /var/named/etc/namedb/named.conf et à la suite du commentaire «/// Forward Only»
forwarders {
D.N.S.1; D.N.S.2;
};
OĂą D.N.S.1 et D.N.S.2 sont les adresses des DNS de votre FAI. Construisez la base:
cd /var/named/etc/namedb/ ./make-localhost
Les Clients
DNS
Chaque Client devra interroger la base DNS du serveur, dans /etc/resolv.conf:
nameserver 192.168.0.1
Le serveur est aussi son propre client DNS, c'est aussi valable pour lui.
Interface
Si vous n'utilisez pas DHCP, copiez les fichiers /etc/hosts du serveur dans chaque client et définissez leur adresse IP dans /etc/rc.conf:
#Deidre hostname="Nelly.Toy.Dolls" ifconfig_rl0="inet 192.168.0.11 netmask 255.255.255.0" defaultrouter="192.168.0.1"
Si vous utilisez DHCP, la configuration se résume à :
ifconfig_rl0="DHCP"
DHCP et resolution de nom
Si une ou plusieurs interfaces sont clientes DHCP, vous aurez quelques soucis pour définir la résolution de nom.
En effet, le script DHCP va écraser /etc/resolv.conf, qui définit la manière dont la résolution de nom va s'effectuer.
Plusieurs solutions s'offrent Ă vous
Crochet du gauche
Vous allez tout simplement annuler l'écriture d'un nouveau “resolv.conf“.
Pour cela, écrivez un script qui va crocheter ( hook ) les fonctions du script client DHCP,
soit par défaut “/sbin/dhclient-script“.
touch /etc/dhclient-enter-hooks
Redéfinissez la fonction parasite:
add_new_resolv_conf() {
echo "we are the knights who say NI"
}
Configuration cliente
Vous allez suggérer au client quelques paramètres.
Tout ceci se réalise dans “/etc/dhclient.conf”
Supposons que vous donnez la préférence à votre serveur de nom local,
utilisez la fonction ”prepend”:
interface "rl0" {
send host-name "david.dmarec.homeunix.net";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
require subnet-mask, domain-name-servers;
script "/sbin/dhclient-script";
}
Vous obtiendrez dans “resolv.conf”
nameserver 127.0.0.1 nameserver le.dns.du.dhcp
Uppercut
Puisque vous utilisez la méthode qui conserve “resolv.conf”, pourquoi demander une adresse pour le serveur DNS ?
Supprimez l'option ”domain-name-servers”:
interface "rl0" {
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, host-name;
require subnet-mask;
script "/sbin/dhclient-script";
}
Contrôler les accès
FreeBSD propose existe plusieurs pare-feux dans son monde.
Consultez les documentations de IPFilter ou Packet Filter présentes sur ce site.
En savoir plus
- Le professeur Dru Lavigne explique les bases d'un réseau Articles traduits
- Le manuel
