Come abilitare il routing in OS X El Capitan

3

Ho una macchina virtuale Linux (guest) configurata con un adattatore NAT su una subnet 192.168.56.0. Il suo indirizzo IP è 192.168.56.128 e il mio Mac (host) ha 192.168.56.1. Il gateway predefinito Guest viene automaticamente impostato su 192.168.56.2 ed è in grado di eseguire il ping di Google dal guest. L'IP Wi-Fi dell'host è 192.168.0.2,

Ho configurato il mio router Wi-Fi con la seguente tabella di routing per inoltrare i pacchetti da 192.168.56.0 a 192.168.0.2 (il mio Mac)

pi@raspberrypi ~ $ route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.16.4.1      0.0.0.0         UG    0      0        0 eth0
172.16.4.0      *               255.255.252.0   U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 wlan0
192.168.56.0    192.168.0.2     255.255.255.255 UGH   0      0        0 wlan0
192.168.57.0    192.168.0.2     255.255.255.255 UGH   0      0        0 wlan0

Ma non riesco a eseguire il ping di guest da nessun altro dispositivo sulla rete Wi-Fi (192.168.0.0). Quindi è ovvio che il mio Mac con OS X El Capitan non sta inoltrando i pacchetti da 192.168.0.0 a 192.168.56.0

    
posta neckTwi 03.02.2016 - 07:05
fonte

2 risposte

2

Il tuo router non è responsabile di instradare i pacchetti da 192.168.0.0 a 192.168.56.0, ma l'host VM è. Devi mantenere la route statica 192.168.56.0 - > Comunque 192.168.0.2 sul router. Non so quale sia lo scopo della seconda route 192.168.57.0 - > 192.168.0.2 - probabilmente un secondo adattatore NAT sull'host.

Per raggiungere la tua VM da altri dispositivi OS X nella tua rete 192.168.0.0 devi configurare una route statica su ciascuna delle macchine 192.168.0.x sull'host della macchina virtuale:

sudo route add -net 192.168.56.0  192.168.0.2

Per rendere persistente questa rotta aggiungi un demone di lancio su ciascuna delle macchine:

sudo nano /Library/LaunchDaemons/local.staticroute.vm.plist

con il contenuto

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>local.staticroute.vm</string>
    <key>ProgramArguments</key>
    <array>
      <string>route</string>
      <string>add</string>
      <string>-net</string>
      <string>192.168.56.0</string>
      <string>192.168.0.2</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

salva il file (ctrl-O) e esci da nano (ctrl-X).

Carica il daemon di avvio con:

sudo launchctl load -w /Library/LaunchDaemons/local.staticroute.vm.plist

Se gli altri dispositivi nella rete 192.168.0.0 sono host Linux / Windows / Android, utilizzare i rispettivi comandi per aggiungere una rotta:

Windows (persistente):

route add -p 192.168.56.0 mask 255.255.255.0 192.168.0.2 

Linux:

route add -net 192.168.56.0 netmask 255.255.255.0 gw 192.168.0.2

Per aggiungere una rotta persistente in Linux, controlla la documentazione sulla distribuzione di Linux.

    
risposta data 03.02.2016 - 09:00
fonte
0

Questo non è sopravvissuto al riavvio per me in 10.11. Ho seguito queste istruzioni :

sudo networksetup -setadditionalroutes Wi-Fi 192.168.56.0 255.255.255.0 192.168.0.2

dove Wi-Fi è stato trovato usando networksetup -listallnetworkservices .

    
risposta data 29.07.2017 - 03:02
fonte

Leggi altre domande sui tag