Hi,
I'm trying to setup a ghidra server running off an AWS EC2 instance running windows server 2016.
I have got clients able to connect and login to the server remotely, by binding the IP address of the server to the EC2 instances DNS. However I cannot add files to the version control. The connection times out. From looking in the server logfiles I presume this is due to the block stream server always binding to the internal IP of the network adapter, rather than the external DNS. I have tried adding the DNS to the hosts file, but that seems to break the server connection as well.
Is there a way to change the IP binding of the block stream server?
Thanks.
There is not a way, but we are currently working on a fix for this, targeted for the 9.1 release. Have you built Ghidra from source yet? If so, when it makes it's way up to the master branch (hopefully very soon), maybe you could test it for us!
Ah sweet, thanks for the info.
I haven't built from source yet. Would be happy to test though. How far away is it likely to be? I was considering doing a build to hard code the binding, but figured this may make a bigger mess if I ended up with different parts of the server bound to different things.
Unfortunately I'm not sure about the timeframe for the 9.1 release.
This is now available in the master branch if you want to try to get it to build/run. You can now use the-ip argument to set the external IP/hostname and a new -i argument to set the internal IP address of the interface you want to bind to.
Update, I never managed to get gradle to build ghidra properly.
If you want a solution in the meantime, set up an OpenVPN server. Its what I'm currently doing and works very well.
What was the fix for this?
This is now available in the master branch if you want to try to get it to build/run. You can now use the-ip argument to set the external IP/hostname and a new -i argument to set the internal IP address of the interface you want to bind to.
Just so you know I got this working with NAT and allows internal and external connections to it. I had to specify the -ip to be the hostname for my DDNS and -i to be my internal IP. I then had to add a hosts entry on my internal machines that resolve the hostname for the DDNS to the internal IP. That was the only way I could allow both external and internal connections to the DDNS hostname. I couldn't find any other way to allow both to work at the same time.
Most helpful comment
This is now available in the master branch if you want to try to get it to build/run. You can now use the
-ipargument to set the external IP/hostname and a new-iargument to set the internal IP address of the interface you want to bind to.