Статические маршруты mac os

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

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

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

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

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

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

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

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

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

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

Читайте также:  Windows архивы что это такое

Как посмотреть, добавить или удалить маршрут в 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

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

Источник

Как направить IP-маршрут через определенный интерфейс в OS X?

Я на Mac и пытаюсь маршрутизировать определенный адрес через определенный шлюз на моем Wi-Fi-соединении.

Иногда это будет работать, а иногда — нет. Я обнаружил, что интерфейс, который он выбирает, каждый раз отличается. Это не должно быть en0 чтобы работать

Вывод netstat -nr когда он не работает:

Это когда это работает: (примечание en0)

Почему я это делаю? Потому что у нашей компании есть прокси, на котором HipChat не работает. Таким образом, я маршрутизирую трафик hipchat через открытую сеть Wi-Fi, все еще находясь в моей сети Ethernet.

Я также попытался добавить запись, используя только интерфейс

HipChat не может подключиться.

РЕДАКТИРОВАТЬ 2: Кто-то попросил всю мою таблицу маршрутизации, вот она сегодня. Обратите внимание, что 54.81.143.201 теперь связан с en3, а не en0

8 ответов 8

Как указали другие, это на самом деле 3 проблемы.

Ваш беспроводной интерфейс, кажется, меняется между en0, en3 и en5.

На моем MacBook Air en0 всегда беспроводная; Thunderbolt-to-Ethernet всегда en3, а USB-to-Ethernet всегда en5. Но если вы подключите адаптер к другому порту на вашем Mac, то имя его сетевой карты изменится. Вы должны решить это в первую очередь. Убедитесь, что ваше беспроводное устройство всегда имеет одно и то же имя. В противном случае при вводе команды статического маршрута, если в расположение en0 не подключен сетевой адаптер , команда (очевидно) завершится с ошибкой адреса (физический адрес не имеет связи).

Также убедитесь, что адаптер всегда подключается к одному и тому же SSID. Очевидно, адрес шлюза должен быть действительным для подсети, и разные сети WiFi будут иметь разные подсети. Это может вызвать другой тип ошибки.

Вы не указали, является ли беспроводное соединение единственным сетевым подключением. Учитывая вышесказанное, я думаю, нет . Это и виртуальные сети из-за VMware или Parallels могут вызвать дополнительные сложности. (Например, если обе подключенные сети используют одно и то же пространство IP . Виртуальные машины часто соединяются и имеют свои собственные IP-адреса / маршруты / ссылки . ) Размещение топологии сети поможет.

После этого попробуйте либо sudo route add -host 54.81.143.201 -iface en0 либо sudo ipfw . Если вы не уверены в имени адаптера, вы можете вместо этого указать его MAC-адрес, например: sudo route add -host 54.81.143.201 -link 14:10:9f:e7:fd:0a

Если вы перезагрузитесь, это может не сохраняться. Вам нужно будет справиться с этим отдельно.

Источник

Adding a Static Route to macOS

Command

Executed from Terminal

x.x.x.x is the IP address of the Cisco/Luxul switch with Just Add Power devices attached

Examples

1. For a J+P Network of 10.0.0.0, subnet mask 255.0.0.0 and switch IP 192.168.0.254

2. For a J+P Network of 172.16.0.0, subnet mask 255.255.0.0 and switch IP 192.168.1.49

Читайте также:  Кодировка windows 1251 notepad

Purpose

Whether setting up or troubleshooting a system, there are some situations where adding a static route to the computer’s internal routing table is necessary:

  1. If there is not a static route already added to the network router. Perhaps because one is not needed for the day-to-day operation of the system (switching only) or the router does not support adding a static route.
  2. Changing the computer’s default gateway to the switch IP would conflict with the ability to connect the computer to the internet for Remote Desktop Support.
  3. The installer has to connect to the internet using the WiFi connection, while hard wiring into the Just Add Power system in situations where the Just Add Power switch is not connected to the rest of the customer’s network.

While adding a static route to a computer can be a great testing and troubleshooting tool, it will not enhance the actual operation of the system as the static route is only tied to the computer that the route is applied to. This method should not serve as a replacement for adding a Static Route to a system to access Layer 3 Features.

Источник

Как перезагрузить таблицу маршрутизации 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, что угодно) после того, как это произойдет. Если я тогда просто удалю маршрут:

Читайте также:  Менеджер лицензий для windows hasp

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

Источник

Статические маршруты mac os

Anton » 04 фев 2010, 21:38

Маршрутизация в Mac OS X :

Запускаем Terminal (находится в Applications/System Utilities)

(маршрутизация прописывается под root’ом . если нет root-аккаунта — нужно воспользоваться командой sudo, которая, собственно и выполняет root’овые действия)

в строке терминала вводим:

Код: Выделить всё sudo route add -net 192.168.0.0 -netmask 255.255.0.0 [i]ваш_шлюз[/i]
sudo route add -net 213.138.213.0 -netmask 255.255.255.0 [i]ваш_шлюз[/i]
sudo route add -net 80.237.99.224 -netmask 255.255.255.248 [i]ваш_шлюз[/i]

(вместо слова шлюз вписываем ip-адрес шлюза вашей сети)

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

Код: Выделить всё sudo route add -net 192.168.0.0 -netmask 255.255.0.0 [i]ваш_шлюз[/i]
sudo route add -net 213.138.213.0 -netmask 255.255.255.0 [i]ваш_шлюз[/i]
sudo route add -net 80.237.99.224 -netmask 255.255.255.248 [i]ваш_шлюз[/i]

(вместо слова шлюз вписываем ip-адрес шлюза вашей сети)

теперь маршрутизация прописана, но, к сожалению, до первой перезагрузки компьютера

С этим мириться не следует, поэтому заставим ее прописываться автоматически:

Запускаем Script Editor (находится в Applications/System Utilities/AppleScript)

Копируем в окно редактора этот нехитрый скрипт:

Код: Выделить всё set LF to ASCII character 10
sudo route add -net 213.138.213.0 -netmask 255.255.255.0 [i]ваш_шлюз[/i]
sudo route add -net 80.237.99.224 -netmask 255.255.255.248 [i]ваш_шлюз[/i]
set yourScr1 to «sudo route add -net 192.168.0.0 -netmask 255.255.0.0 [i]ваш_шлюз[/i]»
set yourScr2 to «sudo route add -net 213.138.213.0 -netmask 255.255.255.0 [i]ваш_шлюз[/i]»
set yourScr3 to «sudo route add -net 80.237.99.224 -netmask 255.255.255.248 [i]ваш_шлюз[/i]»
set passwordStr to «ваш юзерский пароль» as string
set sudoScr to «sudo » & yourScr1 & «; sudo » & yourScr2 & «; sudo » & yourScr3 & » && sudo -k»
do shell script «sudo -v» & «

разумеется,вместо слова шлюз вписываем ip-адрес шлюза вашей сети,
а вместо ваш юзерский пароль — ваш настоящий пароль

теперь можно нажать на кнопку Run и проверить, все-ли вы правильно сделали.
если нет никаких ошибок и маршрут прописан — сохраняем этот скрипт. в текстовом
виде его хранить как-бы несекьюрно, т.к. он содержит ваш пароль, поэтому сохраним его как application — это вполне нормально.

Кладем этот скрипт куда подальше, открываем System Preferences, в разделе System открываем Accounts, выбираем себя (и если есть и необходимо — других юзеров), переходим в закладку Startup Items, и добавляем туда готовый скрипт (можно просто перетащить мышкой), и ставим напротив в чекбоксе галку, чтобы не мозолил глаза в доке при исполнении.

Теперь при каждом стартапе системы маршрутизация будет прописана автоматически

Еще есть способ — можно в настройках Network, а в частности в Network port configurations, наклонировать Built-in Ethernet в 5 экземплярах с помощью кнопки Duplicate, и в каждом из пяти прописать ip и шлюзы . я не пробовал.

А самый лучший способ — обзавестить роутером с поддержкой маршрутизации, дабы каждый раз
не поднимать vpn-соединение с помощью Internet connect, что всем и рекомендую.

Источник

Оцените статью