- О маршрутизации простыми словами. Как посмотреть, добавить или удалить маршрут в macOS
- Как посмотреть, добавить или удалить маршрут в macOS
- Как перезагрузить таблицу маршрутизации Mac OSX по умолчанию без перезагрузки
- Маршрутизация в Mac OS при VPN подключении
- Mac os таблица маршрутизации
- Как добавить постоянные статические маршруты (persistent static routes) в Mac OS X. 1
- Как посмотреть, добавить и удалить маршрут в Mac OS X
- 4 ответа
- Как запустить Traceroute на MacBook, Mac: 2 метода
- Как запустить Traceroute на MacBook Pro, Mac, iMac
- Метод 1: через приложение-терминал
- Метод 2: запустите Traceroute на Mac с помощью приложения Network Utility
О маршрутизации простыми словами. Как посмотреть, добавить или удалить маршрут в 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 OSX по умолчанию без перезагрузки
Я использую 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
Вам необходимо промыть маршруты. Используйте route -n flush несколько раз. Затем добавьте ваши маршруты с маршрутом добавить.
Я столкнулся с этой проблемой при использовании домашнего сервера OpenVPN и подключении к нему с помощью приложения Tunnelblick на Mac.
То, что происходило на моем конце, было то, что маршрут с моим домашним IP в качестве пункта назначения и неправильного шлюза становился остатком после отключения от VPN. Удаление этого маршрута решило проблему, просто
Пример: я в школе и после новой загрузки компьютера подключаюсь к беспроводной сети. Я подключаюсь к своему домашнему серверу OpenVPN с Tunnelblick.
Я отключаюсь от VPN-сервера. Я меняю беспроводные сети. Это меняет мой шлюз по умолчанию.
Я не могу ни при каких обстоятельствах подключиться к моей домашней сети (VPN, ping, что угодно) после того, как это произойдет. Если я тогда просто удалю маршрут:
Может быть проблема с настройкой сервера / клиента OpenVPN, которая оставляет это (и мне было бы интересно узнать, что это такое), но я установил скрипт пост-разъединения Tunnelblick, который автоматизирует удаление этого маршрута.
Источник
Маршрутизация в 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…
Итак задачу я решил следующим образом:
создал скрипт: 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. Удаление этого маршрута решило проблему, просто
Пример: я нахожусь в школе и после новой загрузки компьютера подключаюсь к беспроводной сети. Я подключаюсь к моему домашнему серверу 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, поэтому маршрут не может быть удален.
Источник
Как запустить Traceroute на MacBook, Mac: 2 метода
Traceroute — это встроенный инструмент для диагностики проблем сетевого подключения и маршрутизации между Mac и сервером. При открытии веб-сайта приложение показывает, что сайт недоступен или какая-либо другая ошибка, и в конечном итоге вы не сможете посетить веб-сайт. Чтобы преодолеть это и найти причину этой ошибки, на картинке появляется трассировка трассировки. В отчете traceroute вы можете отслеживать, как пакеты перемещаются по пути, где произошла поломка и как ее исправить.
На MacBook и Mac есть два способа запустить traceroute: один — с помощью приложения «Терминал», а другой — приложения «Сетевая утилита», оба функции одинаковы. Вы можете попробовать любой из них, чтобы найти и просмотреть traceroute в macOS.
Как запустить Traceroute на MacBook Pro, Mac, iMac
Метод 1: через приложение-терминал
- Откройте приложение «Терминал» на Mac. Щелкните Finder. Выберите «Приложения» и выберите «Утилиты».
- Оттуда откройте Терминал.
- Введите следующую команду в Терминале.
- Здесь имя хоста относится к имени сервера, который вы хотите протестировать. Это может быть ссылка на любой сайт. Например, если вы хотите узнать результаты трассировки сайта howtoisolve.com, команда будет выглядеть так:
- traceroute howtoisolve.com
- Нет необходимости вводить www или https: // в команде при отслеживании отчета traceroute сервера.
- Mac потребуется несколько минут, чтобы сгенерировать отчет трассировки между соединениями.
- Если отображается знак *, значит время ожидания запроса истекло, проверьте результаты.
- Вот и все.
Метод 2: запустите Traceroute на Mac с помощью приложения Network Utility
Примечание: Сетевая утилита устарела в macOS Big Sur, Так что этот способ бесполезен…
- Пользователи MacOS Catalina и более ранних версий Mac могут использовать Traceroute с помощью сетевой утилиты.
- Нажмите Command + пробел, чтобы открыть поиск Spotlight, а затем выполните поиск в приложении Network Utility. или Открыть из Finder, Открыть Finder на Mac, Из верхнего меню Mac Перейти> Перейти в папку…>
/ Система / Библиотека / CoreServices / Приложения> В папке приложений.
- Выберите вкладку Traceroute.
- Введите URL-адрес веб-сайта, например howtoisolve.com, и нажмите «Трассировка».
Надеюсь, это поможет вам узнать, что вы ищете. Дайте нам знать в комментариях, если у вас есть какие-либо сомнения или вам нужно изучить то же самое.
Источник