Portál AbcLinuxu, 9. května 2024 04:03


Dotaz: DHCP - pridelenie IP podla VLAN a MAC adresy

20.6.2019 17:40 GeorgeWH | skóre: 42
DHCP - pridelenie IP podla VLAN a MAC adresy
Přečteno: 609×
Odpovědět | Admin
Zdravim.

Mam dve VLAN-y a na zaklade VLAN ID (Option 82 doplneneho relay agentom na switchi) pridelujem IP z 2 roznych rozsahov, resp. na zaklade VLAN ID ich rozdelujem do dvoch tried (class) a potom mam v pool-och na tieto triedy obmedzenia (allow/deny member of). Toto mi funguje, klient dostane IP zo spravneho rozsahu podla toho, ake PVID je na danom porte na switchi nastavene.

Pokial v jednom pool-e nastavim klientovi "staticku" IP na zaklade MAC adresy, ale na switchi mu nastavim PVID z druheho pool-u, tak mu DHCP server prideli IP podla MAC adresy a teda z pool-u, ktory nie je pre tuto VLAN-u. V logu vidim, ze klienta zaradil do spravnej triedy.

Ked mu ale pridam staticku IP adresu aj do pool-u pre jeho VLAN-u, tak uz to funguje spravne.

Aby som to zhrnul: chcem klientovi pridelovat IP adresu podla VLAN-y s tym, ze v jednej VLAN-e moze dostat akukolvek IP adresu, ale v druhej VLAN-e mu ju chcem pridelit na zaklade MAC adresy.

Vdaka.
authoritative;
ddns-update-style             none;
default-lease-time            21600;
max-lease-time                21600;


class "VLAN-200" {
    match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "200";
    log(info, "matched to a VLAN-200");
}

class "VLAN-222" {
    match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "222";
    log(info, "matched to a VLAN-222");
}


shared-network FOO-BAR {

    # mgmt LAN - switch (dhcp relay agent)
    subnet 192.168.14.0 netmask 255.255.255.0 {
    }

    # vlan-100 - local LAN
    subnet 172.16.100.0 netmask 255.255.255.0 {
    }

    # vlan-200 - DHCP relay
    subnet 172.16.200.0 netmask 255.255.255.0 {
        pool {
            allow members of     "VLAN-200";
            deny members of      "VLAN-222";
            default-lease-time   300;
            max-lease-time       300;
            range                172.16.200.50 172.16.200.100;
            option routers       172.16.200.1;
            option subnet-mask   255.255.255.0;
            option domain-name-servers   1.1.1.1;

            # AK TOTO ODKOMENTUJEM, TAK TO FUNGUJE
            #host client-200 {
            #    hardware ethernet 00:0b:82:12:b7:65;
            #    fixed-address 172.16.200.75;
            #}
        }
    }

    # vlan-222 - DHCP relay
    subnet 172.16.222.0 netmask 255.255.255.0 {
        pool {
            allow members of     "VLAN-222";
            deny members of      "VLAN-200";
            default-lease-time   300;
            max-lease-time       300;
            range                172.16.222.50 172.16.222.100;
            option routers       172.16.222.1;
            option subnet-mask   255.255.255.0;
            option domain-name-servers   1.1.1.1;

            host client-222 {
                hardware ethernet 00:0b:82:12:b7:65;
                fixed-address 172.16.222.75;
            }
        }
    }
}
Jun 20 17:35:19 test-dhcp dhcpd: matched to a VLAN-200
Jun 20 17:35:19 test-dhcp dhcpd: DHCPDISCOVER from 00:0b:82:12:b7:65 via 192.168.14.50
Jun 20 17:35:19 test-dhcp dhcpd: DHCPOFFER on 172.16.222.75 to 00:0b:82:12:b7:65 via 192.168.14.50
Jun 20 17:35:19 test-dhcp dhcpd: Dynamic and static leases present for 172.16.222.75.
Jun 20 17:35:19 test-dhcp dhcpd: Remove host declaration client-222 or remove 172.16.222.75
Jun 20 17:35:19 test-dhcp dhcpd: from the dynamic address pool for FOO-BAR
Jun 20 17:35:19 test-dhcp dhcpd: matched to a VLAN-200
Jun 20 17:35:19 test-dhcp dhcpd: DHCPREQUEST for 172.16.222.75 (172.16.100.5) from 00:0b:82:12:b7:65 via 192.168.14.50
Jun 20 17:35:19 test-dhcp dhcpd: DHCPACK on 172.16.222.75 to 00:0b:82:12:b7:65 via 192.168.14.50

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.6.2019 19:02 NN
Rozbalit Rozbalit vše Re: DHCP - pridelenie IP podla VLAN a MAC adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Problem by mohlo byt spojeni subnetu do 'shared-network'.
20.6.2019 19:16 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: DHCP - pridelenie IP podla VLAN a MAC adresy
V "shared-network" by mali byt subnety, ktore zdielaju rovnaky iface. Otazka je, co sa povazuje za zdielanie interfacu. Ale skusim.
20.6.2019 23:11 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: DHCP - pridelenie IP podla VLAN a MAC adresy
Nepomohlo, tym zdielanym interfacom sa mysli sietovka, na ktoru prichadzaju DHCP requesty (aj tie z DHCP relay). Ked som zrusil shared-networks, tak DHCP server hlasil

network 192.168.14.0/24: no free leases.

Z manualu:

If it is desirable to be able to boot a DHCP or BOOTP client on more than one subnet with fixed v4 addresses, more than one address may be specified in the fixed-address declaration, or more than one host statement may be specified matching the same client.

To chapem tak, ze ak chcem jednemu hostovi prideli viac IP z ronych subnetov, tak mu mam zadat bud viac IP adries, alebo viac krat definovat hosta.

Toto:
host client-tel {
     hardware ethernet 00:0b:82:12:b7:65;
     fixed-address 172.16.200.101,172.16.222.101;
}
mi nefungovalo, vzdy dostal prvu definovanu IP adresu.

Toto:
host client-tel-1 {
     hardware ethernet 00:0b:82:12:b7:65;
     fixed-address 172.16.200.101;
}

host client-tel-2 {
     hardware ethernet 00:0b:82:12:b7:65;
     fixed-address 172.16.222.101;
}
mi tiez nefungovalo, rovnake spravanie ako vyssie.

Dalej sa pise:

Conversely, for a host declaration to match a client being allocated a dynamic address, it must not have any fixed-address statements.

Z toho mi vychadza, ze to, co chcem (v jednom subnete staticka IP, v druhom dynamicka), sa vlastne ani neda. Ale za tym je doplnenie:

You may therefore need a mixture of host declarations for any given client...some having fixed-address statements, others without.

Cize nieco taketo(?):
host client-tel-1 {
     hardware ethernet 00:0b:82:12:b7:65;
}

host client-tel-2 {
     hardware ethernet 00:0b:82:12:b7:65;
     fixed-address 172.16.222.101;
}
Ale to mi tiez nefugovalo :/.
21.6.2019 10:13 NN
Rozbalit Rozbalit vše Re: DHCP - pridelenie IP podla VLAN a MAC adresy
Mas ten DHCP server v trunku(viz nize)? Potom se kazda VLAN bere jako semostatny interface a verianta bez 'shared-network' by mela fungovat.
21.6.2019 09:15 Ivan
Rozbalit Rozbalit vše Re: DHCP - pridelenie IP podla VLAN a MAC adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
S timhle jsem kdysi taky bojoval skoncil jsem s tim, ze jsem pripsal cca 100 radek kodu do ISC DHCP serveru. Vytvoril jsem si vlastni address type (jiny nez MAC) a pak jsem presvedcil DHCPd aby prideloval IPcka podle cisla VLANy a cisla portu.

Cele je to ale trochu hack, protoze format Option82 je prorietarni a napr Cisco a HP cisluji porty jinak. Dokonce i ruzne IOsy pouzivaji ruzny format.

Pokud je jen o ruzne VLANy a nepotrebujes cislo portu, tak staci protahnout VLAN az na server. Pouzit net interface jako trunk a pak muzes mit ruzne DHCP serveru s ruznou konfiguraci na kazdek trunk network interface.
21.6.2019 14:05 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: DHCP - pridelenie IP podla VLAN a MAC adresy
S timhle jsem kdysi taky bojoval skoncil jsem s tim, ze jsem pripsal cca 100 radek kodu do ISC DHCP serveru. Vytvoril jsem si vlastni address type (jiny nez MAC) a pak jsem presvedcil DHCPd aby prideloval IPcka podle cisla VLANy a cisla portu.

Touto cestou urcite nepojdem, nestoji mi to za to.

Cele je to ale trochu hack, protoze format Option82 je prorietarni a napr Cisco a HP cisluji porty jinak. Dokonce i ruzne IOsy pouzivaji ruzny format.

Parsovanie Option 82 mi funguje, na zyxel stranke je ukazkovy konfig pre isc-dhpc server a pekne prideluje IP podla PVID.

Pokud je jen o ruzne VLANy a nepotrebujes cislo portu, tak staci protahnout VLAN az na server. Pouzit net interface jako trunk a pak muzes mit ruzne DHCP serveru s ruznou konfiguraci na kazdek trunk network interface.

Ano, to je asi jedine riesenie. Bude to VM, takze dotiahnut VLAN-y nebude problem, aj ked som sa chcel tomu vyhnut, resp. vyuzit moznosti switchov. Port ma netrapi, staci mi VLAN ID, ale tak v tomto pripade uz nebude co riesit.

Vdaka za reakcie.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.