So I was trying to contribute some cycles to the Folding@Home project recently, and ran into a problem that took seemingly forever to figure out. The log.txt file showed that the core (the build of the executable that’s optimized for a given platform) wouldn’t download.
15:21:12:WU00:FS00:Downloading core from http://www.stanford.edu/~pande/Linux/AMD64/Core_a4.fah
15:21:12:WU00:FS00:Connecting to www.stanford.edu:80
15:21:13:ERROR:WU00:FS00:Exception: Failed to read stream
The solution for Windows users was to set their OS to prefer IPv4 over version 6. But I was trying to run the client on Linux. After following through a few suggestions to disable IPv6 on my Linux system, which I did, I found that the problem persisted. It turns out that if you externally advertise that you support IPv6, but then don’t support it internally in your network, then downloads that are attempted via IPv6 will fail – even if you initiate from an IPv4 only host. That seems pretty unreal to me, but since I’ve never had an opportunity to play around with IPv6 before, I have to assume that’s what is happening here.
The way I worked around the issue was to use the excellent sshuttle command. It lets you turn any machine that you can ssh to into a proxy for the client. All traffic, even DNS, will be tunneled through the remote system. I ran
sshuttle -r me@home_system 0.0.0.0/0 and then restarted the FAHClient service. Now the fans on my Linux boxen (yeah I said boxen) are running a little harder.