SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I am a newb to wifi.
My machine is slackware64-15 using a realtek rtl8812au. I built the realtek driver from it's github repo. And that works.
Right now I use networkmanager (nmcli) to connect out as a client. I am a newb to networkmanager. Maybe someday I might get more advanced.
In the past I had setup several slackware bind9 dns servers for my Local lan, using wired ethernet and static ip addresses, no networkmanager. And they worked.
I even setup a raspberry 4b as a bind9 dns server, with wired ethernet and static ip, and it worked.
Right now, it would be good to run a local caching bind9 dns server on this machine, the one which is connecting out using networkmanager.
The docs say that networkmanager is all set to run dnsmasq, if I choose. But I do not like dnsmasq, I want to use bind9.
But substituting "named" or "bind" for "dnsmasq" in the networkmanager conf files, does not start bind.
If I start bind9 myself in the rc.d system startup, and set 127.0.0.1 in the resolv.conf, and set networkmanager to ignore dhcp acquired dns server(s), bind9 is started but networkmanager never passes any requests to it.
I searched for the subject online, and found people using other distros who made bind work with networkmanager. I am sure there are many subtleties involved which I know nothing about.
If anyone could advise me re: the solution, it would help and I would thank you
If I start bind9 myself in the rc.d system startup, and set 127.0.0.1 in the resolv.conf, and set networkmanager to ignore dhcp acquired dns server(s), bind9 is started but networkmanager never passes any requests to it.
What do you mean by "networkmanager never passes any requests to it"?
Your applications like firefox and ping are supposed to ask the DNS servers listed in /etc/resolv.conf, assuming that your hosts-row in /etc/nsswitch.conf has "dns" on the on the "hosts:" line.
Does "ping www.google.com" cause a lookup in your local DNS server? (This can be studied with strace if you haven't configured bind to log all requests)
If not, is 127.0.0.1 still in /etc/resolv.conf and does /etc/nsswitch.conf have "dns" in the "hosts:" line?
I don't have much experience from networkmanager, but its task is to configure your network settings and those settings might include the DNS settings in /etc/resolv.conf.
Having a caching DNS server might be a good idea, but I would prefer to have that on some "server" in the local network with a static IP address rather than on each DHCP client. Once you have your own static DNS server(s) you can also configure your DHCP server to provide the addresses of your static DNS server(s).
What do you mean by "networkmanager never passes any requests to it"?
Your applications like firefox and ping are supposed to ask the DNS servers listed in /etc/resolv.conf, assuming that your hosts-row in /etc/nsswitch.conf has "dns" on the on the "hosts:" line.
Does "ping www.google.com" cause a lookup in your local DNS server? (This can be studied with strace if you haven't configured bind to log all requests)
If not, is 127.0.0.1 still in /etc/resolv.conf and does /etc/nsswitch.conf have "dns" in the "hosts:" line?
Yes, with 127.0.0.1 still in /etc/resolv.conf, and with /etc/nsswitch.conf having "dns" in the "hosts:" line.
This is what happens -
Code:
% ping www.google.com
ping: www.google.com: Temporary failure in name resolution
Also, after these attempted lookups "%rndc stats" shows that named has counted no requests.
Quote:
Originally Posted by henca
I don't have much experience from networkmanager, but its task is to configure your network settings and those settings might include the DNS settings in /etc/resolv.conf.
Having a caching DNS server might be a good idea, but I would prefer to have that on some "server" in the local network with a static IP address rather than on each DHCP client. Once you have your own static DNS server(s) you can also configure your DHCP server to provide the addresses of your static DNS server(s).
regards Henrik
Right now my network needs to be portable. If there is no solution to networkmanager using bind on slackware, then plan-b is that I still have my Raspberry Pi 4b which has bind9 setup and working. I can configure the Pi to use "gadget mode" ip-over-usb, connecting back to my laptop pc. But then the 2 things are less portable than 1.
Obviously dig attempts to connect to 127.0.0.1. My guess is that your problem is that bind was started before your current network configuration was up and running. It might work better if you do:
I am not using Networkmanager because for me is an extra layer of painful and i don't know to many about it but ...
Quote:
Originally Posted by mw.decavia
If I start bind9 myself in the rc.d system startup, and set 127.0.0.1 in the resolv.conf, and set networkmanager to ignore dhcp acquired dns server(s), bind9 is started but networkmanager never passes any requests to it.
Can you see the networkmanager config for your link?
Code:
[root@arcadia ncdu]# nmcli con show eth0 | grep dns
connection.mdns: -1 (default)
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: --
ipv4.dns-priority: 100
ipv4.ignore-auto-dns: no
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: --
ipv6.dns-priority: 100
ipv6.ignore-auto-dns: no
[root@arcadia ncdu]#
Edited: There is some problem with networkmanger that don't agree with the config for sure, if you shut down networkmanager and set up wifi manualy dns work?
Obviously dig attempts to connect to 127.0.0.1. My guess is that your problem is that bind was started before your current network configuration was up and running. It might work better if you do:
Code:
/etc/rc.d/rc.bind restart
...after your network has been configured.
regards Henrik
I have restarted networkmanager, and restarted the system, and cold booted. Doing that changes nothing.
Quote:
Originally Posted by viel
Hi,
I am not using Networkmanager because for me is an extra layer of painful and i don't know to many about it but ...
Can you see the networkmanager config for your link?
Code:
[root@arcadia ncdu]# nmcli con show eth0 | grep dns
connection.mdns: -1 (default)
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: --
ipv4.dns-priority: 100
ipv4.ignore-auto-dns: no
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: --
ipv6.dns-priority: 100
ipv6.ignore-auto-dns: no
[root@arcadia ncdu]#
Edited: There is some problem with networkmanger that don't agree with the config for sure, if you shut down networkmanager and set up wifi manualy dns work?
Hope that helps.
Viel.
If I use "nmcli con show $ssidname | grep dns" I get almost the same result as you did, except the dns-priority is 0.
I am starting to think it maybe impossible to combine networkmanager and bind on slackware. For all the many slackware users, if it was possible, I would expect that someone would have done it and written about it online.
So over the weekend I did my plan-b and made my Rpi 4b working again, it was already configured as a working bind9 dns server. I could not get "gadget mode" to work, because my laptop pc's usb ports do not provide enough power to run the 4b. My spare powered usb hubs do not provide enough power either. So it is using ethernet.
It needs to share my (dual-boot) laptop's wifi connection, so it can reach it's upstream dns servers. It was easy to have windows connection sharing. Next is to have slackware networkmanager share the connection, then this task will be finished.
I think I have found out the problem now, but not yet the solution -
It appears networkmanager will only use interfaces that it is set to manage, but by default it is not configured to manage the loopback.
Concurrently, I have configured networkmanager to use my Rpi 4b for dns. So my task is finished.
Quote:
Originally Posted by viel
So u need to set Networkmanager dns for your link.
like
Code:
nmcli con mod "$connectionName" ipv4.dns "8.8.8.8 8.8.4.4"
My guess is that your problem is that bind was started before your current network configuration was up and running. It might work better if you do:
Code:
/etc/rc.d/rc.bind restart
...after your network has been configured.
Quote:
Originally Posted by mw.decavia
I have restarted networkmanager, and restarted the system, and cold booted. Doing that changes nothing.
The problem here might be that bind is a serious service intended for serious servers and networkmanager is a toy functionality intended for toy computers.
A serious server has a static IP address well known by every computer in the network depending on the serious server. Any services run on this serious server like httpd, sendmail and bind will at their start time bind(2) (see man bind for the API call to bind, not to be confused with the named program) bind sockets to this well known IP address.
For this reason, all serious services on a serious server will be started at boot time after the network interfaces are up with their static addresses.
On a toy computer you might not have any network interfaces configured after boot. Instead, the toy computer might be configured to allow a normal user to point and click to choose to connect to different networks. On such a toy computer you will need to make sure that any serious service is started after the network is up. As you manually started your network after boot you will also have to manually start such services after you started your network.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.