Mac – Internet sharing via Thunderbolt Cable

internet-sharingmacNetworkthunderbolt

I have a MacBook Pro connected to an iMac 27" Mid-2011 with a Thunderbolt cable. I use this for Target Display Mode.

My iMac is connected to the Internet via an Ethernet cable, and I would like to share that connection to my MacBook Pro, using the Thunderbolt cable. Is it possible to use Internet Sharing to do this?

I've tried using the settings below, but they don't work. While the "Thunderbolt Bridge" has a self-assigned IP, the "Thunderbolt Internet" connection is dead. In the image Wi-Fi on the MacBook is On, but if I switch it Off, there is no Internet connection at all.

I'm using the Thunderbolt-to-Thunderbolt cable. enter image description here

iMac ("Sender"):enter image description hereenter image description hereenter image description hereenter image description hereenter image description here

MBP ("Receiver"):

enter image description here

enter image description hereenter image description hereenter image description hereenter image description here


Update: Seems to work OK

Thunderbolt Bridge Internet Sharing now appears to work. On the receiving MacBook, the Thunderbolt Bridge service is placed on top and has a "green" marker. I get Internet access even if I disconnect the Wi-Fi, so it does indeed work.

However, I'm not sure what changed, except that I might've restarted the computers once or twice.

enter image description here

Best Answer

It is possible to share Internet from Ethernet to Thunderbolt!

  • Your gateway (iMac) Internet Sharing settings are ok:

    Share your connection from: Ethernet > to computers using: Thunderbolt bridge

  • Choose the Thunderbolt Bridge device in the network preferences of the client and set Configure IPv4 to Using DHCP.

Open Terminal on both Macs and enter ifconfig respectively.

The gateway (your iMac) should show a bridge device bridge0 crowded with the Thunderbolt devices (probably en2 & en3) with the IP-address 192.168.2.1:

...
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 6a:aa:ca:11:23:00 
    inet6 fe80::68aa:caff:fe11:2300%bridge0 prefixlen 64 scopeid 0x8 
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en2 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 6 priority 0 path cost 0
    member: en3 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 7 priority 0 path cost 0
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active
...

The client (your MacBook Pro) should also show a bridge device bridge0 probably containing en1 (a MBP without Ethernet) or en2 (a MBP with Ethernet) and maybe another en device. Usually its IP-address is 192.168.2.2.

...
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 6a:aa:ca:22:11:00 
    inet 192.168.2.2 netmask 0xffffff00 broadcast 192.168.2.255
    inet6 fe80::68aa:ca22:fe11:e000%bridge0 prefixlen 64 scopeid 0x8 
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en1 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 6 priority 0 path cost 0
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active
...

If the network 192.168.2.0/24 is already occupied by the Ethernet network, the next network 192.168.3.0/24 will be used.


If Ethernet to Thunderbolt Internet Sharing is enabled, the Target Display Mode doesn't work reliably here!