|Both companies share the same network infrastructure.|
Very bad idea! This would make it all too easy for someone with a clue to access information they shouldn't have any access to. Which is to say, someone from company A could access the data from company B and vice versa
I want to keep them separate
Then you should begin by putting them on completely different subnets. This would separate them and help a lot to prevent access to data from unauthorized people.
I would recommend each company have it's own internet connection. If this isn't possible for some odd reason then you could achieve complete separation of the two networks using 3 SOHO Routers.
router1 (connected to internet)
LAN IP: 192.168.1.1
Subnet Mask: 255.255.255.0
DHCP Enabled = No
router2 (Company A)
WAN IP: 192.168.1.2
LAN IP: 192.168.2.1
DHCP Enabled = Yes
router3 (Company B)
WAN IP: 192.168.1.3
LAN IP: 192.168.3.1
DHCP Enabled = Yes
You would physicall connect them as follows (using crossover cables):
router1 LAN porst to router2 & router3WAN ports
Then you would need to configure static routes on 2 and 3 that go from their subnets to the 192.168.1.0/24 subnet on router1.
Done correctly the two subnets would not be able to access each other's networks but would still access the internet through the single connection (router1)
This is convoluted though and takes more setup and means more troubleshooting steps should something break. Logic says have each company have it's own internet connection........this simplifies everything (KISS Principle).
Having said that,
do I setup Company 2 Server 2003 as a Separate Domain or Workgroup?
You set it up as a domain of course. An active directory (AD) domain has many advantages over a workgroup scenario.
It matters not how straight the gate,
How charged with punishments the scroll,
I am the master of my fate;
I am the captain of my soul.