j'ai une machine avec 3 interfaces réseaux.
eth0 qui est connecté à internet, et ma route par défaut.
eth1 qui a un autre accès à internet.
eth2 qui est connecté sur un réseau local.
Je souhaite que le trafic réseau d'eth2 sorte par eth1.
Je souhaite que mon trafic local continue d'utiliser eth0 comme
interface de sortie.
Dans les faits, je devrais ajouter une route par défaut:
ip route add table 4 default via A.B.C.D
ip rule add fwmark 4 table 4
marquer les paquets correspondants:
iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4
et les masquerader:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Belhomme
Le Tue, 01 Jul 2014 09:47:41 +0000, Kevin Denis a écrit :
Dans les faits, je devrais ajouter une route par défaut: ip route add table 4 default via A.B.C.D ip rule add fwmark 4 table 4 marquer les paquets correspondants: iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4 et les masquerader: iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
C'est OK?
Oui
-- Rico
Le Tue, 01 Jul 2014 09:47:41 +0000, Kevin Denis a écrit :
Dans les faits, je devrais ajouter une route par défaut:
ip route add table 4 default via A.B.C.D ip rule add fwmark 4 table 4
marquer les paquets correspondants:
iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4 et les
masquerader:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Le Tue, 01 Jul 2014 09:47:41 +0000, Kevin Denis a écrit :
Dans les faits, je devrais ajouter une route par défaut: ip route add table 4 default via A.B.C.D ip rule add fwmark 4 table 4 marquer les paquets correspondants: iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4 et les masquerader: iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
C'est OK?
Oui
-- Rico
Pascal Hambourg
Kevin Denis a écrit :
Je souhaite que le trafic réseau d'eth2 sorte par eth1. Je souhaite que mon trafic local continue d'utiliser eth0 comme interface de sortie.
Dans les faits, je devrais ajouter une route par défaut: ip route add table 4 default via A.B.C.D ip rule add fwmark 4 table 4 marquer les paquets correspondants: iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4 et les masquerader: iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Pas besoin de marquer avec iptables, il y a plus simple :
ip rule add iif eth2 table 4
iif NAME select the incoming device to match. If the interface is loop- back, the rule only matches packets originating from this host. This means that you may create separate routing tables for for- warded and local packets and, hence, completely segregate them.
Vérifier aussi que rp_filter est désactivé sur eth2 pour que le trafic entrant ne soit pas bloqué.
Kevin Denis a écrit :
Je souhaite que le trafic réseau d'eth2 sorte par eth1.
Je souhaite que mon trafic local continue d'utiliser eth0 comme
interface de sortie.
Dans les faits, je devrais ajouter une route par défaut:
ip route add table 4 default via A.B.C.D
ip rule add fwmark 4 table 4
marquer les paquets correspondants:
iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4
et les masquerader:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Pas besoin de marquer avec iptables, il y a plus simple :
ip rule add iif eth2 table 4
iif NAME
select the incoming device to match. If the interface is loop-
back, the rule only matches packets originating from this host.
This means that you may create separate routing tables for for-
warded and local packets and, hence, completely segregate them.
Vérifier aussi que rp_filter est désactivé sur eth2 pour que le trafic
entrant ne soit pas bloqué.
Je souhaite que le trafic réseau d'eth2 sorte par eth1. Je souhaite que mon trafic local continue d'utiliser eth0 comme interface de sortie.
Dans les faits, je devrais ajouter une route par défaut: ip route add table 4 default via A.B.C.D ip rule add fwmark 4 table 4 marquer les paquets correspondants: iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4 et les masquerader: iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Pas besoin de marquer avec iptables, il y a plus simple :
ip rule add iif eth2 table 4
iif NAME select the incoming device to match. If the interface is loop- back, the rule only matches packets originating from this host. This means that you may create separate routing tables for for- warded and local packets and, hence, completely segregate them.
Vérifier aussi que rp_filter est désactivé sur eth2 pour que le trafic entrant ne soit pas bloqué.
Francois Lafont
Bonsoir,
Le 02/07/2014 22:51, Pascal Hambourg a écrit :
Dans les faits, je devrais ajouter une route par défaut: ip route add table 4 default via A.B.C.D ip rule add fwmark 4 table 4 marquer les paquets correspondants: iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4 et les masquerader: iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Pas besoin de marquer avec iptables, il y a plus simple :
ip rule add iif eth2 table 4
iif NAME select the incoming device to match. If the interface is loop- back, the rule only matches packets originating from this host. This means that you may create separate routing tables for for- warded and local packets and, hence, completely segregate them.
Vérifier aussi que rp_filter est désactivé sur eth2 pour que le trafic entrant ne soit pas bloqué.
Je me permets de poser deux petites questions par rapport à ce fil car j'ai plus ou moins découvert les commandes ci-dessus (enfin les options utilisées) en lisant ce post :
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est d'accord que ça pourrait parfaitement être une autre valeur que 4, ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et 255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison particulière pour que cet ID coïncide avec la valeur de l'option --set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
J'ai bon ? Merci d'avance.
-- François Lafont
Bonsoir,
Le 02/07/2014 22:51, Pascal Hambourg a écrit :
Dans les faits, je devrais ajouter une route par défaut:
ip route add table 4 default via A.B.C.D
ip rule add fwmark 4 table 4
marquer les paquets correspondants:
iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4
et les masquerader:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Pas besoin de marquer avec iptables, il y a plus simple :
ip rule add iif eth2 table 4
iif NAME
select the incoming device to match. If the interface is loop-
back, the rule only matches packets originating from this host.
This means that you may create separate routing tables for for-
warded and local packets and, hence, completely segregate them.
Vérifier aussi que rp_filter est désactivé sur eth2 pour que le trafic
entrant ne soit pas bloqué.
Je me permets de poser deux petites questions par rapport à ce fil
car j'ai plus ou moins découvert les commandes ci-dessus (enfin les
options utilisées) en lisant ce post :
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est
d'accord que ça pourrait parfaitement être une autre valeur que 4,
ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et
255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison
particulière pour que cet ID coïncide avec la valeur de l'option
--set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe
quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
Dans les faits, je devrais ajouter une route par défaut: ip route add table 4 default via A.B.C.D ip rule add fwmark 4 table 4 marquer les paquets correspondants: iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 4 et les masquerader: iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Pas besoin de marquer avec iptables, il y a plus simple :
ip rule add iif eth2 table 4
iif NAME select the incoming device to match. If the interface is loop- back, the rule only matches packets originating from this host. This means that you may create separate routing tables for for- warded and local packets and, hence, completely segregate them.
Vérifier aussi que rp_filter est désactivé sur eth2 pour que le trafic entrant ne soit pas bloqué.
Je me permets de poser deux petites questions par rapport à ce fil car j'ai plus ou moins découvert les commandes ci-dessus (enfin les options utilisées) en lisant ce post :
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est d'accord que ça pourrait parfaitement être une autre valeur que 4, ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et 255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison particulière pour que cet ID coïncide avec la valeur de l'option --set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
J'ai bon ? Merci d'avance.
-- François Lafont
Pascal Hambourg
Francois Lafont a écrit :
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est d'accord que ça pourrait parfaitement être une autre valeur que 4, ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et 255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison particulière pour que cet ID coïncide avec la valeur de l'option --set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
J'ai bon ?
Oui, sauf que la marque est sur 32 bits et n'est donc pas limitée aux valeurs entre1 et 32. Faire coïncider la marque et la table est juste une facilité pour s'y retrouver.
Francois Lafont a écrit :
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est
d'accord que ça pourrait parfaitement être une autre valeur que 4,
ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et
255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison
particulière pour que cet ID coïncide avec la valeur de l'option
--set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe
quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
J'ai bon ?
Oui, sauf que la marque est sur 32 bits et n'est donc pas limitée aux
valeurs entre1 et 32. Faire coïncider la marque et la table est juste
une facilité pour s'y retrouver.
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est d'accord que ça pourrait parfaitement être une autre valeur que 4, ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et 255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison particulière pour que cet ID coïncide avec la valeur de l'option --set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
J'ai bon ?
Oui, sauf que la marque est sur 32 bits et n'est donc pas limitée aux valeurs entre1 et 32. Faire coïncider la marque et la table est juste une facilité pour s'y retrouver.
Francois Lafont
Bonsoir,
Le 03/07/2014 21:00, Pascal Hambourg a écrit :
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est d'accord que ça pourrait parfaitement être une autre valeur que 4, ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et 255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison particulière pour que cet ID coïncide avec la valeur de l'option --set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
J'ai bon ?
Oui, sauf que la marque est sur 32 bits et n'est donc pas limitée aux valeurs entre1 et 32.
Même en lisant le man, j'ai pas trop compris les valeurs qu'on peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32 (qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Par ailleurs, cette marque, « concrètement », ça correspond à quoi ? Au départ, l'idée de "marque" m'incitait à penser que c'était une zone de l'entête du paquet IP qui était carrément modifiée. Mais j'ai des doutes. Ou alors c'est une valeur « externe » qui n'est pas inscrite dans le paquet IP lui-même mais qui est stockée par le noyau et associée au paquet durant son parcours dans le noyau ?
Faire coïncider la marque et la table est juste une facilité pour s'y retrouver.
Ok. Merci de m'avoir confirmé ce que je soupçonnais.
-- François Lafont
Bonsoir,
Le 03/07/2014 21:00, Pascal Hambourg a écrit :
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est
d'accord que ça pourrait parfaitement être une autre valeur que 4,
ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et
255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison
particulière pour que cet ID coïncide avec la valeur de l'option
--set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe
quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
J'ai bon ?
Oui, sauf que la marque est sur 32 bits et n'est donc pas limitée aux
valeurs entre1 et 32.
Même en lisant le man, j'ai pas trop compris les valeurs qu'on
peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32
(qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Par ailleurs, cette marque, « concrètement », ça correspond à
quoi ? Au départ, l'idée de "marque" m'incitait à penser que
c'était une zone de l'entête du paquet IP qui était carrément
modifiée. Mais j'ai des doutes. Ou alors c'est une valeur
« externe » qui n'est pas inscrite dans le paquet IP lui-même
mais qui est stockée par le noyau et associée au paquet durant
son parcours dans le noyau ?
Faire coïncider la marque et la table est juste
une facilité pour s'y retrouver.
Ok. Merci de m'avoir confirmé ce que je soupçonnais.
1. Au niveau de l'ID de la table (4 en l'occurrence ici), on est d'accord que ça pourrait parfaitement être une autre valeur que 4, ie n'importe quelle valeur entre 1 et 2^31 autre que 0, 253, 254 et 255 (si j'ai bien lu le man) et que notamment il n'y a aucune raison particulière pour que cet ID coïncide avec la valeur de l'option --set-mark ?
2. Au niveau de la valeur de l'option --set-mark, là aussi, n'importe quelle autre valeur de 1 à 32 ferait parfaitement l'affaire ?
J'ai bon ?
Oui, sauf que la marque est sur 32 bits et n'est donc pas limitée aux valeurs entre1 et 32.
Même en lisant le man, j'ai pas trop compris les valeurs qu'on peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32 (qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Par ailleurs, cette marque, « concrètement », ça correspond à quoi ? Au départ, l'idée de "marque" m'incitait à penser que c'était une zone de l'entête du paquet IP qui était carrément modifiée. Mais j'ai des doutes. Ou alors c'est une valeur « externe » qui n'est pas inscrite dans le paquet IP lui-même mais qui est stockée par le noyau et associée au paquet durant son parcours dans le noyau ?
Faire coïncider la marque et la table est juste une facilité pour s'y retrouver.
Ok. Merci de m'avoir confirmé ce que je soupçonnais.
-- François Lafont
Pascal Hambourg
Francois Lafont a écrit :
Même en lisant le man, j'ai pas trop compris les valeurs qu'on peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32 (qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Oui.
Par ailleurs, cette marque, « concrètement », ça correspond à quoi ? Au départ, l'idée de "marque" m'incitait à penser que c'était une zone de l'entête du paquet IP qui était carrément modifiée.
Non.
Ou alors c'est une valeur « externe » qui n'est pas inscrite dans le paquet IP lui-même mais qui est stockée par le noyau et associée au paquet durant son parcours dans le noyau ?
Oui.
Francois Lafont a écrit :
Même en lisant le man, j'ai pas trop compris les valeurs qu'on
peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32
(qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Oui.
Par ailleurs, cette marque, « concrètement », ça correspond à
quoi ? Au départ, l'idée de "marque" m'incitait à penser que
c'était une zone de l'entête du paquet IP qui était carrément
modifiée.
Non.
Ou alors c'est une valeur
« externe » qui n'est pas inscrite dans le paquet IP lui-même
mais qui est stockée par le noyau et associée au paquet durant
son parcours dans le noyau ?
Même en lisant le man, j'ai pas trop compris les valeurs qu'on peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32 (qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Oui.
Par ailleurs, cette marque, « concrètement », ça correspond à quoi ? Au départ, l'idée de "marque" m'incitait à penser que c'était une zone de l'entête du paquet IP qui était carrément modifiée.
Non.
Ou alors c'est une valeur « externe » qui n'est pas inscrite dans le paquet IP lui-même mais qui est stockée par le noyau et associée au paquet durant son parcours dans le noyau ?
Oui.
Francois Lafont
Le 04/07/2014 21:09, Pascal Hambourg a écrit :
Même en lisant le man, j'ai pas trop compris les valeurs qu'on peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32 (qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Oui.
Par ailleurs, cette marque, « concrètement », ça correspond à quoi ? Au départ, l'idée de "marque" m'incitait à penser que c'était une zone de l'entête du paquet IP qui était carrément modifiée.
Non.
Ou alors c'est une valeur « externe » qui n'est pas inscrite dans le paquet IP lui-même mais qui est stockée par le noyau et associée au paquet durant son parcours dans le noyau ?
Oui.
Ok, merci. ;)
-- François Lafont
Le 04/07/2014 21:09, Pascal Hambourg a écrit :
Même en lisant le man, j'ai pas trop compris les valeurs qu'on
peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32
(qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Oui.
Par ailleurs, cette marque, « concrètement », ça correspond à
quoi ? Au départ, l'idée de "marque" m'incitait à penser que
c'était une zone de l'entête du paquet IP qui était carrément
modifiée.
Non.
Ou alors c'est une valeur
« externe » qui n'est pas inscrite dans le paquet IP lui-même
mais qui est stockée par le noyau et associée au paquet durant
son parcours dans le noyau ?
Même en lisant le man, j'ai pas trop compris les valeurs qu'on peut indiquer à --set-mark. C'est un entier allant de 1 à 2^32 (qu'on peut écrire en décimal ou en hexadécimal avec 0x...) ?
Oui.
Par ailleurs, cette marque, « concrètement », ça correspond à quoi ? Au départ, l'idée de "marque" m'incitait à penser que c'était une zone de l'entête du paquet IP qui était carrément modifiée.
Non.
Ou alors c'est une valeur « externe » qui n'est pas inscrite dans le paquet IP lui-même mais qui est stockée par le noyau et associée au paquet durant son parcours dans le noyau ?