Come risolvere la condivisione di Internet che non instrada i pacchetti ad eccezione del DNS?

3

Ho un Mac mini con 10.8.2. Si connette a Internet tramite Wi-Fi e tutto sembra funzionare. Voglio rendere questo Wi-Fi disponibile per un altro computer che si collega all'Ethernet del mini.

Il mio router Wi-Fi è a 10.0.0.1 .

Ho sperimentato un sacco di impostazioni statiche e dinamiche. Questo è quello che ho attualmente:

mini
Static IP: 192.168.2.1
Netmask:   255.255.255.0
Router:    10.0.0.1

Condivisione Internet è impostata per passare da Wi-Fi a Ethernet. In questa configurazione:

  1. Il mini servirà l'indirizzo DHCP su Ethernet.
  2. Il mini fornirà la risoluzione DNS su Ethernet.
  3. Il mini NON invierà pacchetti per host esterni.
  4. Il computer collegato può ping o ssh nel mini.
  5. Il computer connesso può risolvere DNS.
  6. Il computer collegato non può ping il router, Google o qualsiasi altro computer esterno.

Ecco un piccolo dump di cose speranzosamente utili dalla riga di comando:

boots@eiji:~$ ps ax | egrep '(bootp|natp)'
52502   ??  S      0:00.01 bootpd -d -P
52503   ??  S      0:29.94 natpmpd -d -y bridge0 en1
53729 s001  S+     0:00.00 egrep (bootp|natp)
boots@eiji:~$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:07:54:58:2f:9c 
    media: autoselect (none)
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 68:a8:6d:58:06:e7 
    inet6 fe80::6aa8:6dff:fe58:6e7%en1 prefixlen 64 scopeid 0x5 
    inet 10.0.0.145 netmask 0xffffff00 broadcast 10.0.0.255
    media: autoselect
    status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 0a:a8:6d:58:06:e7 
    media: autoselect
    status: inactive
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    lladdr a4:b1:97:ff:fe:d9:44:ca 
    media: autoselect <full-duplex>
    status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether ac:de:48:65:39:32 
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    Configuration:
        priority 0 hellotime 0 fwddelay 0 maxage 0
        ipfilter disabled flags 0x2
    member: en0 flags=3<LEARNING,DISCOVER>
             port 4 priority 0 path cost 0
    
posta Matt 04.10.2012 - 16:41
fonte

3 risposte

0

Un mio amico mi ha ricordato dell'esistenza di tcpdump . Questo mi ha dato lo strumento di cui ho bisogno per rintracciare il mio problema.

Sul mio computer collegato, ho iniziato a eseguire il ping del router wireless con:

boots@frobisher:~$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
...

L'ho lasciato in esecuzione in modo da generare traffico che potrei facilmente tracciare. Sul mio mini ho eseguito

boots@eiji:~$ sudo tcpdump -l -i en1 -n | grep ICMP
13:41:45.776732 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 28, length 64
13:41:46.776635 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 29, length 64
13:41:47.776489 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 30, length 64
...

Questo è stato il mio primo indizio. Mac mini è che fa eco al traffico sulla rete wireless, ma si sta perdendo lì.

A questo punto, ho aperto la configurazione wireless del mio router. Per la maggior parte dei router questo significa puntare un browser web sul router: http://10.0.0.1/ . Sono andato alla scheda avanzata e ho guardato le tabelle di routing. Ho notato che gli indirizzi 192.168.2.x venivano indirizzati alla connessione Internet non alla LAN. Così ho aggiunto una route statica:

Static Route: 192.168.2.0
Netmask: 255.255.255.0
Gateway: 10.0.0.145

Improvvisamente il mio tcpdump inizia a vedere le risposte!

13:41:56.775330 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 39, length 64
13:41:56.777700 IP 10.0.0.1 > 192.168.2.14: ICMP echo reply, id 31530, seq 39, length 64
13:41:57.774797 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 40, length 64
13:41:57.777136 IP 10.0.0.1 > 192.168.2.14: ICMP echo reply, id 31530, seq 40, length 64
...

Allo stesso modo, il mio ping sul computer connesso sta vedendo le risposte

boots@frobisher:~$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
64 bytes from 10.0.0.1: icmp_seq=0 ttl=64 time=3.864 ms
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=4.463 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.246 ms
...

Quindi, eseguo il test del browser Web sul mio computer collegato e tutto funziona. Tecnicamente potrei fermarmi qui, ma se il mio DHCP è in leasing con le mie mini modifiche, allora avrò bisogno di aggiustare manualmente il percorso. Per evitare questo problema, ho impostato il mio router per inviare un indirizzo IP statico al mio mini e impostare il router per il traffico 192.168.2.x in modo che punti a tale indirizzo IP statico.

Ora che l'ho fatto funzionare con il mio computer collegato, ho acceso il cavo ethernet alla mia xbox e l'ho testato. Tutto ha funzionato perfettamente, quindi la mia xbox ora si collega su Ethernet al mio Mac mini che utilizza la connessione wifi per connettersi a Internet, proprio come volevo.

    
risposta data 05.10.2012 - 20:40
fonte
2

La risposta di Matt non è in realtà una soluzione, ma solo una soluzione. NAT in 10.8.2 non funziona a causa di un bug nei file di configurazione di pf. Puoi trovare la soluzione qui: link

    
risposta data 01.11.2012 - 13:11
fonte
1

Ho avuto un sintomo leggermente diverso. Gli iPhone con connessione Wi-Fi potrebbero connettersi al Wifi, hanno un IP (192.168.2.2) e un router (192.168.2.1) assegnato tramite DHCP. Il Mac poteva eseguire il ping e l'iPhone poteva accedere ai servizi nella rete locale tramite l'indirizzo IP. Tuttavia, l'iPhone non può accedere a nessun servizio Internet (ad esempio Maps).

Ho scoperto che non è stato assegnato alcun DNS. Quindi ho specificato manualmente un DNS sull'iPhone e ora la connessione funziona perfettamente. Sembra che il server DHCP di Internet Sharing in 10.8.2 non assegni correttamente il DNS ai suoi client.

Vedi anche rdar: // 12468765 .

    
risposta data 10.10.2012 - 14:01
fonte

Leggi altre domande sui tag