What are port requirements for remote lisp?

Mirko Vukovic mirko.vukovic at gmail.com
Wed Apr 1 12:59:30 UTC 2020


On Tue, Mar 31, 2020 at 11:51 AM Martin Simmons <martin at lispworks.com>
wrote:

> >>>>> On Mon, 30 Mar 2020 21:16:00 -0400, Mirko Vukovic said:
> >
> > Hello,
> >
> > My setup is Sly on Spacemacs with Windows 10 running remote lisp on Linux
> > over a corporate network. I have not found a Sly mailing list, and I
> hope I
> > can get an answer here.
> >
> > Emacs is running Sly on Spacemacs on Windows 10. Lisp is running on a
> Linux
> > server. But Sly does not connect to the listening Lisp. Corporate network
> > security policies have changed. I can ask for IT to accommodate me, but
> > first I need to know what to ask for.
> >
> > So far, I have opened a tunnel, and started a listening lisp (details
> > below).
> >
> > In Emacs I get:
> >
> > sly-connect RET RET RET
> > [sly] Connecting to Slynk on port 4005..
> > helm-M-x-execute-command: make client process failed: Connection timed
> out,
> > :name, sly-9, :buffer, nil, :host, hal9000, :service, 4005, :nowait, nil,
> > :tls-parameters, nil
> >
> > The session transcript:
> > > ssh -L4005:localhost:4005 mirko at hal9000
> >
> > [mirko at hal9000 .roswell]$ ros -L ccl-bin run --load
> start-slynk-server.lisp
> >
> >  Added SLYNK path to ASDF:*CENTRAL-REGISTRY*
> > SLYNK's ASDF loader finished.
> >  Loaded ASDF system
> > ;; Slynk started at port: 4005.
> >
> >  Created SLYNK server on port 4005
> >  Set *USE-DEDICATED-OUTPUT-STREAM* to NIL
> > Clozure Common Lisp Version 1.11.5/v1.11.5  (LinuxX8664)
> >
> > For more information about CCL, please see http://ccl.clozure.com.
> >
> > CCL is free software.  It is distributed under the terms of the Apache
> > Licence, Version 2.0.
> > ?
> >
> > My question is as follows:
> >
> >    1. Do I need bi-directional traffic on 4005?
>
> Assuming you are using the ssh tunnel above, then you don't need port 4005
> traffic on the LAN (it is all hidden in the tunnel).
>
> The most likely problem is that some firewall on the Windows machine is
> blocking port 4005.  You may need to configure that firewall to allow ssh
> to
> listen on localhost:4005 and/or to accept connections to it from Spacemacs.
> In theory you might have similar localhost firewall issues on hal9000, but
> that is less likely.
>
>
> >    2. Do I need bi-directional traffic on 22? (after recent changes I
> >    cannot ssh or scp into my Windows machine)
>
> I'm assuming that you ran the ssh command on the Windows 10 machine and it
> gave you a working login to hal9000.  If so, then it looks like you already
> have what you need for port 22.
>

Yes, I can log in to hal9000 with the -L switch:

> ssh -L4005:localhost:4005 mirko at hal9000
Last login: Thu Mar 19 14:33:17 2020 from 172.27.236.189
[mirko at hal9000 ~]$


>
> Note that bi-directional traffic on a connected socket is different from
> whether you can make a connection in both directions.
>
>
> >    3. What tools can I use to try to narrow down the cause of the
> problem?
> >    For instance, can I send a command to the lisp image, and see its
> effects
> >    on the lisp side?
>
> Firstly, run "netstat -antp" on hal9000 to see if Lisp is listening on port
> 4005.
>

It looks that ccl-bin is listening:
$ sudo netstat -antp | grep :4005
tcp        0      0 127.0.0.1:4005          0.0.0.0:*               LISTEN
     104461/lx86cl64


>
> Secondly, run "netstat -anop tcp" on the Windows 10 machine to see if ssh
> is
> listening on port 4005.
>
>
I have Msys2's netstat. On the laptop:
> which netstat
/c/WINDOWS/system32/netstat
/c/Users/mirko/Downloads
> netstat -anop tcp | grep :4005
  TCP    127.0.0.1:4005         0.0.0.0:0              LISTENING       12052


> Thirdly, run "ssh -p 4005 localhost" on the Windows 10 machine.  This use a
> ssh is very bogus, but it should at least give an error message with some
> diagnostics.  (Normally I would use telnet for this, but it is not
> installed
> on Windows 10 by default.)
>

Outputs of both ssh and telnet on the laptop:
> which telnet
/usr/bin/telnet
/c/Users/mirko/Downloads
> telnet localhost 4005
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
/c/Users/mirko/Downloads
> ssh -p 4005 localhost
kex_exchange_identification: read: Connection reset by peer


>
> __Martin
>

Summarizing: of the tests you suggested, all pass but the last one (to ssh
or telnet into port 4005).

Thank you for your assistance so far,

Mirko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20200401/224b4dbd/attachment.htm>


More information about the slime-devel mailing list