Qu'est-ce que MASQUERADE dans le contexte d'iptables?
42
À iptablesplusieurs reprises, je vois la cible MASQUERADE . Qu'est-ce que c'est? J'ai cherché et trouvé beaucoup de choses. Mais j'ai besoin de quelqu'un pour m'expliquer ce qu'est MASQUERADE d'une manière facile à comprendre?
C'est un algorithme dépendant de l'implémentation d'iptables qui permet d'acheminer le trafic sans perturber le trafic d'origine.
J'utilise l'algorithme de mascarade lorsque je veux créer un adaptateur wifi virtuel et partager mon wifi.
Je ne parle PAS de partager une connexion Ethernet via votre wifi, je parle de partager la connexion wifi via votre wifi via le masquerading à un adaptateur virtuel. Cela vous permet en effet de partager votre connexion wifi via wifi.
Je n'aime vraiment pas comment les moteurs de recherche font de l'algorithme un type de piratage diabolique. Je l'utilise simplement pour partager mon Internet avec mes téléphones Android.
comme votre premier lien qui était - exactement - ce que je cherche :)
Mohammad Reza Rezwani
J'ai testé la MASUERADErègle (la troisième ligne de votre liste de code) et le lien est exactement partagé et disponible entre les interfaces. Par conséquent, je suis frustré quelle est la FORWARDrègle? (la règle sur la deuxième ligne dans votre liste de code)
千木郷
34
MASQUERADE est une cible iptables qui peut être utilisée à la place de la cible SNAT (NAT source) lorsque l'adresse IP externe de l'interface inet n'est pas connue au moment de l'écriture de la règle (lorsque le serveur obtient une adresse IP externe de manière dynamique).
Que faut-il utiliser lorsque l'adresse IP est connue?
Luc
4
@Luc, cible SNAT (traduction de l'adresse réseau source) avec la définition de l'adresse IP source à placer à la place de l'adresse IP source d'origine dans le paquet ip de l'hôte d'origine. Comme ceci, -j SNAT --to-source xx.xx.xx.xxoù xx.xx.xx.xx est l'adresse IP externe de l'interface souhaitée. Et je ne peux pas dire qu'il devrait être utilisé lorsque l'ip externe est connue. Je préférerais utiliser MASQUERADE au lieu de SNAT pour rendre les règles souples et non liées à une adresse IP externe spécifique que je possède pour le moment.
Sergey P. dit azure
7
IP Masquerade est également appelé traduction d'adresses réseau (NAT) et partage de connexion réseau avec d'autres systèmes d'exploitation populaires. Il s’agit en gros d’une méthode permettant à un ordinateur qui n’a pas d’adresse IP large Internet de communiquer avec d’autres ordinateurs sur Internet à l’aide d’un autre ordinateur installé entre lui et Internet.
Comme vous le savez, les adresses IP sont utilisées sur Internet pour identifier les machines. Étant donné un paquet avec une adresse IP, chaque routeur Internet constitue le lieu où envoyer ce paquet pour le recevoir à sa destination. À présent, il existe également quelques plages d'adresses IP réservées pour un usage privé à l'intérieur de réseaux locaux et d'autres réseaux non directement connectés à Internet. Il est garanti que ces adresses privées ne seront pas utilisées sur l’Internet public.
Cela pose des problèmes car les machines connectées à des réseaux privés utilisent des adresses IP privées, car elles ne peuvent pas être connectées directement à Internet. Ils n'ont pas d'adresse IP autorisée à être utilisée sur l'Internet public. IP Masquerade résout ce problème en permettant à un ordinateur doté d'une adresse IP privée de communiquer avec Internet, tout en modifiant ses paquets pour utiliser une adresse IP publique valide à la place de l'adresse IP privée d'origine. Les paquets renvoyés depuis Internet sont modifiés pour utiliser l'adresse IP d'origine avant d'atteindre la machine IP privée.
Notez que cela n’est pas limité au réseau Internet. Le masquage / NAT peut être utilisé pour acheminer le trafic d’un réseau à un autre, par exemple 10.0.0.0/24 et 192.168.0.0/24.
La règle de masquage Iptables peut être remplacée par la règle SNAT
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth2 -j SNAT --to-source 192.168.1.2
# supposing eth2 assigned ip is 192.168.1.2
À la fois masquerade et snat, ip_forward doit être activé au niveau du noyau avec echo "1" > /proc/sys/net/ipv4/ip_forwardou de façon permanente en modifiant le fichier de paramètres nano /etc/sysctl.conf.
IP Forward fait en sorte que la machine se comporte comme un routeur et redirige / transfère ainsi les paquets de toutes les interfaces actives de manière logique par le réseau ciblé (local / net / autre / etc.) ou en suivant le tableau de routage. Notez que l'activation de ip_forward peut présenter un risque de sécurité important. Si ip_forward ne peut pas être évité, il doit être supervisé / sécurisé par des règles iptables / route supplémentaires.
MASUERADE
règle (la troisième ligne de votre liste de code) et le lien est exactement partagé et disponible entre les interfaces. Par conséquent, je suis frustré quelle est laFORWARD
règle? (la règle sur la deuxième ligne dans votre liste de code)MASQUERADE est une cible iptables qui peut être utilisée à la place de la cible SNAT (NAT source) lorsque l'adresse IP externe de l'interface inet n'est pas connue au moment de l'écriture de la règle (lorsque le serveur obtient une adresse IP externe de manière dynamique).
la source
-j SNAT --to-source xx.xx.xx.xx
où xx.xx.xx.xx est l'adresse IP externe de l'interface souhaitée. Et je ne peux pas dire qu'il devrait être utilisé lorsque l'ip externe est connue. Je préférerais utiliser MASQUERADE au lieu de SNAT pour rendre les règles souples et non liées à une adresse IP externe spécifique que je possède pour le moment.IP Masquerade est également appelé traduction d'adresses réseau (NAT) et partage de connexion réseau avec d'autres systèmes d'exploitation populaires. Il s’agit en gros d’une méthode permettant à un ordinateur qui n’a pas d’adresse IP large Internet de communiquer avec d’autres ordinateurs sur Internet à l’aide d’un autre ordinateur installé entre lui et Internet.
Comme vous le savez, les adresses IP sont utilisées sur Internet pour identifier les machines. Étant donné un paquet avec une adresse IP, chaque routeur Internet constitue le lieu où envoyer ce paquet pour le recevoir à sa destination. À présent, il existe également quelques plages d'adresses IP réservées pour un usage privé à l'intérieur de réseaux locaux et d'autres réseaux non directement connectés à Internet. Il est garanti que ces adresses privées ne seront pas utilisées sur l’Internet public.
Cela pose des problèmes car les machines connectées à des réseaux privés utilisent des adresses IP privées, car elles ne peuvent pas être connectées directement à Internet. Ils n'ont pas d'adresse IP autorisée à être utilisée sur l'Internet public. IP Masquerade résout ce problème en permettant à un ordinateur doté d'une adresse IP privée de communiquer avec Internet, tout en modifiant ses paquets pour utiliser une adresse IP publique valide à la place de l'adresse IP privée d'origine. Les paquets renvoyés depuis Internet sont modifiés pour utiliser l'adresse IP d'origine avant d'atteindre la machine IP privée.
Notez que cela n’est pas limité au réseau Internet. Le masquage / NAT peut être utilisé pour acheminer le trafic d’un réseau à un autre, par exemple 10.0.0.0/24 et 192.168.0.0/24.
La règle de masquage Iptables peut être remplacée par la règle SNAT
=
À la fois masquerade et snat, ip_forward doit être activé au niveau du noyau avec echo
"1" > /proc/sys/net/ipv4/ip_forward
ou de façon permanente en modifiant le fichier de paramètres nano/etc/sysctl.conf
.IP Forward fait en sorte que la machine se comporte comme un routeur et redirige / transfère ainsi les paquets de toutes les interfaces actives de manière logique par le réseau ciblé (local / net / autre / etc.) ou en suivant le tableau de routage. Notez que l'activation de ip_forward peut présenter un risque de sécurité important. Si ip_forward ne peut pas être évité, il doit être supervisé / sécurisé par des règles iptables / route supplémentaires.
la source