Lion won't give out DHCP addresses with Internet Sharing

I finally figured it out.

  • You said your Firewall is off. You should double-check. This will definitely cause Internet Sharing to not work. System Preferences -> Security & Privacy -> Firewall.
  • In the "Sharing" panel, change your Computer Name to something simple. Instead of "Elliot's MacBook Pro", use "MBP".
    • Turn off Internet Sharing (if it's on). Make sure you have set "Share your connection from:" to "Ethernet", and "To computers using:" to "Wi-Fi". Change the "Wi-Fi Options..." and save.
  • If that didn't work: Turn off Wi-Fi on your Lion Mac. Make sure you have internet access from Ethernet, and that it works (test a site in a browser).
  • For your Wi-Fi connection, set "Configure IPv4" to "Using DHCP". In the "DNS" tab, delete any existing entries.

Hope this helps!


This thread along with https://discussions.apple.com/thread/2108373 helped me.

  1. I turned off all internet connection sharing.

  2. I deleted the following files:

    /Library/Preferences/SystemConfiguration/com.apple.nat.plist
    /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
    /Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist
    
  3. Restarted

  4. Turned on Internet Sharing

This resulted in Internet Sharing sharing giving the client the correct DHCP lease details.


This worked for me on 10.9 Mavericks (build 13A598)

  1. Open Terminal and run

    sudo launchctl remove com.apple.bootpd
    
  2. Re-enable Internet Sharing

This guy below has a basic explanation of what he's doing if you want more of an explanation and debugging process.

http://ben-collins.blogspot.com/2010/08/mac-os-x-internet-sharing-problems.html


I have OS X El Capitain and the following works for enabling the sharing of internet connection by devices connected to the ethernet connection (the local network) via the wi-fi network (the internet connected network).

1) Network Connection --> the local connection in automatic 2) Sharing --> Internet Sharing (set Share your connection to the Wi-Fi in the drop-down menu and tick the ethernet connection)

At this point if you go back to network connection you will see the wifi with a green dot and the ethernet with a yellow dot. Keep going, as (1,2) may not be enough, yet.

3) Security --> Firewall Options --> remove the tick to "Block all incoming connection". (NB this is different than disabling your firewall!).

Then you will start getting queries like "do you want service XYZ to accept incoming connection?". The answer to most of those questions depends on your security paranoia (mine is high) except for one!

4) Accept bootpd (which is the daemon for DHCP).

In retrospect the last step is sort of obvious: when the poor device on the (local) ethernet network send a DHCP request to your Mac to get an IP address from the perspective of your Mac this is an unsolicited incoming request and therefore the Firwall will quietly drop it.

If you don't want (3,4) then you may set up manually the IP of the local device and your Mac to a pair of addresses on the same subent. So somenting like n0.n1.n2.nDevice and n0.n1.n2.nMac where the Ns are any number in 1-254.