The answer to this question can vary depending on what Version and Edition of Windows Server you are using ... however, the rules that I will write below apply to the following;
Windows Server
Version: 2003 R2, 2008, 2008 R2
Edition: Standard or Enterprise
The answer to your question:
All 100 devices (or the users who are using those devices) will require a Windows Server CAL.
The reasons why:
When you need to work out how many CALs are required for a given scenario, follow the steps below...
STEP 1: Firstly, you should always start with the worst case scenario and assume that all Users or Devices which are accessing the Windows Server software (or getting benefit from its services in any way) require a CAL. That will typically be your answer as any User or Device accessing Windows Server software directly OR INDIRECTLY! requires a CAL.
Here are the actual licence terms as they are written in the October 2011 Microsoft Product Use Rights for Windows Server 2008 R2 (note these terms are almost identical to all other Versions I have listed at the start of this post). The Product Use Rights contains all of the licence terms for all Microsoft software acquired through a Microsoft Volume Licence Agreement (not Full Packaged Product (FPP) or Original Equipment Manufacturer (OEM)) You can download the Product Use Rights from the following Microsoft URL: http://www.microsoftvolumelicensing.com/userights
"You must acquire and assign a CAL to each device or user that accesses your instances of the server software directly or indirectly. A hardware partition or blade is considered to be a separate device."
STEP 2: Look for any exceptions which may apply to that rule. The exceptions are listed below and once again extracted from the October 2011 Microsoft Product Use Rights.
"You do not need CALs for:
• any user or device that accesses your instances of the server software only through the Internet without being authenticated or otherwise individually identified by the server software or through any other means,
• any of your servers licensed for and running instances of the server software,
• up to two devices or users to access your instances of the server software only to administer those instances, or
• any user or device accessing an instance running in a physical OSE that is used solely to run hardware virtualization software, provide hardware virtualization services, and/or run software to manage and service OSEs on the licensed server. "
So in your scenario, it has been suggested by others that the following exception may be valid..."any user or device that accesses your instances of the server software only through the Internet without being authenticated or otherwise individually identified by the server software or through any other means"
That is not the case! An Intranet, is typically hosted as part of your own network. Users, DO NOT access an Intranet "only through the Internet" and so the exception does not apply!
Please Note: I have been asked by others in the past, "what happens if we configure our environment so that our users are re-directed outside our network and then back in via the Internet to access our Intranet?" The answer is that as they are initially part of your network and being re-directed outside your network, only to come back in via the Internet to access your Intranet that they still would not qualify for the exception. The reason is, they have not accessed the Windows Server software "only through the internet" ... they are accessing it from your internal network ... via the Internet.
One other thing to keep in mind here ... It is likely that those 100 devices you mentioned (The 50 Windows and 50 Linux devices) are already accessing at least one other Windows Server on your network ... and so already require a CAL! So long as each of those devices (or the users who use them) have a CAL assigned to them, they are permitted to access any number of Windows Servers that your company owns (so long as the Version of those Windows Servers are an equal version or lower (prior) Version of Windows that the CAL Version. i.e. A Device with a Windows Server 2003 CAL can access any number of Windows 2003 Servers on your network, as well as any number of Windows 2000 Servers, as well as any number of NT Servers for example ... but can not access any Windows 2008 or 2008 R2 servers are they are a higher Version that the CAL.