Quantcast
Channel: CodeSection,代码区,Linux操作系统:Ubuntu_Centos_Debian - CodeSec
Viewing all articles
Browse latest Browse all 11063

Configuring dnsmasq only for DHCP server in Ubuntu PC

$
0
0
Purpsose

To configure my own DHCP server with dnsmasq on my Ubuntu PC. A commercial router is running together.

(Actually, I wanted to setup a PXE boot server with dnsmasq .)

Environment dnsmasq Solution

Install dnsmasq .

sudo apt install dnsmasq

Configure dnsmasq by writing the default configuration file( /etc/dnsmasq.conf ) or a new file in the path /etc/dnsmasq.d/ (For example, /etc/dnsmasq.d/dhcp.conf ). The default configuration file includes a neat and detailed description of each configuration parameter.

# Set the interface on which dnsmasq operates. # If not set, all the interfaces is used. #interface=enp5s0 # To disable dnsmasq's DNS server functionality. port=0 # To enable dnsmasq's DHCP server functionality. dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h #dhcp-range=192.168.0.50,192.168.0.150,12h # Set static IPs of other PCs and the Router. dhcp-host=90:9f:44:d8:16:fc,iptime,192.168.0.1,infinite # Router dhcp-host=31:25:99:36:c2:bb,server-right,192.168.0.3,infinite # PC1 dhcp-host=ac:97:0e:f2:6f:ab,yul-x230,192.168.0.13,infinite # PC2 # Set gateway as Router. Following two lines are identical. #dhcp-option=option:router,192.168.0.1 dhcp-option=3,192.168.0.1 # Set DNS server as Router. dhcp-option=6,192.168.0.1 # Logging. log-facility=/var/log/dnsmasq.log # logfile path. log-async log-queries # log queries. log-dhcp # log dhcp related messages.

(Re)start dnsmasq service. You can check status of dnsmasq with systemctl command.

sudo service dnsmasq restart sudo systemctl status dnsmasq.service

Also you need to set the dnsmasq server ip. My network interface name was enp5s0 . Set it as yours. Also, the server address was set to 192.168.0.10 in the following example.

# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto enp5s0 iface enp5s0 inet static address 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255 network 192.168.0.1

Restart networking service. If it does not work, just reboot the machine.

sudo service networking restart

You need to disable DHCP server functionality of your router. Restart the dnsmasq service after disabling it.

Other tips

You can register dnsmasq as startup service. (Make it run whenever the machine is rebooted.)

update-rc.d dnsmasq defaults

Checking the list of current clients that received IPs from DHCP service.

sudo cat /var/lib/misc/dnsmasq.leases

To read logs when the log file is not set in the configuration file.

sudo journalctl -u dnsmasq.service

To test the configuration.

dnsmasq --test


Viewing all articles
Browse latest Browse all 11063

Trending Articles