OVH Cloud OVH Cloud

traduire une commande iptables vers bsd

2 réponses
Avatar
luc2
comment realiser l'equivalent de cette commande iptables ?

iptables -t nat -I POSTROUTING -p udp -s $MON_IP_LOCALE --sport 6112 -j SNAT --to-source $MON_IP_EXTERNE:6312

vous l'avez sans doute remarque, c'est une regle NAT assez particuliere. aucun
routeur classique ne sait la faire. seul iptables en est capable. je me
demandais cependant si bsd etait a la hauteur pour creer cette regle...

voici plus de precisions sur cette regle :

elle doit etre creee sur un freebsd qui partage la connexion pour d'autres
postes. la regle dit :

"pour tout paquet UDP provenant de $MON_IP_LOCALE (qui est l'ip de l'un des
postes en local) emis avec le port 6112, faire emettre ce paquet par freebsd
avec le port 6312."

a quoi ca sert ? et bien cela impliquera que le destinataire de ce paquet va
repondre en envoyant sa reponse sur le port 6312 de freebsd.

je repete donc la question : est-il possible de faire cela sous freebsd ? si
oui, comment ?

2 réponses

Avatar
Manuel Bouyer
luc2 wrote:
comment realiser l'equivalent de cette commande iptables ?


[...]
"pour tout paquet UDP provenant de $MON_IP_LOCALE (qui est l'ip de l'un des
postes en local) emis avec le port 6112, faire emettre ce paquet par freebsd
avec le port 6312."

a quoi ca sert ? et bien cela impliquera que le destinataire de ce paquet va
repondre en envoyant sa reponse sur le port 6312 de freebsd.

je repete donc la question : est-il possible de faire cela sous freebsd ? si
oui, comment ?


Avec ipfilter, ca doit etre possible avec une regle bimap. Mais j'ai jamais
essaye.

--
Manuel Bouyer
NetBSD: 24 ans d'experience feront toujours la difference
--

Avatar
Nicolas LS
iptables -t nat -I POSTROUTING -p udp -s $MON_IP_LOCALE --sport 6112 -j SNAT --to-source $MON_IP_EXTERNE:6312


Ca m'interesse aussi, j'avais posté ici, mais je n'avais pas eu de
réponse.

vous l'avez sans doute remarque, c'est une regle NAT assez particuliere. aucun
routeur classique ne sait la faire. seul iptables en est capable. je me
demandais cependant si bsd etait a la hauteur pour creer cette regle...


pf/ipf le font peut etre.

elle doit etre creee sur un freebsd qui partage la connexion pour d'autres
postes. la regle dit :


Dans le cas de ipfw/natd (ce que j'utilise), la doc mentionne cela

(cf man natd)

-reverse This option makes natd reverse the way it handles
``incoming'' and ``outgoing'' packets, allowing it to operate
on the ``internal'' network interface rather than the
``external'' one.

This can be useful in some transparent proxying situations
when outgoing traffic is redirected to the local machine and
natd is running on the internal interface (it usually runs on
the external interface).

(------------)

Ce qui a priori correspond +/- a ce que tu veux faire, sauf que je n'ai
pas réussi a le faire marcher.

"pour tout paquet UDP provenant de $MON_IP_LOCALE (qui est l'ip de l'un des
postes en local) emis avec le port 6112, faire emettre ce paquet par freebsd
avec le port 6312."


Moi, c'était: pour tout paquet a destination de machine sur le port
news, emettre le paquet via le port 6664

a quoi ca sert ? et bien cela impliquera que le destinataire de ce paquet va
repondre en envoyant sa reponse sur le port 6312 de freebsd.


Ouhla, moi, c'est beaucoup plus tordu la suite du traitement, ca sert a
détourner l'usage du port news et a se retrouver sur un autre port
bloqué par le firewall :-)

Essaye de renverser l'utilisation de natd. J'avais essayé , mais je ne
suis pas assez familié avec le nat, du coup, je m'étais embrouillé, si
tu trouves, merci de m'en informer.
--
Nicolas Le Scouarnec
http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )