Yes, you will not be able to ping from the client to the server. This is because those two PCs are on two different networks (or subnets), and the "intermediate" PC is not configured to forward packets; in other words, the intermediate PC is not configured to act as a router, to route the packets between those networks.
Now, I haven't done this before, but I have an idea on how you would be able to do it, so this answer is not going to be a straight forward enter-these-commands answer, but more about explaining what should be done. You'll have to do some reading to get to what you want to do.
So, first of all, you'll need to enable IP forwarding. This can be done by putting the value "1" in a specific file. You'd do this by the following command:
echo 1 > /proc/sys/net/ipv4/ip_forward
This tells the PC that it will be forwarding packets. But from where to where? Which protocols to allow? What are the rules?
The answer to those questions will be done through the utility iptables
. These are the rules that configure the firewall in Linux. So for example, you use iptables
to indicate that you need NATing, or to restrict access to a subnet, or to forward packets from one interface to another. An iptables
command looks like this:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
I don't really know what this command means, but I guess it means "do NATing when the output is eth0".
Now, this is the part where I don't know what commands will accomplish what you want to do, so you need to do some reading. I recommend carefully reading and understanding this: Internet/Connection Sharing, and you should focus on the Gateway set up section.