DHCP

service dhcpd, dhcp-options

fichiers de conf :
/etc/dhcpd.conf => cf ci dessous
/etc/default/dhcp => selection dfe l'interface
A) pool (range)

range dynamic-bootp 172.23.3.240 172.23.3.244;

client ->    DHCP_DISCOVER
       DHCP_OFFER <- serveur

client ->    DHCP_REQUEST
       DHCP_ACK <- serveur


B) adressage statique
host dns {

hardware address xx:xx:xx:xx:xx;

fixed address 172.26.2.2
}


VLAN
commande :
vconfig add eth1 [IDVLAN]


Exemples:

#vconfig add eth1 280

#vconfig add eth1 281
#vconfig add eth1 180


Il faut également configurer les interfaces réseau sur les VLAN.

un exemple de fichier /etc/network/interfaces

auto eth1.280
iface eth1.280 inet static
    address 192.168.180.254
    netmask 255.255.255.0

auto eth1.281 # obligatoire pour initialiser les interfaces. 
iface eth1.281 inet static
    address 192.168.181.1 
    netmask 255.255.255.0

auto eth1.181
iface eth1.181 inet static
    address 10.0.11.1  
    netmask 255.255.255.0

OU :
ifconfig eth1.181
10.0.11.1 netmask 255.255.255.0


Pour  que le routage marche sans avoir à définir des règles de routage entre les interfaces du routeur, on peut activer le routage de paquets entre les interfaces:
Pour une modification définitive modifier la variable ip_forward dans /etc/network/options
Pour une modification temporaire, mettre 1 dans le fichier
/proc/sys/net/ipv4/ip_forward

Routage

Routage statique
route add -net [réseau destination] netmask [masque de sous réseau] gw [ip_routeur]

(gw : gateway)


Exemple:

route add -net 192.168.179.0 netmask 255.255.255.0 gw 192.168.180.1
attention aux boucles !!!!
Si 2 routes possible, c'est le metric qui compte.


Routage dynamique Rip
Envoit des tables de routages. On incremente le metric a chaque fois que l'on transfert une route.
On peut le faire avec le paquet "routed"
Mais on utilise ici quagga:
quagga permet aussi d'avoir une interface type routeurs cisco.


Les fichiers de config sont dans /etc/quagga
Il y a debian.conf, daemon, zebra.conf, ripd.conf, ospf.conf.
Il faut parfois créer les fichiers, mais des exemples existent dans /usr/share/doc/quagga.
Il faut prendre le fichier zebra.conf , ripd.conf, activer les services dans daemons.conf.

zebra.conf :
passwd xxxx //pass pour que les autres se connectent
enable passwd xxx // passwd pour l'administration

Zebra : telnet localhost 2601
Ripd : telnet localhost 2602

Quelques commandes:
#show interfaces
#enable //mode admin
#interface eth0 // entrer en mode config de l'interface, bande passante...
#log file /root/logZebra // défini le fichier de log (doit etre créé)
#write // sauver la configuration

#configure terminal
#router rip
#redistribute connected // active la transmission des tables de routage
#network 192.168.181.0/24 //active la transmition de notre table sur ce reseau
#show ip route // montre la liste des routes
#service password_encryption //encryptage des mots de passe


Configurer la partie RIP
#conf t
#router rip
#redistribute connected
#netword 192.168.171.0/24


Firewall IPTABLE
Fichier de configuration
Les commandes suivantes peuvent être tapées dans le shell, toutefois, dans la mesure ou l'ordre à une importance, il est plus facile de les mettre dans un fichier de script.
Il se trouve dans /etc/network/if_pre-up.d/iptables-start

Options de base
3 chaines :

INPUT //connexions entrantes
OUPOUT //connexions sortantes
FORWARD // connexions routées

2 traitements:

ACCEPT
DROP


Politique par defaut

Elle est appliquée si aucune règle ne match le paquet traité:
iptable -P [chaine] [traitement]
Normalement, on la met à la fin du fichier car il est parcouru séquentiellement


Liste des règles
iptable -L [chaine]
ou

iptable --list [chaine]

on peut également rajouter -n à la fin de la commande afin d'éviter d'effectuer une résolution DNS (parfois assez longue).

Ajouter une règle

iptable -A [chaine]

options :

-i [interface entrante]
-o [interface sortante]
-s [ip source packet]
-d [ip destination paquet]
-p [protocole niveau 4] // TCP, UDP, ICMP
-dport [port de destination]

-sport [port de source]
-j [ACCEPT|DROP]


Règles sur les connexions établies

Il est possible de définir une règle qui va systématiquement accepter les paquets qui sont issus d'une connexion établie. Exemple:

iptable -A [chaine] -m state --state ESTABLISHED -j ACCEPT


Supprimer les règles
Cette commande permet de supprimer toutes les règles pour ne garder que la politique par défaut.
iptable -F

Translation d'adresse
Translation d'adresse source
Avec ce système, plusieurs machines d'un réseau privé peuvent partager l'adresse publique du routeur pour envoyer des informations vers l'extérieur. Toutefois, pour en recevoir, la translation d'adresse destination doit être mise également en oeuvre.


iptables -A POSTROUTING -t nat -p [tcp|udp] -s [ip source]  --dport [port] --to-source [ip publique du routeur] -j SNAT

On appelle aussi cette technique masquerading, ou proxy transparent.


Translation d'adresse destination
Cela permet a des machines d'un réseau privé de recevoir des informations depuis un réseau public, en procédant à un mapping [port routeur] --> [machine : port]

iptables -A PREROUTING -t nat -p [tcp|udp] -d [ip routeur]  --dport [port] --to-destination [ip privée destination] -j DNAT


Liste des translations
iptable -L PREROUTING -t nat
iptable -L POSTROUTING -t nat


Dernière modification : 28/07/2006.