When running dnsmasq inside a VPS on an OpenVZ server, you may get an error while trying to start up dnsmasq (this is in particular the case for Debian):
Starting DNS forwarder and DHCP server: dnsmasq dnsmasq: setting capabilities failed: Operation not permitted
This is because dnsmasq does not run as root (which is a good thing). What happens is that dnsmasq gets started as root, then attempts to set privileged functions to the dnsmasq user before changing user from root to that user. When setting these capabilities fails, you get the above error.
The reason for failing is usually because either the kernel is missing the required features, or, in case of OpenVZ, the permissions are not passed on to the VPS. The latter can be resolved easily by adding these to the VPS config.
To resolve, simply add the necessary configuration parameters to the VPS config by running these:
vzctl set CTID --capability setuid:on --save vzctl set CTID --capability net_admin:on --save vzctl set CTID --capability net_raw:on --save
Replace CTID with the ID of the VPS you're editing.
Note that you will have to restart the VPS for the changes to take effect. When done right, dnsmasq will start properly.
« ‹ | November 2024 | › » | ||||
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |