I'm using the macOS High Sierra. There are two network interfaces on my Mac, Wi-Fi and Ethernet. The Wi-Fi is connected to the Internet directly, and the Ethernet is connected to out company's local network. They're in different subnets, one of which is and another is The Wi-Fi has faster speed than the Ethernet, but the sources in the local network cannot be accessed via Wi-Fi.

Now I want to route the traffic based on the urls. For example, I want all the access to *.corp.com to the Ethernet and others to Wi-Fi. The problem is the DNS. Those *.corp.com are only valid locally, which means they can only be queried in the local network. If I put Wi-Fi on the top priority, then all the access to *.corp.com would fail due to DNS query failure, because the system will use the DNS servers configured by the Wi-Fi router. However, if I set the Ethernet to the first, all the traffic will go to Ethernet.

I've tried the way to configure the route table manually, but it didn't work. The same DNS issue.

So if there any good ways to handle this situation?


Set your DNS server manually to the corporate one, prioritise wi-fi in network settings so it's the default gateway and route 10.x.x.x out through ethernet?

  • Unluckily, it didn't work since the local DNS server couldn't be accessed if not in the local network. Apr 16 '18 at 5:46
  • By the way, I've tried to capture the packages on the Ethernet interface, but no DNS queries found. Apr 16 '18 at 5:52
  • You should be able to route the path to the DNS server out the ethernet port if it isn't also on 10.x.x.x
    – Scottmeup
    Apr 16 '18 at 23:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .