Who would think that something that should be simple, and that I would think lots of people would want to do, would be so hard?
I actually have this as one of those things i consider "trivial" and there are numerous posts i have done that explains exactly how to do it.Somebody at some point mentioned the GUI way so i laid back waiting for the GUI solution to be provided,but the GUI way seem to be broken.
Starting from afresh,this is how i would have said you should do:
On your laptop
1.Run these commands as root to allow traffic to flow btw the two interfaces you have
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
You only need those two commands.
The first one configures the computer to allow traffic to flow from one interface to another.
The second one "hides" traffic from your desktop computer as it leaves your laptop on its way to your router.
The two commands above effectively make your laptop a router connected to two networks,192.168.1.0/24 and 10.10.10.0/24.The first command allows traffic to flow btw the two interfaces and the second one "hides" traffic from 10.10.10.0/24 when it travels to your router on its way to the internet.
This is the interface that takes you online,configure it to allow your laptop to go online and make sure you can go online.
This is the interface that will be facing your desktop.
Configure it to have the following network properties
IP address: 10.10.10.10
If you configure it using PCC,ignore the error if complain about anything.
On your desktop.
Give the interface the following network properties
IP address: 10.10.10.20
The above is all you need to do to go online from your desktop.If you can not,then either you are making mistakes or there is a configuration in your computer that is blocking something.I suspect the "reset" your firewall may refer to this.A firewall setting that is blocking something.
kjpetrie pretty much said the same thing,he just put his solution in a script.
Chain OUTPUT (policy ACCEPT 1 packets, 153 bytes)
pkts bytes target prot opt in out source destination
0 0 RETURN tcp -- any any anywhere anywhere tcp dpt:http owner UID match squid
The above line in your output is concerning.It basically redirects outgoing traffic back to the computer I assume because squid wants to do something with it.Squid is not necessary for what you are trying to do and it could be the source of the problem you are having.
The above may also explain why you cant go online when you set up network sharing.Your internet traffic is redirected back to your computer.