Si votre réseau privé contient des informations vitales, repensez y à deux fois avant d'utiliser IP Masquerade. Cela constitue une passerelle pour vous, pour atteindre Internet, mais la réciproque est vraie et quelqu'un sur Internet pourrait pénétrer sur votre réseau privé.
** Veuillez s'il vous plaît consulter l' IP Masquerade Resource pour les dernières informations, puisqu'il m'est difficile de mettre à jour ce document fréquemment.**
/usr/src/
avec
la commande tar xvzf linux-2.0.x.tar.gz -C /usr/src
, où x est
le numéro de révision du noyau.linux
)Répondre YES à :
* Prompt for development and/or incomplete code/drivers
CONFIG_EXPERIMENTAL
- Cela vous permettra de pouvoir selectionner IP Masquerade,
qui est experimental.
* Enable loadable module support
CONFIG_MODULES
- Permet le chargement des modules.
* Networking support
CONFIG_NET
* Network firewalls
CONFIG_FIREWALL
* TCP/IP networking
CONFIG_INET
* IP: forwarding/gatewaying
CONFIG_IP_FORWARD
* IP: firewalling
CONFIG_IP_FIREWALL
* IP: masquerading (EXPERIMENTAL)
CONFIG_IP_MASQUERADE
- bien que cela soit experimental, il *FAUT* l'integrer
* IP: ipautofw masquerade support (EXPERIMENTAL)
CONFIG_IP_MASQUERADE_IPAUTOFW
-recommended
* IP: ICMP masquerading
CONFIG_IP_MASQUERADE_ICMP
- support for masquerading ICMP packets, optionnel.
* IP: always defragment
CONFIG_IP_ALWAYS_DEFRAG
- tres recommende
* Dummy net driver support
CONFIG_DUMMY
- recommende
NB : Ce sont juste les composants dont vous avez besoin pour l'IP Masquerade. Ajoutez toute autre option nécessaire pour votre configuration personnelle.
make modules; make modules_install
/etc/rc.d/rc.local
(ou dans le fichier approprié), pour
charger automatiquement les modules nécessaires dans
/lib/modules/2.0.x/ipv4/
, après chaque reboot :
.
.
.
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp.o
/sbin/modprobe ip_masq_raudio.o
/sbin/modprobe ip_masq_irc.o
(et tout autre module, comme ip_masq_cuseeme, ip_masq_vdolive si vous avez applique les patches)
.
.
.
Puisque toutes les AUTRES machines n'ont pas d'adresse IP officielle, il faut leur en allouer, de manière intelligente.
Selon la FAQ d'IP Masquerade :
Il existe un RFC (#1597) qui indique quelles adresses IP assigner à un réseau non connecté. Il existe 3 plages réservées spécialement à cet effet. Une de celles que j'utilise est un sous réseau de classe C, faisant partie de la plage allant de 192.168.1.n à 192.168.255.n.
Selon le RFC 1597 :
Section 3 : Adressage de reseaux prives
L' "Internet Assigned Numbers Authority" (IANA) a reserve les 3 plages
suivantes pour leur utilisation par des reseaux prives :
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
Nous ferons reference a la premiere en tant que la "plage de 24 bits", la
deuxieme comme "plage de 20 bits" et la troisieme comme "plage de 16
bits".
Notez que la premiere plage n'est rien d'autre qu'un reseau de classe A,
la deuxieme un ensemble de 16 reseaux de classe B contigus, et la
troisieme un ensemble de 255 reseaux de classe C contigus.
Ainsi, si vous utilisez un réseau de classe C, vous devrez utiliser les
adresses IP 192.168.1.1, 1.92.168.1.2, 1.92.168.1.3, ..., 192.168.1.x
192.168.1.1 est habituellement la machine passerelle, qui est ici votre machine Linux se connectant à Internet. Remarquez que 192.168.1.0 et 192.168.1.255 sont respectivement les adresses de réseau et de broadcast, qui sont réservées. Evitez d'utiliser ces adresses sur vos machines.
En plus d'affecter les adresses IP pour chaque machine, vous devrez indiquer la bonne passerelle. En général, c'est plutôt simple. Vous entrez juste l'adresse de votre machine Linux (généralement 192.168.1.1) en tant qu'adresse de passerelle.
Pour le DNS, vous pouvez utiliser n'importe quel DNS utilisable. Le plus simple est d'utiliser celui qu'utilise votre machine Linux. Vous pouvez aussi, si vous le désirez, ajouter des suffixes d'ordre de recherche DNS.
Une fois configurées ces adresses IP, n'oubliez pas de relancer les programmes concernés, ou de rebooter vos machines.
Les instructions de configuration qui suivent supposent que vous utilisez un réseau de classe C, et que votre machine Linux a pour adresse 192.168.1.1. Notez que 192.168.1.0 et 192.168.1.255 sont réservées.
/etc/resolv.conf
). Vous pouvez éventuellement ajouter les
suffixes de domaine adéquats.Ping
uez la machine Linux pour tester la connexion
réseau : Démarrer / Executer, tapez: ping
192.168.1.1
ping
uer l'extérieur).HOSTS
dans le répertoire de windows, pour que vous puissiez
utiliser les noms d'hôtes des autres machines de votre réseau
local. Il y a un exemple nommé HOSTS.SAM
dans le
répertoire windows.
Ping
ez la machine Linux pour tester la connexion
réseau : Fichier / Exécuter, taper :
ping 192.168.1.1
ping
er le monde extérieur.
[1]Novell NE2000
Adapter
. Entrez l'adresse IP 192.168.1.x (1 < x < 255),
positionnez le masque de sous réseau sur 255.255.255.0 et la
passerelle par défaut à 192.168.1.1.Ping
ez la machine Linux pour tester la connexion
réseau : Fichier / Exécuter, taper :
ping 192.168.1.1
ping
er le monde extérieur.
/etc/sysconfig/network-scripts/ifcfg-eth0
, ou
simplement le faire par l'intermédiaire du Control Panel./etc/resolv.conf
./etc/networks
, selon votre configuration.ping
: ping 192.168.1.1
.ping
er l'extérieur.
nwpd
0x60 10 0x300
, si votre carte utilise l'IRQ 10 et l'adresse
d'entrée/sortie 0x300.pkunzip tel2308b.zip
config.tel
.myip=192.168.1.x
(1 < x < 255), et
netmask=255.255.255.0
.hardware=packet,
interrupt=10, ioaddr=60
.
name=default
host=le_nom_de_votre_hote_linux
hostip=192.168.1.1
gateway=1
name=dns.domain.com_; hostip=123.123.123.123; nameserver=1
NB: remplacez les champs par les informations qu'utilise votre machine
Linux.config.tel
.telnet 192.168.1.1
.
ping
er l'hôte Linux pour
tester la connexion réseau. Si vous avez le programme freeware
MacTCP Watcher, cliquez sur le bouton Ping et entrez
l'adresse de votre hôte Linux (192.168.1.1) dans la boîte de dialogue
qui apparait. (C'est uniquement une connexion locale, vous ne pouvez
pas encore ping
er l'extèrieur).
Hosts
dans votre dossier système, pour pouvoir utiliser les noms d'hote des
machines de votre réseau local. Le fichier devrait déjà exister dans
votre dossier système, et contenir quelques exemples commentés, que
vous n'avez qu'à modifier pour correspondre à vos besoins.
Ping
ez la machine Linux pour tester la connexion réseau. Si
vous avez le programme freeware MacTCP Watcher, cliquez sur
le bouton Ping, et entrez l'adresse de votre machine Linux
(192.168.1.1) dnas la boite de dialogue qui apparait. (C'est une
connexion locale, vous ne pouvez pas encore ping
er l'extérieur).Hosts
dans votre dossier
Système, pour pouvoir utiliser les noms d'hotes de votre réseau
local. Le fichier peut exister ou non dans votre dossier Système. Si
c'est le cas, il devrait contenir des exemples (en commentaires) que
vous pouvez modifier selon vos souhaits. Sinon, vous pouvez obtenir
une copie d'un système utilisant MacTCP, ou juste créer le votre (cela
ressemble fortement au fichier /etc/hosts
sur un système
Unix, qui est décrit à la page 33 du RFC 1035). Une fois le fichier
créé, ouvrez le Tableau de bord TCP/IP, cliquez sur le bouton
Sélectionner le fichier Hosts..., et ouvrez le fichier
Hosts
.
c:\nwclient\startnet.bat
(voici une copie du mien) :
SET NWLANGUAGE=ENGLISH LH LSL.COM LH KTC2000.COM LH IPXODI.COM LH tcpip LH VLM.EXE F:
c:\nwclient\net.cfg
(changez le Link drivers
, NE2000 dans mon cas) :
Link Driver KTC2000 Protocol IPX 0 ETHERNET_802.3 Frame ETHERNET_802.3 Frame Ethernet_II FRAME Ethernet_802.2 NetWare DOS Requester FIRST NETWORK DRIVE = F USE DEFAULTS = OFF VLM = CONN.VLM VLM = IPXNCP.VLM VLM = TRAN.VLM VLM = SECURITY.VLM VLM = NDS.VLM VLM = BIND.VLM VLM = NWP.VLM VLM = FIO.VLM VLM = GENERAL.VLM VLM = REDIR.VLM VLM = PRINT.VLM VLM = NETX.VLM Link Support Buffers 8 1500 MemPool 4096 Protocol TCPIP PATH SCRIPT C:\NET\SCRIPT PATH PROFILE C:\NET\PROFILE PATH LWP_CFG C:\NET\HSTACC PATH TCP_CFG C:\NET\TCP ip_address xxx.xxx.xxx.xxx ip_router xxx.xxx.xxx.xxx
c:\bin\resolv.cfg
:
SEARCH DNS HOSTS SEQUENTIAL NAMESERVER 207.103.0.2 NAMESERVER 207.103.11.9
ping
er votre hôte Linux pour tester la configuration réseau. Taper 'ping 192.168.1.1"
dans une boîte de commande OS/2. Si vous recevez les paquets IP, tout fonctionne correctement.Ces systèmes devraient suivre la meme logique d'installation. Lisez les sections précédentes. Si vous etes intéressés par l'écriture de la documentation sur n'importe quel système, comme OS/2, ou une variété quelconque de système Unix, envoyez s'il vous plait des instructions détaillées à ambrose@writeme.com (Note du traducteur : en anglais bien sûr).
A ce point du document, vous devriez avoir votre noyau et les autres packages installés, ainsi que les modules nécessaires chargés. De plus, les adresses IP, la passerelle, et le DNS devraient être installés sur les AUTRES ordinateurs.
Maintenant, la seule chose à faire est d'utiliser ipfwadm pour faire suivre les paquets appropriés à la machine qui convient :
** Ceci peut être fait de diverses façons. Les suggestions et exemples suivants fonctionnent pour moi, mais il se peut que vous ayez d'autres idées. Je vous renvoie à la section 4.4 et aux pages de manuel de ipfwadm pour plus de détails. **
ipfwadm -F -p deny
ipfwadm -F -a m -S yyy.yyy.yyy.yyy/x -D 0.0.0.0/0
où x est un des nombres suivants, selon la classe de votre sous
réseau, et yyy.yyy.yyy.yyy est votre adresse de réseau.
Masque de sous reseau | x | Sous reseau
~~~~~~~~~~~~~~~~~~~~~|~~~~|~~~~~~~~~~~~~~~
255.0.0.0 | 8 | Classe A
255.255.0.0 | 16 | Classe B
255.255.255.0 | 24 | Classe C
255.255.255.255 | 32 | Point-to-point (PPP)
Par exemple, si je suis sur un réseau de classe C, j'utiliserai :
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
Puisque les paquets de demande de bootp arrivent sans adresse IP valide alors que le client ne connait rien de lui, les personnes utilisant un serveur bootp comme machine de masquerading/firewall devront utiliser la commande suivante avant la commande deny :
ipfwadm -I -a accept -S 0/0 68 -D 0/0 67 -W bootp_clients_net_if_name -P udp
Vous pouvez également faire cela machine par machine. Par exemple, si je veux que 192.168.1.2 et 192.168.1.8 aient accès à Internet, mais pas les autres machines, j'utiliserai :
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.1.2/32 -D 0.0.0.0/0
ipfwadm -F -a m -S 192.168.1.8/32 -D 0.0.0.0/0
Vous pouvez également entrer le masque de sous réseau à la place de la valeur, par exemple 192.168.1.0/255.255.255.0.
Une erreur fréquente est d'utiliser comme première règle la commande :
ipfwadm -F -p masqueradeIl ne faut jamais que votre règle par défaut soit le masquerading, sinon n'importe qui pouvant manipuler ses tables de routage pourra utiliser votre machine Linux pour masquer son identité !
Une fois encore, vous pouvez ajouter ces lignes à vos fichiers /etc/rc.local
, ou le faire manuellement à chaque fois que vous avez besoin de l'IP Masquerading.
Veuillez lire la section 4.4 pour des instructions détaillées sur Ipfwadm.
Il est maintenant temps de tester notre travail. Assurez vous que la connexion de votre hôte Linux à Internet est correcte.
Vous pouvez par exemple essayer de parcourir quelques sites Web (sur Internet !!!) depuis vos AUTRES machines, et voir ce que vous obtenez. Je recommande d'utiliser une adresse IP plutôt qu'un nom DNS lors de votre premier essai, puisque votre réglage pour le DNS peut être incorrect.
Par exemple, vous pouvez accéder au site Web du Linux Documentation Project à http://sunsite.unc.edu/mdw/linux.html en entrant http://152.2.254.81/mdw/linux.html
Si vous voyez le beau bateau, félicitations ! Ca marche ! Vous pouvez alors essayer avec un autre hôte, puis telnet, ftp, Real Audio, True Speech, etc...
Pour l'instant je n'ai eu aucun problème avec ces réglages, et c'est totalement grâce aux personnes qui ont passé du temps à faire fonctionner cette superbe fonctionnalité de Linux.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre