You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been trying to run an EternalTerminal server on my machine and had gotten everything working, except remote port forwards would always fail with a cryptic error message:
$ et myhost -r 51022:22
Error initializing connection: Error binding port 51022: 99 Cannot assign requested address
$
I did some digging and found this in the server logfiles:
So, it looked like it was able to successfully bind to IPv4 localhost, but was failing on IPv6 (the 10 in 10/1/6 refers to the AF_INET6 constant).
After doing a bunch of digging and experimentation, I tracked it down to the net.ipv6.conf.lo.disable_ipv6 sysctl, which I had set to 1 on my system because I'd had some issues with ipv6 in the past. As far as I can tell, what was happening was that EternalTerminal was looking up all addresses associated with localhost, coming up with both 127.0.0.1 and ::1, and trying to listen on each interface despite ipv6 being disabled, leading to the above error message. Setting net.ipv6.conf.lo.disable_ipv6 to 0 on the etserver system allowed it to succeed and successfully forward the remote port.
It might be worthwhile to detect when it's unable to bind to IPv6 and simply work with IPv4, rather than bailing entirely with a cryptic error message.
The text was updated successfully, but these errors were encountered:
I've been trying to run an EternalTerminal server on my machine and had gotten everything working, except remote port forwards would always fail with a cryptic error message:
I did some digging and found this in the server logfiles:
So, it looked like it was able to successfully bind to IPv4 localhost, but was failing on IPv6 (the
10
in10/1/6
refers to theAF_INET6
constant).After doing a bunch of digging and experimentation, I tracked it down to the
net.ipv6.conf.lo.disable_ipv6
sysctl, which I had set to 1 on my system because I'd had some issues with ipv6 in the past. As far as I can tell, what was happening was that EternalTerminal was looking up all addresses associated withlocalhost
, coming up with both127.0.0.1
and::1
, and trying to listen on each interface despite ipv6 being disabled, leading to the above error message. Settingnet.ipv6.conf.lo.disable_ipv6
to 0 on the etserver system allowed it to succeed and successfully forward the remote port.It might be worthwhile to detect when it's unable to bind to IPv6 and simply work with IPv4, rather than bailing entirely with a cryptic error message.
The text was updated successfully, but these errors were encountered: