Problem with multiple interfaces / multiple IPs per interface in linux, with dhcp server.

psihozefir sorin.panca at gmail.com
Thu Jul 13 18:50:57 UTC 2006


I run ISC DHCP server version 3.0.4-r1 on Gentoo Linux ~x86 and I have
the following configuration:
eth0 - ieee1394 LAN0 - not configured
eth1 - The Internet (client of some dhcp server at my ISP)
eth2 - intranet LAN1 configured with multiple IPs with the iproute2
package (not aliasses); the configured addresses are:
192.168.0.1/29; 192.168.0.9/29; 192.168.0.17/29;
192.168.0.25/29; 192.168.0.33/29; 192.168.0.41/29;
192.168.0.49/29; 192.168.0.57/29; 192.168.0.65/29;
192.168.0.73/29;192.168.0.81/29;192.168.0.89/29;
192.168.0.97/29 and 192.168.2.1/29.
Please notice the last one!
eth3 - intranet LAN2 configured with the address 192.168.3.1/29.
All works well with the 192.168.0.* subnets.
When I connect a diskless computer to eth3
_sometimes_ it gets 192.168.3.5 and other times
it gets 192.168.2.3... This is very odd.
if i restart the dhcp server, the problem persists.
The error displayed by the PXE client is `PXE-E11: ARP-timeout.'
This error is normal as the server is not connected to the client
through eth2 (which has the address 192.168.2.1/29),
but through eth3 (that has 192.168.3.1).
The server serves the wrong address.
Here is my dhcpd.conf file
Until today the client got 192.168.3.5 address.
I have no other clients connected to eth3.

# dhcpd.conf
authoritative;

default-lease-time 600;
#max-lease-time 7200;
max-lease-time 1800;
ddns-update-style interim;
ddns-ttl 7200;
allow bootp;


shared-network lasernet{

subnet 192.168.3.0 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    allow client-updates;
    allow unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.3.1;
    option domain-name-servers 192.168.3.1, 213.157.167.157;
    option routers 192.168.3.1;
    use-host-decl-names off;
    range 192.168.3.2 192.168.3.6;
    }

subnet 192.168.2.0 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    allow client-updates;
    allow unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.2.1;
    option domain-name-servers 192.168.2.1, 213.157.167.157;
    option routers 192.168.2.1;
    use-host-decl-names off;
    range 192.168.2.2 192.168.2.6;
}

subnet 192.168.0.8 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.9;
    option domain-name-servers 192.168.0.9, 213.157.167.157;
    option routers 192.168.0.9;
    use-host-decl-names off;

        host termita1 {
            hardware ethernet 02:D0:B7:7E:23:25;
            fixed-address 192.168.0.10;}

        host termita2 {
            hardware ethernet 02:50:BF:77:DA:C7;
            fixed-address 192.168.0.10;}

        host cristy {
            hardware ethernet 00:E0:18:DC:E0:E8;
            fixed-address 192.168.0.11;}

        host mariana {
            hardware ethernet 00:0F:EA:2C:5B:67;
            fixed-address 192.168.0.13;}


}

subnet 192.168.0.16 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.17;
    option domain-name-servers 192.168.0.17, 213.157.167.157;
    option routers 192.168.0.17;
    use-host-decl-names off;

        host lorduzzi {
            hardware ethernet 00:0B:DB:DE:42:55;
            fixed-address 192.168.0.18;}

        host lorduzzitest {
            hardware ethernet 00:C0:9F:A8:11:55;
            fixed-address 192.168.0.22;}

        host emi {
            hardware ethernet 00:13:D4:6A:1D:F6;
            fixed-address 192.168.0.19;}

        host terorizer {
            hardware ethernet 00:60:08:4F:03:6C;
            fixed-address 192.168.0.20;}

        host valee {
            hardware ethernet 00:C0:A8:FB:FC:E6;
            fixed-address 192.168.0.21;}


}

subnet 192.168.0.24 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.25;
    option domain-name-servers 192.168.0.25, 213.157.167.157;
    option routers 192.168.0.25;
    use-host-decl-names off;

        host yogo {
            hardware ethernet 00:08:C7:39:EC:4D;
            fixed-address 192.168.0.27;}

        host bradg {
            hardware ethernet 00:11:5B:60:27:C7;
            fixed-address 192.168.0.29;}

        host operatorul {
            hardware ethernet 00:0A:E6:AE:82:8F;
            fixed-address 192.168.0.30;}


}

subnet 192.168.0.32 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.33;
    option domain-name-servers 192.168.0.33, 213.157.167.157;
    option routers 192.168.0.33;
    use-host-decl-names off;

        host twilight {
            hardware ethernet 00:11:2F:82:4E:1B;
            fixed-address 192.168.0.34;}

        host rambo {
            hardware ethernet 00:D0:B7:09:67:B0;
            fixed-address 192.168.0.35;}

        host ilici {
            hardware ethernet 00:02:44:6D:0B:8F;
            fixed-address 192.168.0.36;}


}

subnet 192.168.0.40 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.41;
    option domain-name-servers 192.168.0.41, 213.157.167.157;
    option routers 192.168.0.41;
    use-host-decl-names off;

        host zacusca {
            hardware ethernet 00:02:44:85:74:B1;
            fixed-address 192.168.0.44;}


}

subnet 192.168.0.48 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.49;
    option domain-name-servers 192.168.0.49, 213.157.167.157;
    option routers 192.168.0.49;
    use-host-decl-names off;

        host indians {
            hardware ethernet 00:0B:6A:B0:3F:04;
            fixed-address 192.168.0.51;}

        host indianl {
            hardware ethernet 00:02:3F:21:84:0F;
            fixed-address 192.168.0.51;}

        host linkinr {
            hardware ethernet 00:0D:87:BA:23:B8;
            fixed-address 192.168.0.52;}


}

subnet 192.168.0.56 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.57;
    option domain-name-servers 192.168.0.57, 213.157.167.157;
    option routers 192.168.0.57;
    use-host-decl-names off;

        host sirjohn {
            hardware ethernet 00:0A:48:19:75:6B;
            fixed-address 192.168.0.59;}

        host devil {
            hardware ethernet 02:E0:18:99:88:77;
            fixed-address 192.168.0.60;}

        host blizzard {
            hardware ethernet 00:0A:E6:AB:E2:01;
            fixed-address 192.168.0.61;}

        host twin {
            hardware ethernet 00:00:39:1B:0B:93;
            fixed-address 192.168.0.62;}


}

subnet 192.168.0.64 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.65;
    option domain-name-servers 192.168.0.65, 213.157.167.157;
    option routers 192.168.0.65;
    use-host-decl-names off;

        host giovani1 {
            hardware ethernet 00:0D:87:B8:C7:C0;
            fixed-address 192.168.0.66;}

        host giovani2 {
            hardware ethernet 02:60:97:B9:11:2D;
            fixed-address 192.168.0.66;}

        host dennis {
            hardware ethernet 00:0D:61:37:3D:DE;
            fixed-address 192.168.0.67;}

        host bicker {
            hardware ethernet 00:0A:E4:DC:E7:05;
            fixed-address 192.168.0.68;}

        host tano {
            hardware ethernet 00:04:61:53:DA:C3;
            fixed-address 192.168.0.69;}

        host oprea {
            hardware ethernet 00:E0:4C:A3:66:5A;
            fixed-address 192.168.0.70;}


}

subnet 192.168.0.72 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.73;
    option domain-name-servers 192.168.0.73, 213.157.167.157;
    option routers 192.168.0.73;
    use-host-decl-names off;

        host lex {
            hardware ethernet 00:0D:87:60:0B:9A;
            fixed-address 192.168.0.76;}

        host solmyr {
            hardware ethernet 00:01:02:B9:26:D3;
            fixed-address 192.168.0.77;}


}

subnet 192.168.0.80 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.81;
    option domain-name-servers 192.168.0.81, 213.157.167.157;
    option routers 192.168.0.81;
    use-host-decl-names off;

        host zozo {
            hardware ethernet 00:0C:6E:DC:22:F2;
            fixed-address 192.168.0.83;}

        host nelu {
            hardware ethernet 00:07:95:07:41:A2;
            fixed-address 192.168.0.84;}

        host karcsi {
            hardware ethernet 00:50:FC:9D:68:2F;
            fixed-address 192.168.0.85;}


}

subnet 192.168.0.88 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.89;
    option domain-name-servers 192.168.0.89, 213.157.167.157;
    option routers 192.168.0.89;
    use-host-decl-names off;

        host draclight {
            hardware ethernet 00:0C:76:59:18:89;
            fixed-address 192.168.0.90;}

        host hitman {
            hardware ethernet 00:40:F4:A6:29:F1;
            fixed-address 192.168.0.91;}


}

subnet 192.168.0.96 netmask 255.255.255.248
{
    option subnet-mask 255.255.255.248;
    deny client-updates;
    deny unknown-clients;
    allow booting;
    allow bootp;
    next-server 192.168.3.1;
    filename "/pxelinux.0";
    ping-check true;
    server-identifier 192.168.0.97;
    option domain-name-servers 192.168.0.97, 213.157.167.157;
    option routers 192.168.0.97;
    use-host-decl-names off;

        host sniper {
            hardware ethernet 00:02:B3:8E:87:49;
            fixed-address 192.168.0.98;}

        host dody {
            hardware ethernet 00:08:0D:DC:45:FD;
            fixed-address 192.168.0.99;}

        host marius {
            hardware ethernet 00:13:D4:3D:64:12;
            fixed-address 192.168.0.101;}


}

} # shared-network


More information about the dhcp-users mailing list