I had a server unable to connect to any network and while wrangling with it I found a temporary resolution on running this command: /etc/init.d/network restart && dhclient. However, I don't quite understand what exactly did the dhclient command do to fix the issue? Any help is appreciated. Thanks!
What does dhclient do?
15.9k Views Asked by Yong zhu At
1
There are 1 best solutions below
Related Questions in NETWORKING
- kernel module does not print packet info
- Packet drops in multicast when multiple instance of listner are running
- Timing packets on a traffic server
- How to use Espresso Idling Resource for network calls
- Dummynet does not match on flows
- Sending a notification from OS X to iOS
- Swift ios viewDidLoad or viewDidAppear
- Update player list on all clients on new connection
- Issues regarding multiplayer networking: input
- nmap does not show all open ports
- Getting and Sending Data between a Server and Client
- Read file from local PC from network deployed app to InputStream
- Does iOS block a URL if we couldn't connect to the URL for 'n' times?
- Is Socket.Available guaranteed to throw a SocketException on disconnect?
- android out of cell service
Related Questions in ROUTES
- Routing Url that has no action name
- Implementing find node on torrent kademlia routing table
- Get packet that's being routed
- Preserve `$location.search()` in angular `redirectTo`?
- Why does this MVC action return a 404 response in IE11
- Backbone: Best way to prevent routes (and url change)
- ASP.NET MVC routing 404
- Change the name of parent :parent_id parameter in Routing resources for Rails4
- Where should I put Symfony third-party bundle's routing configuration?
- How to route by call method in proxy with WSO2?
- Asp.net MVC Routelink null controller parameter
- using dart route package url got error 404
- Re-transmission concept in TCP
- Network unreachable when address is IPv6 in Buildroot
- rails_admin add custom controller in namespace admin
Related Questions in NETWORK-PROGRAMMING
- Packet drops in multicast when multiple instance of listner are running
- Get packet that's being routed
- Timing packets on a traffic server
- SNMP :snmpwalk response from NAS timeout issue
- Send Http request at specific time
- Swift - Get device's WIFI IP Address
- Construct and label a uniform graph in NetworkX using dictionaries?
- Diffie Hellman with authentication
- traversing a graph in spark-graphx via edge properties
- Setting proxy for java application
- Java sending handshake packets to minecraft server
- How to use different network interface for signaling & media in WebRTC app?
- Is it guaranteed that an RST packet will be sent when a process terminates?
- Does a process waiting on a network response take cpu/ram resources?
- Python socket stays blocked on socket.recv() when client expects data
Related Questions in DHCP
- Nmap does not show DHCP server, no errors
- Best way to add support for a new subnet
- get a DHCP server's IP
- Can't Parse DHCP packets with Ryu's get_protocol(dhcp.dhcp)
- Cannot integrate Windows10 in my local network - pulls IP address outside of DHCP range
- How can I override another .bbappend
- Calculate subnet with few unused addresses
- Code to Change the TCP/IP configuration of the computer to DHCP
- 1 script to switch to and from static IP or DHCP
- Photos are not showing up when using No-IP ddns and linux apache
- DHCP server issues
- Android: How to prevent a Wifi disconnect on DHCP renewal?
- powershell - trying to use split method to isolate the number "50" from the returned value "Free : 50"
- DhcpEnumFilterV4 (P/Invoke) always reports ERROR_NO_MORE_ITEMS
- Python dhcp packet using raw socket
Related Questions in DHCLIENT
- Papertrail throwing error as "dhclient: XMT: Solicit on eth0"?
- What does dhclient do?
- Setting up virtual bridge: Cannot find device "br0"
- ovs-vsctl error while Streaming Video in Mininet
- How to upload file to DHC-REST/HTTP API with Selenium
- dhclient.conf modifications do not change resolv.conf
- dhcp client failure in latest version
- Is it possible to run dhclient from C code without using system()?
- How to automatically get information about dhcp address renewal?
- initramfs ipconfig vs networking dhclient DHCP request using different parameters
- Docker set container IP addr from DHCP/DNS automatically
- Web API 2 EnableCors not working when I post data with DHC Chrome extension
- Problems with dhclient arm cross compilation
- dhclient not sending DHCPDISCOVER after $reason report TIMEOUT and valid lease are unreachable
- Bash if with subshell not running as expected
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The
dhclientrequests an IP address from a DHCP server (reference 1, reference 2).From what you are describing, it seems the following is happening:
Initially, none of the network interfaces on your machine have been assigned an IP address. Therefore, you are unable to connect to other servers with IP-based protocols. You can verify that no IP address has been assigned using
ip addressorifconfig -a.You then start
dhclient, which will use DHCP to request an IP address. It does so by sending a DHCP discovery message to the broadcast address of your network.There is a DHCP server running somewhere in your local network (e.g. on your router/gateway). The DHCP server receives the DHCP discovery message and reserves an IP address for your machine. The DHCP server sends back a DHCP offer message back to your machine (based on the link-layer address of your machine contained in the DHCP discovery message, i.e. the MAC address of your network interface). The DHCP offer message tells your machine which IP is being offered to it.
Your machine receives the DHCP offer message and replies with a DHCP request message for the offered IP address. The DHCP server replies with a DHCP acknowledgement message, telling you that the IP can be used by your machine now. Your network interface is configured for the assigned IP address. You can now connect to other servers with IP-based protocols.
The
dhclientis similar in functionality todhcpd, they only have some small differences in behavior, e.g.dhclientwill exit immediately if no broadcast interfaces are found, whereasdhcpdwill continue running in the background until an interface becomes available (reference).The alternative to using DHCP would be to assign a static IP to your machine.