Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

translation de port dans une liaison UDP

17 réponses
Avatar
Stan
[ X-post: fcolc, fcri, fcou ; fu2: fcolc]

Bonjour,

Aujourd'hui, j'ai la configuration suivante ( Linux RedHat ):

login a , password -> mgetty -> pppd ....( UDP, port x ).... application1
login b , password -> mgetty -> pppd ....( UDP, port y ).... application2

Je souhaiterai faire en sorte que :
login c , password -> mgetty -> pppd ....( UDP, port x ).... application1
et ce, quelque soit le port utilisé par l'application qui se connecte
sous le login 'c'.

Avez-vous une idée pour réaliser cela ?

Merci d'avance.

--
-Stan

7 réponses

1 2
Avatar
Vincent Bernat
OoO En cette matinée ensoleillée du vendredi 30 juin 2006, vers 09:56,
"Stan" disait:

Ex : un automate se connecte sur le RAS avec le login machin;
il envoie des paquets vers l'adresse 192.168.1.1, port 2000.

Je veux que le port soit modifié par une nouvelle valeur, 2004.


Tu utilises l'owner match pour effectuer la translation.


Tu ne peux pas être un peu plus précis ;-)
Contraitement, comment je fais ?


Non, rien, je me suis emmêlé les pinceaux. Un instant, j'ai cru que
l'application tournait en local sur le RAS (genre lancée par pppd).
--
BOFH excuse #81:
Please excuse me, I have to circuit an AC line through my head to get this database working.



Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:44a52194$0$840$,
*Stan* tapota sur f.c.o.l.configuration :

Vous n'auriez pas un p'tit exemple ( auth-up et
auth-down + DNAT) ?


Dans le fichier /etc/ppp/ip-up ou dans un nouveau fichier dans le répertoire
/etc/ppp/ip-up.d, selon la distribution Linux :

if [ "$PPPLOGNAME" -eq "login c" ]
then
iptables -t nat -A PREROUTING -p udp -s $IPREMOTE
-d 192.168.1.1 --dport 2000 -j DNAT --to 1.2.3.4:2004
fi

ou :

case "$PPPLOGNAME" in
login a)
PORT=...
;;
login b)
PORT=...
;;
[...]
*)
PORT=...
;;
esac

iptables -t nat -A PREROUTING -p udp -s $IPREMOTE
-d 192.168.1.1 --dport 2000 -j DNAT --to 1.2.3.4:$PORT

L'idée est là.

--
Sébastien Monbrun aka TiChou

Avatar
Stan
"Sébastien Monbrun aka TiChou" a écrit dans le message
de news:
[...]
L'idée est là.



Merci beaucoup.
Entre temps j'avais fait quelques essais
pour récupérer PPPLOGNAME dans /etc/ppp/ip-up ( ip-up.local pour être
précis )
et il ne me manquait plus que les régles adéquates.

Une dernière question ;-)
A-t-on vraiment besoin d'annuler ces règles dans le /etc/ppp/ip-down ?

A priori, je dirai non, mais si oui comment
faut-il faire ?

Avec iptables -X ?

--
-Stan

Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:44a5402c$0$829$,
*Stan* tapota sur f.c.o.l.configuration :

A-t-on vraiment besoin d'annuler ces règles dans le /etc/ppp/ip-down ?


Oui, il vaudrait mieux. Si la règle n'est plus utile ou devient obsolète, il
faut l'effacer. Sinon, à chaque connexion du même client, une nouvelle règle
va être ajoutée et sera redondante voire rentrer en conflit si les
paramètres réseaux (IP, port) différent de la précédente connexion.

A priori, je dirai non, mais si oui comment
faut-il faire ?


Le même script que dans ip-up mais en remplaçant l'option -A (append) par
l'option -D (delete).

Avec iptables -X ?


Non. iptables -X effacera la chaîne utilisateur spécifiée en argument ou
toutes les chaînes utilisateur.

--
Sébastien Monbrun aka TiChou

Avatar
Nicolas George
Sébastien Monbrun aka TiChou wrote in message
:
Non. iptables -X effacera la chaîne utilisateur spécifiée en argument ou
toutes les chaînes utilisateur.


Pour le coup, ça peut être pas mal : créer une chaîne nommée par règle ou
groupe de règles susceptible d'être supprimées, ça permet de supprimer par
nom plutôt qu'en retrouvant les mêmes paramètres exactement.

Avatar
Stan
"Nicolas George" <nicolas$ a écrit dans le message de
news: e83h18$fc6$
Sébastien Monbrun aka TiChou wrote in message
:
Non. iptables -X effacera la chaîne utilisateur spécifiée en argument ou
toutes les chaînes utilisateur.


Pour le coup, ça peut être pas mal : créer une chaîne nommée par règle ou
groupe de règles susceptible d'être supprimées, ça permet de supprimer par
nom plutôt qu'en retrouvant les mêmes paramètres exactement.


Ok,
merci à tous, je vais m'y coller...

--
-Stan


Avatar
Pascal Hambourg
Salut,


Non. iptables -X effacera la chaîne utilisateur spécifiée en argument ou
toutes les chaînes utilisateur.



Et ne marchera que si ladite chaîne est vide.

Pour le coup, ça peut être pas mal : créer une chaîne nommée par règle ou
groupe de règles susceptible d'être supprimées, ça permet de supprimer par
nom plutôt qu'en retrouvant les mêmes paramètres exactement.


Ne serait-il pas plus simple de vider la chaîne avec iptables -F ?


1 2