Add a new translated section (NAT).
This commit is contained in:
parent
efa65110f5
commit
826d6b6b86
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=18926
1 changed files with 318 additions and 4 deletions
|
@ -3,7 +3,7 @@
|
|||
The FreeBSD French Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
Original revision: 1.246
|
||||
Original revision: 1.248
|
||||
-->
|
||||
|
||||
<chapter id="advanced-networking">
|
||||
|
@ -64,7 +64,7 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Comment configurer la traduction d'adresse
|
||||
<para>Comment configurer la translation d'adresse
|
||||
réseau.</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -153,8 +153,322 @@
|
|||
</sect1>
|
||||
|
||||
<sect1 id="network-natd">
|
||||
<title>Network Address Translation</title>
|
||||
<para></para>
|
||||
<sect1info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Chern</firstname>
|
||||
<surname>Lee</surname>
|
||||
<contrib>Contribution de </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</sect1info>
|
||||
<title>Translation d'adresses</title>
|
||||
|
||||
<sect2 id="network-natoverview">
|
||||
<title>Généralités</title>
|
||||
<indexterm>
|
||||
<primary><application>natd</application></primary>
|
||||
</indexterm>
|
||||
<para>Le “daemon” de translation d'adresses
|
||||
(“Network Address Translation”—NAT) de &os;,
|
||||
généralement connu sous le nom de &man.natd.8; est
|
||||
un “daemon” qui accepte les paquets IP entrants,
|
||||
change l'adresse de la source par celle de la machine locale et
|
||||
ré-injecte les paquets dans le flux sortant des paquets
|
||||
IP. Le programme &man.natd.8; effectue cela en changeant
|
||||
l'adresse IP et le port source de sorte quand les données
|
||||
réponse arrivent il soit en mesure de déterminer
|
||||
la provenance des données d'origine et les
|
||||
transférer à l'émetteur original.</para>
|
||||
|
||||
<indexterm><primary>Partage de connexion Internet</primary></indexterm>
|
||||
<indexterm><primary>IP masquerading</primary></indexterm>
|
||||
|
||||
<para>L'utilisation classique de NAT est le partage de connexion
|
||||
Internet.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="network-natsetup">
|
||||
<title>Architecture du réseau</title>
|
||||
|
||||
<para>En raison de la diminution du nombre d'adresses IP libres
|
||||
sous IPv4, et de l'augmentation du nombre d'utilisateurs de
|
||||
lignes haut-débit comme le câble ou l'ADSL, le
|
||||
besoin d'utiliser une solution de partage de connexion est
|
||||
donc en constante augmentation. La possibilité de
|
||||
connecter plusieurs ordinateurs par l'intermédiaire
|
||||
d'une connexion et d'une adresse IP fait de &man.natd.8; une
|
||||
solution de choix.</para>
|
||||
|
||||
<para>Plus généralement, un utilisateur dispose
|
||||
d'une machine connecté sur la câble ou une ligne
|
||||
ADSL avec une adresse IP et désire utiliser cet
|
||||
ordinateur connecté pour fournir un accès
|
||||
Internet à d'autres machines du réseau
|
||||
local.</para>
|
||||
|
||||
<para>Pour cela, la machine &os; sur Internet doit jouer le
|
||||
rôle de passerelle. Cette machine passerelle doit avoir
|
||||
deux cartes réseaux—l'une pour se connecter au
|
||||
routeur Internet, l'autre est connectée au
|
||||
réseau local. Toutes les machines du réseau
|
||||
local sont connectées par l'intermédiaire d'un
|
||||
hub ou d'un switch.</para>
|
||||
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="advanced-networking/natd">
|
||||
</imageobject>
|
||||
|
||||
<textobject>
|
||||
<literallayout class="monospaced"> _______ __________ _________
|
||||
| | | | | |
|
||||
| Hub |-----| Client B |-----| Routeur |----- Internet
|
||||
|_______| |__________| |_________|
|
||||
|
|
||||
____|_____
|
||||
| |
|
||||
| Client A |
|
||||
|__________|</literallayout>
|
||||
</textobject>
|
||||
|
||||
<textobject>
|
||||
<phrase>Organisation du réseau</phrase>
|
||||
</textobject>
|
||||
</mediaobject>
|
||||
|
||||
<para>Une telle configuration est communément
|
||||
utilisée pour partager une connexion Internet. Une des
|
||||
machines du réseau local est connectée à
|
||||
Internet. Le reste des machines accède à
|
||||
Internet par l'intermédiaire de cette machine
|
||||
“passerelle”.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="network-natdkernconfiguration">
|
||||
<indexterm>
|
||||
<primary>noyau</primary>
|
||||
<secondary>configuration</secondary>
|
||||
</indexterm>
|
||||
<title>Configuration</title>
|
||||
|
||||
<para>Les options suivantes doivent être présentes
|
||||
dans le fichier de configuration du noyau:</para>
|
||||
|
||||
<programlisting>options IPFIREWALL
|
||||
options IPDIVERT</programlisting>
|
||||
|
||||
<para>De plus, les options suivantes peuvent également
|
||||
être utiles:</para>
|
||||
|
||||
<programlisting>options IPFIREWALL_DEFAULT_TO_ACCEPT
|
||||
options IPFIREWALL_VERBOSE</programlisting>
|
||||
|
||||
<para>Ce qui suit doit figurer dans le fichier
|
||||
<filename>/etc/rc.conf</filename>:</para>
|
||||
|
||||
<programlisting>gateway_enable="YES"
|
||||
firewall_enable="YES"
|
||||
firewall_type="OPEN"
|
||||
natd_enable="YES"
|
||||
natd_interface="<replaceable>fxp0</replaceable>"
|
||||
natd_flags=""</programlisting>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>gateway_enable="YES"</entry>
|
||||
<entry>Configure la machine comme passerelle.
|
||||
Exécuter
|
||||
<command>sysctl net.inet.ip.forwarding=1</command>
|
||||
aurait le même effet.</entry>
|
||||
</row>
|
||||
<row><entry>firewall_enable="YES"</entry>
|
||||
<entry>Active les règles du coupe-feu se
|
||||
trouvant dans le fichier
|
||||
<filename>/etc/rc.firewall</filename> au
|
||||
démarrage.</entry>
|
||||
</row>
|
||||
<row><entry>firewall_type="OPEN"</entry>
|
||||
<entry>Cela spécifie un ensemble de règles
|
||||
prédéfinies pour le coupe-feu qui autorise
|
||||
tous les paquets entrant. Consultez le fichier
|
||||
<filename>/etc/rc.firewall</filename> pour d'autres
|
||||
ensembles de régles.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>natd_interface="fxp0"</entry>
|
||||
<entry>Indique à travers quelle interface
|
||||
transférer les paquets (l'interface
|
||||
connectée à l'Internet).</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>natd_flags=""</entry>
|
||||
<entry>Toutes options de configuration
|
||||
supplémentaires passées à
|
||||
&man.natd.8; au démarrage.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Le fait d'avoir les options précédentes
|
||||
définies dans le fichier
|
||||
<filename>/etc/rc.conf</filename> lancera la commande
|
||||
<filename>/etc/rc.conf</filename> au démarrage. Cette
|
||||
commande peut être également
|
||||
exécutée à la main.</para>
|
||||
|
||||
<para>A chaque machine et interface derrière le
|
||||
réseau local doit être assigné une adresse
|
||||
IP de l'espace d'adresses privées comme défini
|
||||
par la <ulink url="ftp://ftp.isi.edu/in-notes/rfc1918.txt">RFC
|
||||
1918</ulink> et doit disposer d'une passerelle par
|
||||
défaut qui est l'adresse IP interne de la machine
|
||||
&man.natd.8;.</para>
|
||||
|
||||
<para>Par exemple, les clients <hostid>A</hostid> et
|
||||
<hostid>B</hostid> du réseau local ont les adresses IP
|
||||
<hostid role="ipaddr">192.168.0.2</hostid> et <hostid
|
||||
role="ipaddr">192.168.0.3</hostid>, tandis que l'interface sur
|
||||
le réseau local de la machine
|
||||
<application>natd</application> a pour adresse IP <hostid
|
||||
role="ipaddr">192.168.0.1</hostid>. La passerelle par
|
||||
défaut des clients <hostid>A</hostid> et
|
||||
<hostid>B</hostid> doit être l'adresse <hostid
|
||||
role="ipaddr">192.168.0.1</hostid> de la machine
|
||||
<application>natd</application>. L'interface externe ou
|
||||
Internet de cette dernière ne demande aucune
|
||||
modification spécifique pour que &man.natd.8; puisse
|
||||
fonctionner.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="network-natdport-redirection">
|
||||
<title>Redirection de ports</title>
|
||||
|
||||
<para>L'inconvénient avec &man.natd.8; est que les
|
||||
clients du réseau local ne sont pas accessibles depuis
|
||||
l'Internet. Les clients sur le réseau local peuvent
|
||||
établir des connexions sortantes vers le monde
|
||||
extérieur mais ne peuvent recevoir de connexions
|
||||
entrantes. Cela présente un problème si l'on
|
||||
tente de faire tourner des services Internet sur une des
|
||||
machines du réseau local. Une solution simple à
|
||||
ce problème est de rediriger les ports Internet
|
||||
sélectionnés de la machine
|
||||
<application>natd</application> vers le client sur le
|
||||
réseau local.</para>
|
||||
|
||||
<para>Par exemple, un serveur IRC tourne sur le client
|
||||
<hostid>A</hostid>, et un serveur web sur le client
|
||||
<hostid>B</hostid>. Pour que cela fonctionne correctement,
|
||||
les connections reçues sur les ports 6667 (IRC) et 80
|
||||
(web) doivent être redirigées vers les machines
|
||||
correspondantes.</para>
|
||||
|
||||
<para>L'option <option>-redirect_port</option> doit être
|
||||
passée à &man.natd.8; avec les autres options
|
||||
adéquates. La syntaxe est la suivante:</para>
|
||||
|
||||
<programlisting>-redirect_port proto targetIP:targetPORT[-targetPORT]
|
||||
[aliasIP:]aliasPORT[-aliasPORT]
|
||||
[remoteIP[:remotePORT[-remotePORT]]]</programlisting>
|
||||
|
||||
<para>Dans l'exemple précédent, l'argument
|
||||
passé à la commande devrait être:</para>
|
||||
|
||||
<programlisting>-redirect_port tcp 192.168.0.2:6667 6667
|
||||
-redirect_port tcp 192.168.0.3:80 80</programlisting>
|
||||
|
||||
<para>Cela va rediriger les ports <emphasis>tcp</emphasis>
|
||||
voulus vers les machines du réseau local.</para>
|
||||
|
||||
<para>L'option <option>-redirect_port</option> peut être
|
||||
utilisée pour indiquer une plage de ports plutôt
|
||||
que des ports individuels. Par exemple <replaceable>tcp
|
||||
192.168.0.2:2000-3000 2000-3000</replaceable> redirigerait
|
||||
toutes les connexions reçues sur les ports 2000
|
||||
à 3000 vers les ports 2000 à 3000 du client
|
||||
<hostid>A</hostid>.</para>
|
||||
|
||||
<para>Ces options peuvent être utilisées quand on
|
||||
exécute directement &man.natd.8; ou placées dans
|
||||
l'option <literal>natd_flags=""</literal> du fichier
|
||||
<filename>/etc/rc.conf</filename>.</para>
|
||||
|
||||
<para>Pour plus d'éléments et d'options de
|
||||
configuration consultez la page de manuel &man.natd.8;</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="network-natdaddress-redirection">
|
||||
<title>Redirection d'adresses</title>
|
||||
<indexterm><primary>redirection d'adresses</primary></indexterm>
|
||||
|
||||
<para>La redirection d'adresses est utile si plusieurs adresses
|
||||
IP sont disponibles mais doivent se trouver sur une seule
|
||||
machine. Avec cela, &man.natd.8; peut assigner à
|
||||
chaque client du réseau local sa propre adresse IP
|
||||
externe. Le programme &man.natd.8; récrit alors les
|
||||
paquets sortant des clients du réseau local avec
|
||||
l'adresse IP externe correcte et redirige tout le trafic
|
||||
entrant sur une adresse IP particulière vers la machine
|
||||
du réseau local correspondante. Ce principe est
|
||||
également connu sous le nom de translation d'adresses
|
||||
statique. Par exemple, les adresses IP <hostid
|
||||
role="ipaddr">128.1.1.1</hostid>, <hostid
|
||||
role="ipaddr">128.1.1.2</hostid>, et <hostid
|
||||
role="ipaddr">128.1.1.3</hostid> appartiennent à la
|
||||
passerelle <application>natd</application>. L'adresse <hostid
|
||||
role="ipaddr">128.1.1.1</hostid> peut être
|
||||
utilisée comme adresse IP externe de la passerelle
|
||||
<application>natd</application>, tandis que <hostid
|
||||
role="ipaddr">128.1.1.2</hostid> et <hostid
|
||||
role="ipaddr">128.1.1.3</hostid> sont redirigées vers
|
||||
les machines <hostid>A</hostid> et <hostid>B</hostid> du
|
||||
réseau local.</para>
|
||||
|
||||
<para>La syntaxe de l'option <option>-redirect_address</option>
|
||||
est la suivante:</para>
|
||||
|
||||
<programlisting>-redirect_address localIP publicIP</programlisting>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>localIP</entry>
|
||||
<entry>L'adresse IP interne du client sur le
|
||||
réseau local.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>publicIP</entry>
|
||||
<entry>L'adresse IP externe correspondant au client sur
|
||||
le réseau local.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Dans l'exemple, les arguments passés à la
|
||||
commande seraient:</para>
|
||||
|
||||
<programlisting>-redirect_address 192.168.0.2 128.1.1.2
|
||||
-redirect_address 192.168.0.3 128.1.1.3</programlisting>
|
||||
|
||||
<para>Comme pour l'option <option>-redirect_port</option>, ces
|
||||
options peuvent être placées dans l'option
|
||||
<literal>natd_flags=""</literal> du fichier
|
||||
<filename>/etc/rc.conf</filename>. Avec la redirection
|
||||
d'adresse, il n'y a pas besoin de redirection de ports puisque
|
||||
toutes les données reçues sur une IP
|
||||
particulière sont redirigées.</para>
|
||||
|
||||
<para>Les adresses IP sur la machine
|
||||
<application>natd</application> doivent être active et
|
||||
pointer sur l'interface externe. Consultez la page de manuel
|
||||
&man.rc.conf.5; pour cela.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="network-inetd">
|
||||
|
|
Loading…
Reference in a new issue