Facebook

CU200 | MacOS: Одновременное Использование Внутренних И Внешних Сетей

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

Установите порядок служб сетевых интерфейсов
Перейдите в Системные настройки - Сеть - Установить порядок служб и перетащите, чтобы настроить приоритет сети. Поместите сетевую карту, подключенную к внешней сети, выше той, что подключена к внутренней сети. Это позволит нормальный доступ к внешней сети.

Установите соответствующие сетевые сегменты для внутренней сетевой карты
Получите адрес шлюза для внутренней сетевой карты. Внутренняя сеть обычно использует фиксированные IP-адреса. Независимо от используемого метода, вы можете найти адрес маршрутизатора в настройках сети - расширенный интерфейс. Этот адрес будет использоваться на следующем шаге для настройки шлюза.

Настройте внутренние сетевые сегменты
Чтобы разрешить доступ к внутренней сети, настройте локальные статические маршруты и добавьте сегменты сети, указывающие на соответствующий внутренний сетевой шлюз.

Добавить:
sudo route add -net 10.0.0.0 -netmask 255.255.0.0 10.0.2.1
sudo route add -net 30.1.0.0 -netmask 255.255.0.0 10.0.2.1

Удалить:
sudo route delete -net 10.0.0.0 -netmask 255.255.0.0 10.0.2.1
sudo route delete -net 30.1.0.0 -netmask 255.255.0.0 10.0.2.1

Параметр 'net' соответствует IP-адресу сетевого сегмента, 'netmask' - это маска подсети. Последний IP-адрес - это внутренний сетевой шлюз, который является IP-адресом маршрутизатора, полученным на предыдущем шаге.

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

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

# Показать текущую таблицу маршрутизации
netstat -rn

# Получить маршрут по умолчанию
route get 0.0.0.0

О внутренних сетевых доменах и внутреннем DNS-разрешении
Если внутренний DNS-сервер не разрешает внешние сетевые адреса, невозможно автоматически разрешить внутренние и внешние сетевые домены только с помощью настроек.

В macOS невозможно добавить как внутренние, так и внешние адреса DNS-серверов для разрешения внутренних сетевых адресов к внешнему сетевому интерфейсу. Удобный метод состоит в том, чтобы сначала отключить внешний сетевой интерфейс, войти в чистый внутренний сетевой режим, выполнить ping на внутреннее доменное имя сети, чтобы получить внутренний IP-адрес, а затем записать его в файл Hosts для локального разрешения.

Проверка результатов разрешения DNS
Вы можете использовать команду nslookup с доменным именем, чтобы проверить, какой DNS-сервер в настоящее время используется для разрешения доменных имен.