OVH Cloud OVH Cloud

natd

14 réponses
Avatar
Thomas
silodebe% natd -redirect_port tcp 127.0.0.1:22 5922
natd: aliasing address not given
silodebe%

pourtant j'ai bien suivi le man, non ?



ps, j'arrive plus à retrouver la liste des ports non utilisés,
quels mots clés il faut taper pour ca deja ?

--
http://tDeContes.hd.free.fr/
http://palestine-hn.org/

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"

4 réponses

1 2
Avatar
ts
"T" == Thomas writes:






T> donc, un bind peut se faire sans root, mais natd ne se contente pas d'un
T> bind, il veut faire un divert qui a besoin de root dans tous les cas ?

Pour faire un bind(), il faut d'abord pouvoir créer le socket. Le socket
est créé avec SOCK_RAW

T> est ce envisageable de faire ce que je veux sans devoir etre root ?

Si vous avez "la chose"

man 4 divert


--

Guy Decoux





Avatar
Thomas
In article (Dans l'article) ,
ts wrote (écrivait) :

"T" == Thomas writes:






T> donc, un bind peut se faire sans root, mais natd ne se contente pas d'un
T> bind, il veut faire un divert qui a besoin de root dans tous les cas ?

Pour faire un bind(), il faut d'abord pouvoir créer le socket. Le socket
est créé avec SOCK_RAW


comprends pas : une application comme apache, elle a besoin aussi de
créer le socket avec SOCK_RAW ??


T> est ce envisageable de faire ce que je veux sans devoir etre root ?

Si vous avez "la chose"


c'est quoi "la chose" ?


man 4 divert


trop compliqué pour moi
(j'ai repéré "DETAILS" et "Binding to port numbers less than 1024
requires super-user access, as does creating a socket of type
SOCK_RAW.", mais j'ai pas compris grand chose de plus)

--
http://tDeContes.hd.free.fr/
http://palestine-hn.org/

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"






Avatar
ts
"T" == Thomas writes:






T> comprends pas : une application comme apache, elle a besoin aussi de
T> créer le socket avec SOCK_RAW ??

Quand vous lancez la commande natd avec la redirection de port, cela
commence comme cela

[...]

/*
* Create divert sockets. Use only one socket if -p was specified
* on command line. Otherwise, create separate sockets for
* outgoing and incoming connnections.
*/
if (inOutPort) {

divertInOut = socket (PF_INET, SOCK_RAW, IPPROTO_DIVERT);
if (divertInOut == -1)
Quit ("Unable to create divert socket.");

divertIn = -1;
divertOut = -1;
*
* Bind socket.
*/

addr.sin_family = AF_INET;
addr.sin_addr.s_addr = INADDR_ANY;
addr.sin_port = inOutPort;

if (bind (divertInOut,
(struct sockaddr*) &addr,
sizeof addr) == -1)
Quit ("Unable to bind divert socket.");
}
else {

divertIn = socket (PF_INET, SOCK_RAW, IPPROTO_DIVERT);
if (divertIn == -1)
Quit ("Unable to create incoming divert socket.");

divertOut = socket (PF_INET, SOCK_RAW, IPPROTO_DIVERT);
if (divertOut == -1)
Quit ("Unable to create outgoing divert socket.");

divertInOut = -1;

[...]

Pour créer le socket, il faut être root sinon natd donne une erreur et ne
s'exécute pas.


--

Guy Decoux





Avatar
Thomas
In article (Dans l'article) ,
ts wrote (écrivait) :

Pour créer le socket, il faut être root sinon natd donne une erreur et ne
s'exécute pas.


grrmbl-grrmbl :-(
bon, merci, je vais donc passer sous root ...

--
http://tDeContes.hd.free.fr/
http://palestine-hn.org/

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"

1 2