Cette page vous sera utile si vous possedez au moins deux machines sur le réseau dont au moins une serait un linux (sinon, vous ne seriez pas là et je nécrirais pas non plus cet article !). Je vous conseille de passer par la sécurisation de votre machine pour commencer (ce qui est aussi vrai pour toute machine se connectant à internet). Je commencerais par la sécurisation du fichier /etc/inetd.conf où vous pouvez désactiver les ports indésirables (telnet, finger seraient les deux premiers que je désactiverais pour éviter les intrusions). Si vous avez un serveur web (si vous avez installé une distribution redhat), je vous conseille de désactiver le cgi-bin si vous ne vous en servez pas (ou alors mettre le serveur apache offline). La seconde étape serait une lecture des HOWTO dans /usr/doc/HOWTO/Firewall-HOWTO afin de mieux comprendre lutilité et limplémentation de votre réseau.
Pour résumer, on va commencer par un peu de terminologie :
- Pare-Feu (Firewall) : machine qui empêche des personnes de lextérieur de venir sur le réseau mais aussi des personnes de lintérieur daller nimporte où.
- Routeur (Proxy) : machine qui permet de donner à des machines à lintérieur dun même réseau un accès vers lextérieur (internet ou autre réseau privé) et de donner à lextérieur une certaine (dépendant du firewall) visibilité du réseau interne.
Eh bien linux fait tout çà à la fois grâce à tous les logiciels disponibles. Vous devez ensuite reparamétrer correctement une partie du kernel : cest partit !
Vous devez aller dans la section réseau afin dactiver les paramètres suivants :
- Packet socket
- Network Firewalls
- Unix domain sockets
- TCP/IP networking
- IP : Advancer router
- IP : Firewalling
- IP : Always defragment (optionnel)
- IP : Transparent proxy support (optionnel)
- IP : Masquerading
- IP : ICMP Masquerading
- IP : Optimize as router not host (optionnel)
- IP : Aliasing support (optionnel)
- IP : TCP syncookie support
- IP : Allow large windows
Pour lexemple pris plus bas, placez le serveur RealAudio, FTP & IRC en module :) Une fois ces paramètres activés (je considère quune carte réseau était déja installée et configurée dans votre machine) recompilez le kernel (voir la section de mon site pour plus daide) puis installez-le, rebootez et cest prêt à servir !
La section qui suit vient du site dun ami (gérard) qui ma permis de reprendre son document juste pour la partie lancement du routeur. Dans lexemple qui suit, nous allons prendre 192.168.0.2 comme IP du serveur et utiliserons un petit logiciel appelé ipfwadm (pour les anciens kernels 2.0.x) ou ipchains (pour les kernels 2.2.x).
Faîtes maintenant un petit netcfg afin de paramétrer le réseau. Pour savoir comment faire cohabiter le modem avec la carte réseau, reportez-vous à ma page surfer sous linux. Une fois que cela marche correctement, tentez une connection avec le modem et tentez les opérations de base : ping dns internet et lancez aussi netscape pour surfer sur un site internet.
Vous devez maintenant écrire la partie script qui va rendre le firewall opérationnel et le faire communiquer avec le reste du réseau. Ouvrez votre éditeur de texte favori et rentrez ces lignes (personnellement, je lai fais dans mon /etc/rc.d/rc.local afin que cela soit pris en compte au démarrage, vous pouvez aussi le faire par modules) :
Kernel 2.0.x ou antérieur
- echo 1 > /proc/sys/net/ipv4/ip_forward
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.0.2/24 -D 0.0.0.0/0 -W ppp0
Kernel 2.2.x ou supérieur
- echo 1 > /proc/sys/net/ipv4/ip_forward
ipchains -P forward DENY
ipchains -A forward -s 192.168.0.2/24 -j MASQ
Après redémarrage du réseau, vous pouvez vérifier ce quedonne votre configuration en tapant : route, voilà le mien :
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
ts99.dublin.ind * 255.255.255.255 UH 0 0 0 ppp0
localnet * 255.255.255.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default ts99.dublin.ind 0.0.0.0 UG 0 0 0 ppp0
Vous devez ensuite paramétrer le poste client (quil soit linux ou $ ou mac :) Pour cela, allez dans les paramètres réseau de la machine cliente (DNS) et rajoutez ladresse IP du serveur dans la passerelle TCP/IP. Vous pouvez maintenant installer tout un tas de logiciels pour rendre votre routeur utile (dans mon cas, je viens de terminer le paramétrage dun serveur Quake3 :)