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
|
The FreeBSD French Documentation Project
|
||||||
|
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
Original revision: 1.246
|
Original revision: 1.248
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="advanced-networking">
|
<chapter id="advanced-networking">
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Comment configurer la traduction d'adresse
|
<para>Comment configurer la translation d'adresse
|
||||||
réseau.</para>
|
réseau.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -153,8 +153,322 @@
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="network-natd">
|
<sect1 id="network-natd">
|
||||||
<title>Network Address Translation</title>
|
<sect1info>
|
||||||
<para></para>
|
<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>
|
||||||
|
|
||||||
<sect1 id="network-inetd">
|
<sect1 id="network-inetd">
|
||||||
|
|
Loading…
Reference in a new issue