Usually small businesses or school units have only one external online, and then all the computers in the company through this online connection to the Internet, at this time we need to use the IP-sharing device to share the external to all the company's internal staff, then Linux can achieve this IP sharing function? Of course, this is the task that can be achieved through the NAT service.
In this environment, because Linux as an internal and external separation of entities, so network traffic will be larger, at this time, the Linux host network card needs a better configuration. Other CPUs, RAM, hard drives, etc. have a much smaller impact. In fact, it is unwise to use Linux alone as a NAT host to share IP because the PC consumes much more power than the IP-sharing device.
So why use Linux as a NAT, because Linux NAT can also add a lot of analysis software, can be used to analyze the client's online, or to control bandwidth and traffic, to achieve more equitable bandwidth usage.
NAT (not verified, see Linux Server Architecture for further review)