[distcc] Is the client/server connection persistent with distcc?
distcc at gnosys.biz
Wed Aug 25 16:02:32 GMT 2004
Not sure if this was received by the list. Can anyone answer this
question? If not, should I write the author?
On Fri, 2004-08-20 at 22:11, Kevin wrote:
> Hi All-
> I operate a fast, dual-CPU server at work that I'd like to make a
> volunteer for some of my other machines at home, but at home I'm behind
> a NAT firewall that blocks all incoming connections (by design).
> Thinking that the distcc protocol is client-server in nature with the
> volunteer being the server and receiving connections at port 3632
> (presumably not initiating any) from the client originating at some
> random high-numbered port (where the build job originates), I was
> thinking that this should work if I want to farm compile jobs initiated
> at home out to the big server at work. The client at home behind the
> NAT firewall initiates the connection outbound through the home firewall
> to the distcc port on the server (with firewalling at the server at work
> configured to allow the connection from the NAT address). If the
> connection between the client and the server is persistent throughout
> the time that the server/volunteer is compiling the job that's been
> given to it by the client, then this scheme should work, right? I mean,
> I do the same thing with ssh connecting to sshd all the time through
> this NAT firewall.
> Anyway, it's not working for me whereas it is working between machines
> that are all behind the NAT firewall. Is my thinking wrong here? Is
> anyone else doing something like this?
> I read the distcc faq and whitepaper and searched the archives for NAT
> and googled around but didn't see anything to help with this.
> Is my understanding (gained from the whitepaper) correct in thinking
> that the machine where the make job is initiated is the client and the
> client preprocesses the .c file, initiates the connection to the
> volunteer/server, says, "hey, compile this file for me", keeps the
> connection open while the volunteer does the compile job, and then using
> the same connection, the server says, "hey, here's the object file"
> after which the client tears down the connection. Is that correct? Is
> so, shouldn't this scheme work?
> Any thoughts most welcome.
More information about the distcc