2

Я сейчас устанавливаю Mac дома. Он имеет статический IP-адрес 10.0.1.254.

Этот Mac имеет VPN-соединение с моим рабочим местом через tunnelblick (192.168.1.x и 192.168.2.x). Этот Mac также может работать с несколькими моими виртуальными машинами (192.168.170.x).

Находясь на другом ноутбуке (также Mac) в той же сети (10.0.1.x), я хочу иметь возможность подключаться к своему рабочему месту и к виртуальной машине через этот Mac.

На своем ноутбуке я сначала попытался настроить правило маршрутизации:

sudo route -v add 192.168.170.163 10.0.1.254

На Mac я попытался включить IP-переадресацию и даже мостовое соединение:

sudo sysctl -w net.inet.ip.forwarding=1
sudo sysctl -w net.inet6.ip6.forwarding=1
sudo sysctl -w net.link.ether.inet.proxyall=1
sudo ifconfig bridge0 create
sudo ifconfig bridge0 addm en0
sudo ifconfig bridge0 addm vmnet2
sudo ifconfig bridge0 up

Тем не менее, когда я попытался получить доступ к URL-адресу http://192.168.170.163:80/ с моего ноутбука, я, похоже, не был перенаправлен на виртуальную машину на Mac.

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

Я мог бы обойти эту проблему с помощью nat.conf VMware Fusion или перенаправления портов через SSH, но предпочел бы избегать их, поскольку я хочу сохранить IP-адрес, к которому я получаю доступ, и избегать слишком большой конфигурации в /etc/hosts .

Что-то не так с моей концепцией / пониманием? Разве это не проблема, которая решается через мостовую сеть и IP-переадресацию?

Обновить:

Я выполнил обходное решение:
1. На моем Mac (10.0.1.254) размещена серверная виртуальная машина Windows 2003 Std Edition (10.0.1.253) с включенной службой маршрутизации.
2. Служба маршрутизации Windows VM имеет два сетевых интерфейса:10.0.1.253 и 192.168.170.253.
3. Мои другие виртуальные машины (192.168.170.253) настраивают шлюз по умолчанию как 192.168.170.253.
4. Мой ноутбук в сети 10.0.1.x выполняет статическую маршрутизацию от 192.168.170.x до 10.0.1.253.

1 ответ1

2

route add на вашем ноутбуке был шаг в правильном направлении, но вы получите только половину с ним.

Рассмотрим этот график:

NETWORK A___
|          |
|          |
|          |
Laptop     Mac__________
           |            |
           |            |
           |            |
        NETWORK B      NETWORK C

Вы сказали своему ноутбуку, что для того, чтобы попасть в NETWORK B , нужно отправить пакет на Mac .

Теперь компьютер в NETWORK B получает пакет от Laptop (10.0.1.10), но не имеет возможности ответить назад, потому что он не знает, что 10.0.1.10 IP (или предполагаемая сеть 10.0.1.0/24) достижима до 192.168.1.10 или что-либо еще.

Вам либо нужно

  1. сделать маскарадинг IP (чтобы терминалы в NETWORK C и NETWORK B что они общаются с членом своей собственной сети), или
  2. добавьте маршрут обратно в NETWORK A в каждом из терминалов, с которыми вам нужно общаться в NETWORK B и NETWORK C , или
  3. добавить маршрут к NETWORK A в NETWORK B и маршрутизаторе по умолчанию для NETWORK C ... возможно, с включенным маршрутизацией .

Я предполагаю, что OSPF или RIP недоступны для вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .