Mac os как посмотреть маршруты

О маршрутизации простыми словами. Как посмотреть, добавить или удалить маршрут в macOS

Я давно заметил, что многих пользователей пугает само слово «маршрутизация». Да чего там говорить про обычных пользователей, когда даже админы (особенно те, кто кроме Windows ничего другого не видели) с трудом понимают что это такое.

И я сейчас не преувеличиваю. Иногда требуется прописать статический маршрут на клиенте, а не на роутере и мне приходилось объяснять не пользователю, а админу зачем это нужно, как это делается и в чём отличие от маршрута по умолчанию.

Мальчик сказал маме: “Я хочу кушать” и мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать” и папа отправил его назад к маме.
Мальчик сказал маме: “Я хочу кушать” и мама снова отправила его к папе.
Так мальчик бегал туда-обратно, пока не упал.
Что случилось с мальчиком? TTL кончился.

Скажете бессмысленный анекдот? Чтобы его понять нужно изучить как работают сети, а пока давайте объясню простыми словами что такое «маршрутизация» (routing), чтобы это слово вас больше не пугало.

Если вы когда-либо настраивали свой роутер или смотрели свойства подключения к сети, то наверняка видели что кроме адреса вашего компьютера, есть ещё адрес шлюза (ещё одно непонятное слово).

Всё просто. Интернет можно представить как разветвлённую дорожную сеть с кучей направлений. Каждая из дорог может привести куда угодно и не факт что нам туда вообще нужно. Так вот, ваш шлюз — это отправная точка во всемирную сеть, откуда вы начинаете свой путь и, в большинстве случаев, он становится для вас маршрутом по умолчанию.

То есть, когда вы открываете какие-то сайты, качаете торренты или проверяете почту, все ваши данные проходят через устройство с данным адресом. Он знает куда нужно дальше передавать пакеты данных. Таких отправных точек может быть превеликое множество и каждая из них обладает информацией о своём сегменте сети, компьютерах и других устройствах, расположенных за ней. Собственно, маршрутизация — это процесс определения лучшего маршрута.

Когда мы знаем точный маршрут следования (его ещё называют статическим), то можем сразу начать движение по нему, в противном случае используется маршрут по умолчанию, который как бы говорит: всё, что не знаешь, куда послать — шли сюда.

В каком случае может потребоваться указывать статический маршрут? Например, при использовании VPN-соединений, когда не желательно гонять весь трафик в защищённом канале. Но это уже выходит за рамки простого описания, да и про VPN я уже много рассказывал ранее. Кому интересно что это такое, можете почитать тут, а сейчас расскажу как управлять статическими маршрутами на примере macOS (если вы хотите узнать как управлять маршрутами в Windows и Linux, оставляйте комментарии и в одном из следующих постов я постараюсь изложить данную тему подробнее).

Как посмотреть, добавить или удалить маршрут в macOS

Чтобы посмотреть все действующие маршруты, отрываем Терминал и вводим следующую команду:

Добавить статичный маршрут можно следующей командой:

sudo route -n add 192.168.10.0/24 10.8.0.9

Здесь мы указали что для доступа к сети 192.168.10.0 с маской 255.255.255.0 (24) следует использовать шлюз 10.8.0.9.

Теперь удалим созданный статичный маршрут:

sudo route -n delete 192.168.10.0/24 10.8.0.9

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Источник

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

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

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

Читайте также:  Как сделать резервную копию установленной windows

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

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

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

При необходимости добавлять DNS сервер можно дописать текст между then и fi:
echo «nameserver 4.2.2.1» > /etc/resolv.conf
Вместо 4.2.2.1 укажите свой основной 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:
#!/bin/sh
cat /etc/resolv.conf_original > /etc/resolv.conf

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

Источник

Mac os таблица маршрутизации

Как добавить постоянные статические маршруты (persistent static routes) в Mac OS X. 1

В Mac OS X задача добавления постоянных статических маршрутов оказалась нетривиальна. Гугление не дало желаемого результата, в результате чего пришлось включать голову и делать свой велосипед. Вполне возможно, что эту задачу можно решить проще, но у меня давно было желание разобраться с демонами и агентами OS X, так что воспользовался случаем и совместил интересное с полезным.

ТЗ: Прописать статические маршруты, автоматически подгружаемые при перезагрузке PC под управлением OS X.

В примере будет использована маршрутизация сети 172.1.0.0/22 на маршрутизатор 172.0.0.200.

1. Создаем Launch Daemon.

Launch Daemon загружается при загрузке ОС, Launch Agent при загрузке профиля. В целях безопасности OS X блокирует попытку запуска Launch Agent под root, а необходимая нам команда route add требует его привилегий. Конечно можно было бы поправить конфиг sudo, но в этом случае обновление системы может сломать реализуемую функциональность, так что было принято решение использовать именно Launch Daemon.

info: Все последующие операции выполняются в консоли.

Создадим и заполним конфиг нового Launch Daemon:

Про АйТи и около айтишные темы

Как посмотреть, добавить и удалить маршрут в Mac OS X

Запускаем терминал Terminal.app и вводим следующую команду — netstat -nr. В результате мы увидим все маршруты пользователя, под которым работаем в системе.


Добавить статичный маршурт можно следующей командой:

Пример: sudo route -n add 192.168.10.0/24 10.0.247.43
Указываем адрес сети с маской и куда направлять запросы для этой сети.

Удаляем статичный маршрут так:

Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!

Хотите поблагодарить автора за эту заметку? Вы можете это сделать!

Я использую vpnc для VPN-клиента. Я также делаю некоторые сложные вещи с помощью route , чтобы убедиться, что я все еще могу получить доступ к своей локальной сети и т. Д. И т. Д. (Подробности здесь не очень важны).

Иногда я получаю таблицу маршрутизации таким образом, что я получаю ping: sendto: Network is unreachable для URL-адресов, которые в противном случае разрешаются.

В настоящее время, если я перезапущу Mac OS X, все возвращается к норме. То, что я хотел бы сделать, — сбросить таблицы маршрутизации на «по умолчанию» (например, на то, что он установлен при загрузке) без для всей системы.

Я думаю, что шаг 1 — это route flush (для удаления всех маршрутов). Шаг 2 должен перезагрузить все маршруты по умолчанию.

Любые мысли о том, как это сделать? (например, что такое шаг 2?)

ИЗМЕНИТЬ Кроме того, я замечаю, что другой симптом traceroute также не работает на указанном адресе. Например:

traceroute: bind: Can’t assign requested address

4 ответа

Вам нужно очистить маршруты. Используйте route -n flush несколько раз. Затем добавьте свои маршруты с добавлением маршрута.

Я столкнулся с этой проблемой при использовании домашнего сервера OpenVPN и подключился к нему с помощью приложения Tunnelblick на Mac.

Что происходит с моей стороны, так это то, что маршрут с моим домашним IP-адресом в качестве адресата и неправильным шлюзом оставался после отключения от VPN. Удаление этого маршрута решило проблему, просто

Читайте также:  Parallel vmware mac os

Пример: я нахожусь в школе и после новой загрузки компьютера подключаюсь к беспроводной сети. Я подключаюсь к моему домашнему серверу OpenVPN с помощью Tunnelblick.

Я отключусь от VPN-сервера. Я меняю беспроводные сети. Это изменяет мой шлюз по умолчанию.

Я не могу ни при каких обстоятельствах подключиться к моей домашней сети (VPN, ping, что-либо) после этого. Если я просто удалю маршрут:

Он отлично работает.

Возможно, возникла проблема с тем, как настроен сервер /клиент OpenVPN, который уходит от него (и мне было бы интересно узнать, что это такое), но я установил сценарий post-disconnect Tunnelblick, который автоматизирует удаление этого маршрута .

Сначала вам нужен маршрут для сетевого интерфейса. Если VPN отключен, просто снимите сетевой интерфейс и верните его с помощью ifconfig. Затем используйте команду commnand для построения в вашем gw по умолчанию. Так что-то вроде:

ifconfig en0 down

ifconfig en0 up

route add default

Я столкнулся с той же проблемой, что и @Sean (я также использую OS X), поскольку при переключении между домашними и рабочими сетями маршрут по умолчанию не удалялся.

Для полноты, когда я подключаюсь к своей VPN дома и выполняю следующую команду, он будет показывать шлюз по умолчанию, как показано ниже

И когда я отключусь, шлюз [home-ip] все равно будет там. Когда я подключился к своей рабочей сети, я вообще не смог подключиться к Интернету и столкнулся с той же проблемой, что и OP

Мне пришлось бы вручную удалить маршрут с помощью

Первоначально я помещал «route -n delete» в сценарий post-disconnect.sh , но это было немного грязно, поэтому вместо этого я нашел эту ссылку

По-видимому, причина связана с установкой следующего в моем файле .ovpn

Это означает, что маршрут настроен как root, но когда соединение выполняется, пользователь больше не является root, поэтому маршрут не может быть удален.

Источник

Mac os как посмотреть маршруты

локальная сеть: ip 10.145.13.106 шлюз 10.145.13.255
интернет: ip 10.0.0.16 шлюз 10.0.0.1

в Windows у меня для таких целей создан батник:

route add 10.145.0.0 mask 255.255.0.0 10.145.13.106 metric 1
route change 0.0.0.0 mask 0.0.0.0 10.0.0.1 metric 5

но в MAC OS эти команды не срабатывают.
В связи с этим вопрос, как правильно задать необходимые маршруты?

Такbt команда не сработали (работает только интернет):
sudo route add 10.145.0.0 -netmask 255.255.0.0 10.145.13.106
sudo route change 0.0.0.0 mask 0.0.0.0 10.0.0.1 Вернуться к началу

YDS

Зарегистрирован: 18.07.2001
Сообщения: 1303
Откуда: msk

Добавлено: Пн Апр 22, 2013 17:58
sudo route add -net 10.145.0.0/16 gw 10.145.13.106
Вторая строчка вообще не нужна.
И покажите вывод netstat -rn
Вернуться к началу
YDS

Зарегистрирован: 18.07.2001
Сообщения: 1303
Откуда: msk

Добавлено: Пн Апр 22, 2013 18:05
и ifconfig до кучи.
Вернуться к началу
Teerner

Зарегистрирован: 19.04.2013
Сообщения: 10

Добавлено: Чт Май 23, 2013 19:14
не помогло:
sudo route add -net 10.145.0.0/16 gw 10.145.14.24

вот что пишет:
route: bad address: gw

пробовал так:
sudo route add -net 10.145.0.0/16 10.145.14.24
ошибок нет, но не работает

lo0: flags=8049 mtu 16384
options=3
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010

mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863 mtu 1500
ether 10:9a:dd:a8:78:48
inet6 fe80::129a:ddff:fea8:7848%en0 prefixlen 64 scopeid 0x4
inet 10.0.0.12 netmask 0xffffff00 broadcast 10.0.0.255
media: autoselect
status: active
p2p0: flags=8843 mtu 2304
ether 02:9a:dd:a8:78:48
media: autoselect
status: inactive
en1: flags=8863 mtu 1500
options=4
ether 20:c9:d0:29:9d:cf
inet6 fe80::22c9:d0ff:fe29:9dcf%en1 prefixlen 64 scopeid 0x6
inet 10.145.14.24 netmask 0xffffff00 broadcast 10.145.14.255
media: autoselect (100baseTX )
status: active

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.145.14.254 UGSc 45 0 en1
default 10.0.0.1 UGScI 16 0 en0
10/24 link#4 UCS 2 0 en0
10.0.0.1 20:7c:8f:83:b0:a3 UHLWIir 17 25 en0 1142
10.0.0.12 127.0.0.1 UHS 0 25 lo0
10.0.0.255 ff:ff:ff:ff:ff:ff UHLWbI 0 6 en0
10.145.14/24 link#6 UCS 6 0 en1
10.145.14.5 0:3:47:b7:cb:f3 UHLWIi 1 3 en1 864
10.145.14.24 127.0.0.1 UHS 1 0 lo0
10.145.14.29 8:0:27:69:d7:ac UHLWIi 1 35 en1 1179
10.145.14.47 0:21:5a:18:f8:49 UHLWIi 0 1 en1 890
10.145.14.104 6c:62:6d:aa:4a:a8 UHLWIi 0 1 en1 890
10.145.14.254 0:14:1c:7b:c3:3f UHLWIir 46 0 en1 1198
10.145.14.255 ff:ff:ff:ff:ff:ff UHLWbI 0 6 en1
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 4 313703 lo0
169.254 link#6 UCS 1 0 en1
169.254.255.255 0:14:1c:7b:c3:3f UHLSWi 0 0 en1 864

Internet6:
Destination Gateway Flags Netif Expire
::1 link#1 UHL lo0
fe80::%lo0/64 fe80::1%lo0 UcI lo0
fe80::1%lo0 link#1 UHLI lo0
fe80::%en0/64 link#4 UCI en0
fe80::129a:ddff:fea8:7848%en0 10:9a:dd:a8:78:48 UHLI lo0
fe80::%en1/64 link#6 UCI en1
fe80::22c9:d0ff:fe29:9dcf%en1 20:c9:d0:29:9d:cf UHLI lo0
ff01::%lo0/32 fe80::1%lo0 UmCI lo0
ff01::%en0/32 link#4 UmCI en0
ff01::%en1/32 link#6 UmCI en1
ff02::%lo0/32 fe80::1%lo0 UmCI lo0
ff02::%en0/32 link#4 UmCI en0
ff02::%en1/32 link#6 UmCI en1

Вернуться к началу
blblTb

Зарегистрирован: 30.01.2008
Сообщения: 5588
Откуда: Норильск

Добавлено: Пн Май 27, 2013 01:30
хм… а разве не 10.145/16 или 10.145/8
зачем 2 нуля в конце?
_________________
Да, это я напустил.
Вернуться к началу
YDS

Зарегистрирован: 18.07.2001
Сообщения: 1303
Откуда: msk

Добавлено: Вт Май 28, 2013 10:54
blblTb писал(а):
10.145/8

Семён Семёныч.

Вернуться к началу
YDS

Зарегистрирован: 18.07.2001
Сообщения: 1303
Откуда: msk

Добавлено: Вт Май 28, 2013 11:14
Teerner писал(а):
не помогло:
sudo route add -net 10.145.0.0/16 gw 10.145.14.24

вот что пишет:
route: bad address: gw

Да, действительно. gw тут лишнее.

Teerner писал(а):
пробовал так:
sudo route add -net 10.145.0.0/16 10.145.14.24
ошибок нет, но не работает

Что именно не работает?

Teerner писал(а):
ifconfig
en0: inet 10.0.0.12 netmask 0xffffff00 broadcast 10.0.0.255
en1: options=4
inet 10.145.14.24 netmask 0xffffff00 broadcast 10.145.14.255

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.145.14.254 UGSc 45 0 en1
default 10.0.0.1 UGScI 16 0 en0
10/24 link#4 UCS 2 0 en0
10.0.0.1 20:7c:8f:83:b0:a3 UHLWIir 17 25 en0 1142
10.0.0.12 127.0.0.1 UHS 0 25 lo0
10.0.0.255 ff:ff:ff:ff:ff:ff UHLWbI 0 6 en0
10.145.14/24 link#6 UCS 6 0 en1
10.145.14.5 0:3:47:b7:cb:f3 UHLWIi 1 3 en1 864
10.145.14.24 127.0.0.1 UHS 1 0 lo0
10.145.14.29 8:0:27:69:d7:ac UHLWIi 1 35 en1 1179
10.145.14.47 0:21:5a:18:f8:49 UHLWIi 0 1 en1 890
10.145.14.104 6c:62:6d:aa:4a:a8 UHLWIi 0 1 en1 890
10.145.14.254 0:14:1c:7b:c3:3f UHLWIir 46 0 en1 1198
10.145.14.255 ff:ff:ff:ff:ff:ff UHLWbI 0 6 en1

Вопросы:
Что это за options=4 ?
Зачем 2 дефолтных маршрута?
Если уже есть маршрут 10.145.14/24, то зачем нужны маршруты 10.145.14.5, 10.145.14.29, 10.145.14.47, 10.145.14.104, 10.145.14.254?
Какая вообще задача-то:) Поконкретнее, если можно.

Вернуться к началу
Teerner

Зарегистрирован: 19.04.2013
Сообщения: 10

Добавлено: Вт Янв 28, 2014 17:21
задача то простая:

имеется две сетки:
— yota (wi-fi) — Интернет
— локальная сеть (через RJ) — Ethernet

вот и их надо «подружить»

Вернуться к началу
blblTb

Зарегистрирован: 30.01.2008
Сообщения: 5588
Откуда: Норильск

Добавлено: Вт Янв 28, 2014 23:15
Teerner
Не вижу препятствий. Хоть три или четыре подключения на моём Mac Pro одновременно одновременились. У вас-то какая проблема, о которой надо догадаться?
_________________
Да, это я напустил.
Вернуться к началу
Teerner

Зарегистрирован: 19.04.2013
Сообщения: 10

Добавлено: Чт Янв 30, 2014 10:19
blblTb писал(а):
Teerner
Не вижу препятствий. Хоть три или четыре подключения на моём Mac Pro одновременно одновременились. У вас-то какая проблема, о которой надо догадаться?

только в том, что не могу добиться, чтобы это зработало.

такок почему не рабатывает ни в какую:
sudo route add -net 172.30.0.0/16 172.30.150.1

при этом при просмотре самой таблицы данный маршрут фиксируется, но локалка при этом не пашет. только Интернет

Вернуться к началу
YDS

Зарегистрирован: 18.07.2001
Сообщения: 1303
Откуда: msk

Добавлено: Чт Янв 30, 2014 10:51
Teerner писал(а):
sudo route add -net 172.30.0.0/16 172.30.150.1

Если разобраться, эта команда не имеет никакого смысла.

Вернуться к началу
blblTb

Зарегистрирован: 30.01.2008
Сообщения: 5588
Откуда: Норильск

Добавлено: Чт Янв 30, 2014 13:40
RouteSplit
_________________
Да, это я напустил.
Вернуться к началу

Страница 1 из 1

—>

Список форумов MacCentre.ru Форум » Сети и подключения Страница 1 из 1 Часовой пояс: GMT + 4 —>

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме

Powered by phpBB © 2001, 2005 phpBB Group

Источник

Читайте также:  Что такое класс окна windows
Оцените статью