dhcpd option routers - not working

Hello, %username.

I have some troubles with dhcpd.
Its configured, firewalld ports opened, DHCP client gets all info from server exept default route which makes my server totaly unusable.

Config:

option domain-name "local";
default-lease-time 14400;
ddns-update-style none;
authorative;
log-facility local7;


subnet x.x.1.0 netmask 255.255.255.0 {
  range x.x.1.200 x.x.1.250;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option routers x.x.1.1;
}

Client gets IP in range 200-250, gets DNSs, but no route through x.x.1.1, its empty both linux/windows machines.

Anyone with same problem or solution?

PS - Most confusing, i made same with Debian and its works just fine, but my goal make it runing on OpenSUSE LEAP.

Hello,

It was your choice to change the computer code your posted, by naming the first two bytes to x.x., which they most probably are not.

I have no idea why you did, but such behaviour can hide problem causes. E.g. when you had originaly someting different for x.x. in different places, you configuration would be broken, but nobody here would be able to see such a thing where you (human as you are) may have skipped over again and again.

Also, opening I do not know which firewall ports you opened on the server, but DHCP is not a TCP/IP protocol and does not use TCP or UDP ports.

I am sorry, but the above are only side remarks, it will not help you very much with your problem, that I find as strange as you.

There is no such thing as “TCP/IP protocol”. There is “IP protocol” and there is “TCP protocol”. There is “TCP/IP family of protocols” which when used colloquially often includes UDP, ICMP, ARP and others.

and does not use TCP or UDP ports.

DHCP is using UDP as transport and of course it is using UDP ports 67 (server) and 68 (client).

What is really missing in original post is which network configuration framework is used (wicked or NetworkMaanger).

Sorry fot showing myself so misinformed (thus possibly creating confusion), but I thought Bootp (and thus DHCP) works through ethernet broadcast and connections. As long as the DHCP client does not have an IP address, etc. it can not “talk” IP at all.

Sorry again, but I do not see wh using wicked or NM on the server makes much difference. There seems to be a working NIC because all other data (IP address, netmask and DNS servers) seem to be transported to the client, only the router is not.

@YoungDref:

Without installing the “dhcp-server” package, I can only suggest you take a look at the openSUSE Documentation related to setting up a DHCP Server on openSUSE systems (it’s not the same as the setup used by other distributions … ): <https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.dhcp.html>.

You should also take a look at the documentation located in “/usr/share/doc/packages/dhcp-server/”.

The example dhcpd configuration mentioned in the documentation is:


default-lease-time 600;         # 10 minutes
max-lease-time 7200;            # 2  hours

option domain-name "example.com";
option domain-name-servers 192.168.1.116;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;

subnet 192.168.2.0 netmask 255.255.255.0
 {
  range 192.168.2.10 192.168.2.20;
  range 192.168.2.100 192.168.2.200;
 }

There’s also this comment:

Make sure that a semicolon is inserted at the end of each line, because otherwise dhcpd is not started.

But, I see that your dhcpd configuration isn’t suffering from this issue …

On the other hand, you have “option domain-name-servers” and “option routers” within the “subnet” definition – maybe you should move those lines to the section before the “subnet” definition.

I tryed to move those lines - still nothing in “default gateway” at client.

Wicked

Just imagine that “x.x.” is 192.168., i mean, i didnt misspeled it or im not using different subnets everywhere, all config belong to one subnet(doublechecked after ur comment).

there are a lot of ways to configure wicked, so “its configured” does not really say much. If you are using YaST which edits ifcfg files, default route is controlled by DHCLIENT_SET_DEFAULT_ROUTE or DHCLIENT_UPDATE options which can be set either in per-interface ifcfg or globally in dhcp file.

Am I right that you are now talking about the client.

In fact we know nothing about the client other then that it does not set the default router when it uses the openSUSE 15.0 based DHCP server and it does set it when it uses a Debian based DHCP server.

We do not even know the client’s operating system, let alone if it uses ifcfg files.

@YoungDref:

Please post the systemd status of the DHCP Server Daemon – the user “root” version, please …

There are several Internet discussions regarding the DHCP Server Daemon and a Default Route: «Duck Duck Go» search “DHCP Server Daemon default route”.
One interesting discussion is here: <https://askubuntu.com/questions/767002/dhcp-connection-does-not-set-default-gateway-automatically>.

  • It seems that, if another DHCP Server in the network (e.g. a Microsoft machine) provides a Classless Static Route (DHCP option 121, rfc3442-classless-static-routes in ISC DHCP) then, the Open Source DHCP Server will not supply and Default Route information …
  • A solution seems to be: in “/etc/dhcpcd.conf” comment out “option classless_static_routes”.

Default:


# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes

Edited:


# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
# option classless_static_routes

On the other hand there’s this:

It must not send a default gateway option when it can’t provide routing to the rest of the world.

In other words, provided that, your DHCP Server is providing the routing to the rest of the world then, it’ll send the Default Gateway information …

Once again, its not a client sided problem, because debian DHCP-Server works fine, there are one another DHCP (WiFi router) behind my VPN, but Debian router not care bout it, clients will be windows machines only (so option classles_static_routes not a solution) and i have one OpenSUSE Leap 15 machine for test reasons, its frustrating that same config within same dhcp server version doesnt work on OpenSUSE Leap 15.

My DHCP Server providing routing, because my static machines (mostly linux/wicked) already works fine and have access to internet.

I tryed 2 failsafe examples from /usr/share/doc/packages/ - doesnt working.

I tryed to start dhcpd without chrootjail - doesnt working.

@YoungDref:

In your dhcpd.conf, assuming that:

option routers «*local default gateway IP address*»;

is not located in the “subnet” block, you may have to add:

option subnet-mask 255.255.255.0;

to the first block of parameters …

May not affect the problem you’re trying to solve,
But also noting that you’ve sett your local Domain Name to “local” which is bad, it’s a commonly used namespace used by a number of auto-config networking systems like Avahi.

Not to be overlooked,
Although trying to troubleshoot your manually created dhcpd.conf can be educational,
Practically, you should install yast2-dhcp-server and use it to configure… If it works then you can compare the working with your non-working configurations.

Although it’s possible that you have a client-side problem, if your client is configured as a dhcp client (using either Yast/Wicked or NM), the odds you have any kind of client-side problem is incredibly tiny.

TSU