Меню Рубрики

Add route mac os

HOWTO quickly add a route in Mac OSX

Adding a route manually can be necessary sometimes. When on Linux, I know the command by head:

On the Mac the command is similar, but a bit different 🙂 Just as a note to myself and anyone else interested:

This sets up a route to the net through gateway First one on Linux, second one on Mac OSX.

Rate this:

Share this:

Like this:


26 responses to HOWTO quickly add a route in Mac OSX

I have connected my Mac to a Linux box directly using a cable (no home router involved).
In Mac, I am setting a static IP address to with subnet mask and in Linux with same mask. My Mac has two NICs (2nd one is connected to router and WWW). How can I add a route in Mac so all the traffic intended for the Linux box goes through first NIC? I am interested in waking the Linux machine up using something like:

$ wakeonlan -i 00:AA:BB:XX:XX

Is this routing possible?

Since you have the Mac and the Linux box in the same subnet (10.10.11.x) and have a subnet of /24 you do not need a route to be able to talk to each other. The mac wil automatically use the correct interface due to the netmask being used.

If you have a specific error message, please post it and I will have a look. From the info I have now I’d say this just works. The first thing that comes to mind when you’d encounter a problem is the cable connection. Did you use a cross-cable? Are the LEDs turned on?

My mac mini is connected to the web through wifi (192.168.17.x). I don’t have control over the wifi net. I started playing with a router and connected it to the wired interface en0. I have a hard time connecting to which is the routers default address. I set en0 manually to I tried adding a route, but no go. Can you help?

Did you already solve this issue? It does sound like a routing or netmask issue. If you tell a little more I might be able to help.

Hi Remi, I have the exact same basic question as Hamid although for a different purpose, i.e. How to route traffic destined for a specific ip through a specific interface when everything is on the same subnet. In my case I would like to use my mac’s wifi interface to connect to a network share as it is faster than using an ethernet cable for file transfers, but keep the rest of the traffic prioritised according to the order the interfaces are listed in Network system preferences.

I forgot to mention that I would like to be able to fallback to the ethernet interface if the wifi interface is disabled, thanks.

I figured that you can do this with an ip address using ‘sudo route add -host -interface en1’ but that doesn’t work as the network share is accessed using it’s hostname myshare.local. Trying to route add -host myshare.local does not seem to work as although netstat -r shows a single entry for assigned to en1, myshare.local only has an entry assigned to en0 😦

Hi Leo,
Connecting to the same network multiple times, with the same ip addressing is confusing the OS and might give mixed results. The quick and dirty way to solve this, is to add another ip address to your server (say and one to your wifi interface (say and have the two communicate using the network. That will assure the routing is correct. You can use the same interface cards and same wires. Just add these as alias ip addresses and you’ll be fine.

Nice of you to share your knowledge, I have had something that’s been a consistent problem along the lines of this post that I’m hoping you have a suggestion about.

I have two networks:
a gigabit ethernet video editing network on a 192.168.1.x network (direct network, no outside connection)
our standard corporate network on 10.130.x.x.

Two Mac Pro’s have the network service order setup with the corporate network interface first (en1:DHCP) and the media network second (en0: and If I don’t put them in this order the internet doesn’t seem to work.

The media server is also a Mac Pro with the en0 ( and en1 ( similarly setup.

About 40% of the time the Mac Pros would connect to the media network over the slower 10.130 network… we figured out that if we used a GUI app called WaterRoof we could inject an ipfw command into the Mac Pros that blocks any connection to the media server on the corporate network (

This worked great for a while, then suddenly today, the video started playing choppy again and I ended up having to disable the media server’s en1 to the corporate network to force the connection over the 192.168 network. Don’t know how it found it’s away around the IP block (perhaps connecting by share name ?) but I was wondering if creating a route would be a better answer… could you show me the syntax for that…
do I need to do it on the Mac Pros AND the media server? Do I need to save it in some file for it to be permanent?

Any help would be HUGELY appreciated!

Interesting case! You could indeed add a route, so that even the corporate ip address will be reachable over the gigabit network.

Try this on the Mac PRO’s:
sudo route -n add -net

And reversed on the Media server:
sudo route -n add -net 10.130.178.x/32
sudo route -n add -net 10.130.178.y/32

netstat -nr gives an overview of current routes.

This should make the Media server’s corporate ip address reachable through the gigabit network and vice versa.

Hi, This only works until you reboot the machine. Then the route is lost.

My office has restricted access to Internet sites such as Skype & Dropbox. I also have access to an unrestricted Wi-Fi.

The laptop is connected to both access points. Now my problem is, when en0 (ethernet) is my preferred channel then blocked sites like Skype won’t work though I have an active Wi-Fi connection. If I change the preferred channel to en1 (Wi-Fi) then Skype works but I cannot browse any of the company Intranet sites.

Why does the fallback to Wi-Fior visa versa does not work?

Here are my routing table entries using command netstat -nr:

$ netstat -nr
Routing tables

Destination Gateway Flags Refs Use Netif Expire
default UGSc 23 0 en1
default UGScI 0 0 en0
default link#6 UCSI 1 0 en3
default link#8 UCSI 1 0 en14
127 UCS 0 0 lo0 UH 3 151425 lo0
169.254/30 link#6 UC 0 0 en3
169.254 link#11 UCS 3 0 en1
169.254 link#5 UCSI 0 0 en0
169.254 link#6 UCSI 1 0 en3
169.254 link#8 UCSI 1 0 en14 36:bb:1f:5:b7:d6 UHLSW 1 498 en3 889 link#6 UCS 0 0 en3 link#8 UCS 0 0 en14 96:eb:cd:3:8f:e4 UHLSW 5 38380 en14 325 link#8 UCS 0 0 en14 link#11 UHRLSW 0 16 en1 link#11 UHRLSW 0 8 en1 0:26:b9:9e:c6:e3 UHLSW 0 0 en0 1193
172.16.8/23 link#5 UCS 2 0 en0 link#5 UCS 1 0 en0 68:5:ca:10:18:5 UHLWIir 1 0 en0 1073 c:4d:e9:c3:51:8c UHLWI 0 0 en0 1190 link#5 UCS 1 0 en0 0:25:0:a4:fa:de UHLWI 0 1 lo0
192.168.2 link#11 UCS 1 0 en1 link#11 UCS 2 0 en1 74:31:70:6f:c6:58 UHLWIir 26 224 en1 1160 44:d8:84:8:85:e2 UHLWI 0 0 en1 692 link#11 UCS 1 0 en1 0:23:6c:97:46:a3 UHLWI 0 1 lo0 1:0:5e:7f:ff:fa UHmLWI 0 5 en3 1:0:5e:7f:ff:fa UHmLWI 0 19 en14


Маршрутизация в Mac OS при VPN подключении

Появилась как-то задача подключатся по VPN к рабочей сети, чтобы иметь доступ к внутренним ресурсам.
Средствами Мака это можно сделать создав VPN подключение и 2 варианта:
1. поставить галочку «Слать весь трафик через VPN подключение»
2. статически прописать статически route add -net, где — сеть в которой находятся компьютеры на работе, VPN шлюз к которому я подключаюсб.

Итак после каждого подключения нужно делать вторую манипуляцию, так как общий доступ в интернет ограничен и скорость не ахты. Или задача состоит в том чтобы ходить на сайты (например youtube) через более быстрый канал VPN…

Итак задачу я решил следующим образом:
создал скрипт: touch /etc/ppp/ip-up
дал ему прав на исполнение: chmod +x /etc/ppp/ip-up
создал файл для логов: touch /tmp/ppp.log

Содержимое скрипта:
VPNWORK=»″; #обьявляем переменную (например по названию VPN подключения)
if [ $IPREMOTE = $VPNWORK ] #проверяем, если совпадает добавляем маршрут
/sbin/route -n add -net $IPREMOTE > /tmp/ppp.log 2>&1

Таким образом после подключения к сети добавляется маршрут, и нет необходимости добавлять его вручную, так-же при отключении от VPN он удаляется сам.

При необходимости добавлять DNS сервер можно дописать текст между then и fi:
echo «nameserver» > /etc/resolv.conf
Вместо укажите свой основной DNS и второй записью рабочий.

Но при этом после отключения нам надо вернуть предыдущий DNS конфиг на место, для этого создаем: touch /etc/ppp/ip-down && chmod +x /etc/ppp/ip-down

Перед началом работы делаем бекап:
cp /etc/resolv.conf /etc/resolv.conf_original

и добавляем в скрипт /etc/ppp/ip-down:
cat /etc/resolv.conf_original > /etc/resolv.conf

Собственно всё. При каждом подключении VPN прописывается маршрут, работаете сколько надо, после отключения удаляется, при этом у вас не будет загвоздок с DNS.


Популярные записи

Phpstorm для mac os
Marvelous designer mac os
60 seconds mac os
Программы для создания сайтов для mac os
Mkv плеер для mac os
Supreme commander mac os