The following setup is valid and tested under Ubuntu 12.10
1. Have 2 network cards installed on your server - one physically connected to the internet provider, and the second connected to a hub or second computer.
2. Go to the upper right corner of the desktop and right click on Edit connections. Then rename your connections using the Edit button as 'incomming' and 'localnet'. If you don't know which one(eth0, eth1 etc.) is which just unplug calbes one by one and you'll see. This step will give you logic and save you lots of trouble down the process.
3. Again from the same upper right corner open the 'localnet' connection, click on IPv4Settings and set it to 'Shared to other computers'. Repeat the same procedure for the 'incomming', but this time use DHCP.
4. Click on DSL - Edit -> DSL and type your username and password given by the internet provider.
Next you'll have to enable the two logical connections followed by the DSL connection 1 by just clicking on them. During the process notice if 'wired media is connected' message will appear. If the media gets connected and then quickly disconnects you can try to disable the IPv6 Settings on the 'localnet' by setting their method to 'ignore'.
Also, because you've been using DHCP it's necessary to let the default gateway setup of the 'localnet' connection to the NetworkManager, so just do ''sudo nano /etc/NetworkManager/NetworkManager.conf and set the parameter managed = 'true'. The other way to accomplish the same is to click on your 'incomming' connection Routes button and check the 'Use this connection only for resources on its network'. This way your default gateway won't get overwritten by the NetworkManager.
5. Finally turn on the internal firewall with the command invoked in terminal: sudo ufw enable
Cheers! by Nevyan Neykov