WiFi Pineapple and Mac OS X Internet Sharing

Important: this approach does not seem to work since Mac OS X 10.10 Yosemite.

This one is for you Mac users out there that want to share your Mac’s WiFi internet connection via the LAN cable to the WiFi Pineapple. Using the out of the box Internet sharing option of your Mac doesn’t work with the WiFi Pineapple. I had experienced it again, but never gave it any good look and switched to Linux. Today I it frustrated me and I looked into it.

The problem with the setup is twofold: 1) The Pineapple expects the 172.16.42.0 subnet, while OS X uses 192.168.2.0 when enabling internet sharing, and 2) the Pineapple expects the default gateway on 172.16.42.42 which is not a very logical address for a gateway. Now, we could change all these settings on the Pineapple to match the Mac’s. But sometimes your situation may require different. I couldn’t find any manual on the internet. So here are the steps you need to do:

  1. Disconnect cables from Mac’s LAN to Pineapple.
  2. On the Mac go to Internet Sharing and share your WiFi adapter to the LAN interfaces. Once enabled, disable it again and close the System Preference program. We need this step to write a default config file that we can alter.
  3. The config file that we need to alter is /Library/Preferences/SystemConfiguration/com.apple.nat.plist We need to add an option “SharingNetworkNumberStart 172.16.42.0”. You can manually add this as a dict at the end of the file, or you can use the command “sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add SharingNetworkNumberStart 172.16.42.0″. This makes sure that 172.16.42.0/24 is now used as the subnet for the sharing interface, and as such fixes our first problem.
  4. Use the GUI again to start Internet Sharing.
  5. Manually change the IP address used by the Mac’s LAN interface with the command “ifconfig bridge100 172.16.42.42 netmask 255.255.255.0 up”.
  6. Now we need to change some DHCP options, because by default the DHCP server tells the clients to use gateway 172.16.42.1. We do this by altering file /etc/bootpd.plist. There are two mentions of 172.16.42.1 that we need to change into 172.16.42.42. We also need to adjust the pool range. Look for the <key>net_range</key> section. Alter the starting address to 172.16.42.43.
  7. Find the PID of the bootpd process and give it a kill -HUP to reread its config file.

That’s it. Now you can connect the LAN cable and enjoy internet from your Pineapple.

Advertisements

13 Responses to “WiFi Pineapple and Mac OS X Internet Sharing”

  1. Scott Says:

    Was happy to find this article and it makes sense. I’m running Mavericks and cannot find the first location mentioned (apple.nat.plist) Did it move?

    • Scott Says:

      I meant to say I’m running Yosemite (not Mavericks). Thanks!

      • Im not running Yosemite yet dont know exactly. However, make sure to do step 2 as otherwise the file is not created (at least on Mavericks).

        I’ll investigate once Ive got Yosemite, which will happen after GPGTools is ready.

  2. userx Says:

    I cannot see any mention to 172.x.x.x in the bootpd.plist. Im using Yosemite. Anyone else have this problem?

  3. userx Says:

    Also, I’m not evening seeing the bridge100 interface.

    • I am not running Yosemite (yet) so cant verify for you making troubleshooting very hard. Perhaps Yosemite names the bridge interface differently. So check with ifconfig for other bridge interfaces.

      Regarding your other comment, what’s the content of the bootpd.plist file?

      • frilla Says:

        this is my bootpd.plist file

        bootp_enabled

        detect_other_dhcp_server

        dhcp_enabled

        dhcp_ignore_client_identifier

        use_server_config_for_dhcp_options

        i didnt see net_range section

      • @frilla those are the last few options of the file. On my OSX version there is a bunch of more options right before the “bootp_enabled”.

        So if nothing else is in that file the guys at Apple must have placed the settings into a different config file. You can search on your system yourself or wait some time till I change my OSX machine to the newest version and have figured it out.

  4. userx Says:

    I’m too impatient so I just ran Kali in a VM and got it working. Maybe someone with more patience will have better luck.

    • rolf Says:

      How do you stop InternetSharing overwriting /etc/bootpd.plist?
      Greetings rmk

      • not much, just reapply the setting every time you want this enabled. Do note that with Yosemite there are issues and this how-to is not working.

    • mrright Says:

      Hi userx. Which VM did you use? I’ve been trying to get Wifi Pineapple Nano working with Kali 2 via Parallels. However, I can’t seem to get the wifi pineapple recognised in the linux VM. Any ideas would be much appreciated. Cheers :-)

  5. Hello everyone, it’s my first visit at this web site,
    and paragraph is really fruitful designed for me, keep up posting these articles or reviews.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: