Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-16 Par sujet Jérémy Prego



Le 17/04/2019 à 07:27, Pascal Hambourg a écrit :
> Le 16/04/2019 à 18:44, Jérémy Prego a écrit :
>>
>> j'ai testé ça qui ne fonctionne pas non plus:
>> iptables -t mangle -D ROUTING-POLICY -d jeremy.domain.net -m conntrack
>> --ctstate NEW -j CONNMARK --set-mark 0x1
>> iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.net -j CONNMARK
>> --restore-markc
>
> Je suppose que -D et --restore-markc sont des erreurs de copier-coller ?
oui

> Qu'est-ce qui se passe exactement ?
>

ça ne sort pas du tout ... c'est pour ça que j'aimerai bien un peu
d'aide sur les règles a appliquer vraiment pour comprendre parce que là
je patauge vraiment. j'ai aucune idée de ce qu'est une bonne règle dans
ce cas précis.

Jerem



Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-16 Par sujet Pascal Hambourg

Le 16/04/2019 à 18:44, Jérémy Prego a écrit :


j'ai testé ça qui ne fonctionne pas non plus:
iptables -t mangle -D ROUTING-POLICY -d jeremy.domain.net -m conntrack
--ctstate NEW -j CONNMARK --set-mark 0x1
iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.net -j CONNMARK
--restore-markc


Je suppose que -D et --restore-markc sont des erreurs de copier-coller ?
Qu'est-ce qui se passe exactement ?



Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-16 Par sujet Daniel Huhardeaux

Le 16/04/2019 à 18:44, Jérémy Prego a écrit :

Le 16/04/2019 à 07:05, Pascal Hambourg a écrit :

Le 16/04/2019 à 03:48, Jérémy Prego a écrit :


Le 15/04/2019 à 20:18, Pascal Hambourg a écrit :

Si je comprends bien tu veux marquer seulement les paquets des
connexions sortantes. Une solution consiste à utiliser le marquage de
connexion avec la cible CONNMARK et la correspondance connmark.


pourrais-tu m'éclaircir sur cette partie en me fournissant un exemple de
règle ? je trouve rien qui correspond vraiment après avoir testé
plusieurs règles trouvé et adapté ici et là ...

par exemple j'ai trouvé et adapté une règles comme ça:
iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.net -m conntrack
--ctstate NEW -j CONNMARK --set-mark 0x3
iptables -t mangle -A ROUTING-POLICY -j CONNMARK --restore-mark

vu que ça ne correspond pas tout à fait à ce que tu indiques plus haut
et que le résultat n'est pas vraiment celui attendu je suppose que je
suis pas bon. Un peu d'aide afin de comprendre comment former ma règle
ne serait pas de refus.


La seconde règle ne doit marquer que les paquets à destination de
l'adresse distante. Il ne faut pas rerouter les paquets provenant de
cette adresse.



j'ai testé ça qui ne fonctionne pas non plus:
iptables -t mangle -D ROUTING-POLICY -d jeremy.domain.net -m conntrack
--ctstate NEW -j CONNMARK --set-mark 0x1
iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.net -j CONNMARK
--restore-markc

de ce que j'ai lu, il semble falloir plusieurs règles par destination
une pour marquer les paquets et une autre  pour restaurer, mais une aide
supplémentaire ne serait pas de refus parce que là j'arrive pas a grand
chose. beaucoup de tuto que j'ai trouvé sur internet ne souhaite que
faire de la répartition de charge et pas faire du routage avancé dans le
sens un host // une connexion. ou alors, quand je trouve ça ça utilise
encore -J MARK donc comme je fais jusqu'à présent.

merci encore pour l'assistance.


Tu as bien

# marked packets go out through there route
ip rule add fwmark $markISP1 table isp1
ip rule add fwmark $markISP2 table isp2

?

--
Daniel Huhardeaux
+33.368460...@tootai.netsip:8...@sip.tootai.net
+41.445532...@swiss-itech.ch  tootaiNET



Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-16 Par sujet Jérémy Prego
Le 16/04/2019 à 07:05, Pascal Hambourg a écrit :
> Le 16/04/2019 à 03:48, Jérémy Prego a écrit :
>>
>> Le 15/04/2019 à 20:18, Pascal Hambourg a écrit :
>>> Si je comprends bien tu veux marquer seulement les paquets des
>>> connexions sortantes. Une solution consiste à utiliser le marquage de
>>> connexion avec la cible CONNMARK et la correspondance connmark.
>>
>> pourrais-tu m'éclaircir sur cette partie en me fournissant un exemple de
>> règle ? je trouve rien qui correspond vraiment après avoir testé
>> plusieurs règles trouvé et adapté ici et là ...
>>
>> par exemple j'ai trouvé et adapté une règles comme ça:
>> iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.net -m conntrack
>> --ctstate NEW -j CONNMARK --set-mark 0x3
>> iptables -t mangle -A ROUTING-POLICY -j CONNMARK --restore-mark
>>
>> vu que ça ne correspond pas tout à fait à ce que tu indiques plus haut
>> et que le résultat n'est pas vraiment celui attendu je suppose que je
>> suis pas bon. Un peu d'aide afin de comprendre comment former ma règle
>> ne serait pas de refus.
>
> La seconde règle ne doit marquer que les paquets à destination de
> l'adresse distante. Il ne faut pas rerouter les paquets provenant de
> cette adresse.
>

j'ai testé ça qui ne fonctionne pas non plus:
iptables -t mangle -D ROUTING-POLICY -d jeremy.domain.net -m conntrack
--ctstate NEW -j CONNMARK --set-mark 0x1
iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.net -j CONNMARK
--restore-markc

de ce que j'ai lu, il semble falloir plusieurs règles par destination
une pour marquer les paquets et une autre  pour restaurer, mais une aide
supplémentaire ne serait pas de refus parce que là j'arrive pas a grand
chose. beaucoup de tuto que j'ai trouvé sur internet ne souhaite que
faire de la répartition de charge et pas faire du routage avancé dans le
sens un host // une connexion. ou alors, quand je trouve ça ça utilise
encore -J MARK donc comme je fais jusqu'à présent.

merci encore pour l'assistance.

Jerem



Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-15 Par sujet Pascal Hambourg

Le 16/04/2019 à 03:48, Jérémy Prego a écrit :


Le 15/04/2019 à 20:18, Pascal Hambourg a écrit :

Si je comprends bien tu veux marquer seulement les paquets des
connexions sortantes. Une solution consiste à utiliser le marquage de
connexion avec la cible CONNMARK et la correspondance connmark.


pourrais-tu m'éclaircir sur cette partie en me fournissant un exemple de
règle ? je trouve rien qui correspond vraiment après avoir testé
plusieurs règles trouvé et adapté ici et là ...

par exemple j'ai trouvé et adapté une règles comme ça:
iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.net -m conntrack
--ctstate NEW -j CONNMARK --set-mark 0x3
iptables -t mangle -A ROUTING-POLICY -j CONNMARK --restore-mark

vu que ça ne correspond pas tout à fait à ce que tu indiques plus haut
et que le résultat n'est pas vraiment celui attendu je suppose que je
suis pas bon. Un peu d'aide afin de comprendre comment former ma règle
ne serait pas de refus.


La seconde règle ne doit marquer que les paquets à destination de 
l'adresse distante. Il ne faut pas rerouter les paquets provenant de 
cette adresse.




Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-15 Par sujet Jérémy Prego



Le 15/04/2019 à 20:18, Pascal Hambourg a écrit :
> Si je comprends bien tu veux marquer seulement les paquets des
> connexions sortantes. Une solution consiste à utiliser le marquage de
> connexion avec la cible >CONNMARK et la correspondance connmark.

pourrais-tu m'éclaircir sur cette partie en me fournissant un exemple de
règle ? je trouve rien qui correspond vraiment après avoir testé
plusieurs règles trouvé et adapté ici et là ...

par exemple j'ai trouvé et adapté une règles comme ça:
iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.net -m conntrack
--ctstate NEW -j CONNMARK --set-mark 0x3
iptables -t mangle -A ROUTING-POLICY -j CONNMARK --restore-mark

vu que ça ne correspond pas tout à fait à ce que tu indiques plus haut
et que le résultat n'est pas vraiment celui attendu je suppose que je
suis pas bon. Un peu d'aide afin de comprendre comment former ma règle
ne serait pas de refus.

Merci beaucoup.

Jerem



Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-15 Par sujet Jérémy Prego
Le 15/04/2019 à 20:18, Pascal Hambourg a écrit :
> Je n'ai rien compris. Et pourtant j'ai la prétention de m'y connaître
> un peu.
>
oups, je n'utilise pas les bon termes.
>> est-ce qu'une solution existe pour que si ça arrive par l'interface
>> wan0, ça reparte par la même interface et que ça ne passe pas par les
>> règle que j'ai mis pour l'output ?
>
>
>> pour rappel, un petit exemple de ce que je fais:
>> ##routage alternatif
>> iptables -t mangle -N ROUTING-POLICY
>> iptables -t mangle -A OUTPUT -j ROUTING-POLICY
>> iptables -t mangle -A PREROUTING -j ROUTING-POLICY
>> iptables -t mangle -D ROUTING-POLICY -d jeremy.domain.net -j MARK
>> --set-mark 0x3
>
> -D, vraiment ?

non, -A bien entendu. erreur de copier / coller.
>
> C'est du routage avancé, pas de la redirection. Pas étonnant que je
> n'ai rien compris.

oui, routage avancé, pardon. au temps pour moi.

>
> Si je comprends bien tu veux marquer seulement les paquets des
> connexions sortantes. Une solution consiste à utiliser le marquage de
> connexion avec la cible CONNMARK et la correspondance connmark.

oui, exactement. du coup je vais tester ça, merci.

> Une autre possibilité plus simple mais probablement incomplète
> consiste à discriminer l'adresse source originelle de la connexion
> avec l'option --ctorigsrc de la correspondance conntrack, en ajoutant
> à la règle de marquage :
>
> -m conntrack ! --ctorigsrc jeremy.domain.net
>

ça pour le coup j'ai pas trop compris, mais je relierai ça si la
solution 1 ne fonctionne pas :)

Merci Pascal.

Jerem



Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-15 Par sujet Pascal Hambourg

Le 15/04/2019 à 00:43, Jérémy Prego a écrit :


en ce Dimanche nocturne je me décide à poser ma question ici. En effet,
je fais de la redirection d'IP en OUTPUT et en PREROUTING avec iptables.
depuis la machine routeur et le réseau local derrière c'est parfait la
machine jeremy.domain.net passe bien par la connexion que j'ai demandé a
Iptables.
Le souci est quand de la machine jeremy.domain.net qui se trouve donc
sur internet je cherche à contacter le routeur par son interface
principale, il se passe un truc très embêtant, Iptables renvoie les
réponses par l'interface que j'ai choisi pour ma redirection de
l'OUTPUT. Du coup, ça ne peut pas fonctionner, forcément.


Je n'ai rien compris. Et pourtant j'ai la prétention de m'y connaître un 
peu.



est-ce qu'une solution existe pour que si ça arrive par l'interface
wan0, ça reparte par la même interface et que ça ne passe pas par les
règle que j'ai mis pour l'output ?


Qu'entends-tu par "ça" ? Si tu parles de paquets, ce ne sont pas les 
mêmes qui arrivent et qui partent.



pour rappel, un petit exemple de ce que je fais:
##routage alternatif
iptables -t mangle -N ROUTING-POLICY
iptables -t mangle -A OUTPUT -j ROUTING-POLICY
iptables -t mangle -A PREROUTING -j ROUTING-POLICY
iptables -t mangle -D ROUTING-POLICY -d jeremy.domain.net -j MARK
--set-mark 0x3


-D, vraiment ?

C'est du routage avancé, pas de la redirection. Pas étonnant que je n'ai 
rien compris.


Si je comprends bien tu veux marquer seulement les paquets des 
connexions sortantes. Une solution consiste à utiliser le marquage de 
connexion avec la cible CONNMARK et la correspondance connmark.
Une autre possibilité plus simple mais probablement incomplète consiste 
à discriminer l'adresse source originelle de la connexion avec l'option 
--ctorigsrc de la correspondance conntrack, en ajoutant à la règle de 
marquage :


-m conntrack ! --ctorigsrc jeremy.domain.net



Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-15 Par sujet Jérémy Prego



Le 15/04/2019 à 09:19, daniel huhardeaux a écrit :
> Il faut compléter par le routage genre
>
> # marked packets go out through there route
> ip rule add fwmark $markISP1 table isp1
> ip rule add fwmark $markISP2 table isp2
>

oui oui c'est fait :) j'ai oublié de le préciser dans mon premier message
ip rule:
32760:    from all fwmark 0x3 lookup 103
ip route show table 103
default via 145.239.153.11 dev ppp0

> Daniel
>
Jerem



Re: HS: iptables interface de sortie par la même que l'entrée.

2019-04-15 Par sujet daniel huhardeaux

Le 15/04/2019 à 00:43, Jérémy Prego a écrit :

Bonjour,

en ce Dimanche nocturne je me décide à poser ma question ici. En effet,
je fais de la redirection d'IP en OUTPUT et en PREROUTING avec iptables.
depuis la machine routeur et le réseau local derrière c'est parfait la
machine jeremy.domain.net passe bien par la connexion que j'ai demandé a
Iptables.
Le souci est quand de la machine jeremy.domain.net qui se trouve donc
sur internet je cherche à contacter le routeur par son interface
principale, il se passe un truc très embêtant, Iptables renvoie les
réponses par l'interface que j'ai choisi pour ma redirection de
l'OUTPUT. Du coup, ça ne peut pas fonctionner, forcément.

est-ce qu'une solution existe pour que si ça arrive par l'interface
wan0, ça reparte par la même interface et que ça ne passe pas par les
règle que j'ai mis pour l'output ?

pour rappel, un petit exemple de ce que je fais:
##routage alternatif
iptables -t mangle -N ROUTING-POLICY
iptables -t mangle -A OUTPUT -j ROUTING-POLICY
iptables -t mangle -A PREROUTING -j ROUTING-POLICY
iptables -t mangle -D ROUTING-POLICY -d jeremy.domain.net -j MARK
--set-mark 0x3

une règle que j'ai testé mais sans succès vu que j'avais plus de
redirection vers 0x3 sur le routeur lui même:
iptables -t mangle -A ROUTING-POLICY -d jeremy.domain.tld ! -o wan0 -j
MARK --set-mark 0x3

merci beaucoup pour votre réponse :)


Il faut compléter par le routage genre

# marked packets go out through there route
ip rule add fwmark $markISP1 table isp1
ip rule add fwmark $markISP2 table isp2

en ayant créer les tables isp1 et isp2.

Supposant que tu as bien mis à jour /etc/iproute2/rt_tables ...

Daniel