Hello everybody.
I'm a fresh new user of ejabberd, and I need to use it and cope with a firewall I do not control (ports 5222, 5223 & 5280 closed). I'm aware of SSH tunnels techniques, so I tried to set up ejabberd.cfg leaving localhost as hostname, and tunneling port 5222 to my personal computer (ssh -N -f -L 5222:myEJabberdServer:5222 myEjabberdServer (my ~/.ssh/config has an entry defining myEjabberdServer). But I cannot let users communicate between them !
Then I configure Pidgin or Gajim, and specify localhost as my domain (or server). I can create accounts on the server, but I always get "error sending hello (remote server not found)" when trying to send messages to contacts.
I must miss something obvious, undoubtly, but as a newbie, it's not obvious at all at he moment ;-) ! Any help would be very appreciated. Thanks and best regards,
Al.
Remote servers need access to port 5269 of your server.
I can create accounts on the server, but I always get "error sending hello (remote server not found)" when trying to send messages to contacts.
With that tunnel you establish a c2s connection between your Jabber client and the server on port 5222 of the server. Other users can do the same to connect to your server. When you send a message to another user in your server, ejabberd simply routes the messages, so it should work.
When you send a message to a user in a different Jabber server, your ejabberd will try to establish a s2s connection to the remote server, and for that ejabberd will try to connect to port 5269 of the remote server. The remote server will also try to connect to port 5269 of your ejabberd to verify that your server is really who it says to be (and avoid spam servers). If something fails, your server or the remote server will abort the connection attempt. In the end you would receive a message that the remote server is not found.