How can I connect two offices to each other?

Solution 1:

All you need is a VPN between to the locations. If properly configured, all resources from one side should be available to users on the other side, and vise versa.

I recommend OpenVPN, but if you have Windows servers, you can use the Windows RRAS (Router and Remote Access services)

What I would do in your situation is:

  1. A 'main' office, with better hardware, hosting the Domain Controller, and other network services.
  2. A 'branch' office, with a second domain controller (RODC's are good in this use case) and other network services.
  3. DIFFERENT SUBNETS FOR EACH LOCATION. If Network A(main) is 10.0.0.0/24, make Network B(branch) be 10.0.1.0/24.
  4. A VPN solution to connect the two networks