Temat: dnsmasq rozne opcje dla hostow

czy jest mozliwosc tak skonfigurowac dnsmasq by wysylal rozne konfigracje dla roznych MAC

inne IP,bramka i dns dla MAC_1
inna IP,bramka i dns dla MAC_2
inna IP,bramka i dns dla MAC_3

oba hosty w tej samej podsieci i na tych samych interfesjach.

przydatne kiedy w sieci mamy inne bramki niz tylko openwrt

2

Odp: dnsmasq rozne opcje dla hostow

Chyba nie. Można ustawić to globalnie, natomiast nie wiem czy można per-ip. Trzeba by dokumentację dnsmasq przetrzepać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: dnsmasq rozne opcje dla hostow

Chyba nie. Można ustawić to globalnie, natomiast nie wiem czy można per-ip. Trzeba by dokumentację dnsmasq przetrzepać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

4 (edytowany przez olo321a 2010-09-16 11:41:48)

Odp: dnsmasq rozne opcje dla hostow

obecnie testuje Twoj obraz tl-wr1043nd-gargoyle-extroot/ , gargolec jest fajniejszy niz luci ma wiecej opcji i jakos stabilniej to chodzi.

chyba sie da ale jeszcze nie doszedlem jaka to zrobic w openwrt ;/

man dla dnsmasq http://linux.die.net/man/8/dnsmasq
http://www.thekelleys.org.uk/dnsmasq/do … nf.example


a tu znalalzem cos takiego dla DD-WRT
http://www.dd-wrt.com/wiki/index.php/DN … te_Gateway

5

Odp: dnsmasq rozne opcje dla hostow

To możesz zrobić, dawno to opisane jest

http://eko.one.pl/?p=openwrt-konfigurac … lientwdhcp

Ale to jest globalnie dla wszystkich klientów, nie określonych ip.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6 (edytowany przez olo321a 2010-09-16 12:53:37)

Odp: dnsmasq rozne opcje dla hostow

a to  nie jest to o co mi chodz?

A related but different solution is to create a DHCP setting that gives a static IP address to a certain MAC, but with a different Gateway address than the rest.

dhcp-range=net:2,172.16.51.0,255.255.255.0,static
dhcp-option=net:2,3,172.16.51.2

Then use:
dhcp-host=<hwaddr>, net:2, <ipaddr>


a tu jeszcze znalazlem na stronie openwrt :
http://wiki.openwrt.org/doc/uci/dhcp#cl … al.options

7

Odp: dnsmasq rozne opcje dla hostow

A widzisz, znalazłeś. tak, dla określonego mac adresu można podać poszczególne opcje. Więc się da.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: dnsmasq rozne opcje dla hostow

A widzisz, znalazłeś. tak, dla określonego mac adresu można podać poszczególne opcje. Więc się da.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: dnsmasq rozne opcje dla hostow

no wlasnie cos nie bardzo
dodaje na koncu pliku /etc/config/dhcpd


config 'host'
        option 'name' 'dupa'
        option 'ip' '192.168.2.115'
        option 'mac' '00:1A:73:XX:XX:XX'
        list 'dhcp_option' '3,192.168.200.3'


i gateway przestawia sie dla wszystkich hostow

10

Odp: dnsmasq rozne opcje dla hostow

A nie czasami config mac ?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez olo321a 2010-09-16 13:41:24)

Odp: dnsmasq rozne opcje dla hostow

sugerujac sie tym http://wiki.openwrt.org/doc/uci/dhcp#examples

wyglada na to ze mozna tez tak

i faktycznie komputer z tym MAC pobiera ten adres ale bramka jest domyslna

a wczesniej  dodalem tego innego GW w uci i przez to byl dla wszystkich

12

Odp: dnsmasq rozne opcje dla hostow

To jest przekazywane do dnsmasq jako linia poleceń. Zobacz wiec jaką składnie generuje ten konfig a później w dokumentacji dnsmasq jaka powinna być ta składnia.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13 (edytowany przez rpc 2010-09-16 18:51:45)

Odp: dnsmasq rozne opcje dla hostow

z tego co pamiętam to jest jeden haczyk. Aby to zadziałało to fizycznie musi być przypięte do fizyczego iface.
Czyli przekładając na openwrt
dhcp_option łączy się z network_id który w openwrt np. nazywa się lan. A więc jak byś miał strefy
lan
lan1
lan2
to dla każdej z tych stref możesz użyć innej opcji dhcp_option
nie możesz za to użyć indywidualnie do adresu ip
i bynajmniej jak sugerujesz w cale tak nie jest w przykładach napisane że można do hosta. Zresztą kiedyś temat klepałem na dnsmasq i jest tak na pewno. Jest to opcja globalna dla poszczególnych stref a nie hostów

Zresztą tam wyraźnie pisze przy dhcp_option: Additional options to be added for this network-id.

14

Odp: dnsmasq rozne opcje dla hostow

a to nie jest tak ze sobie robie w dnsmasq takie grupy i nadaje im nazwy (network-id)

http://www.thekelleys.org.uk/dnsmasq/do … nf.example  wycinek z tego przykladowego configa:

# This is an example of a DHCP range which sets a tag, so that
# some DHCP options may be set only for this network.
#dhcp-range=set:red,192.168.0.50,192.168.0.150

# Use this DHCP range only when the tag "green" is set.
#dhcp-range=tag:green,192.168.0.50,192.168.0.150,12h


to green,red to chyba wlasnie network-id jest

15

Odp: dnsmasq rozne opcje dla hostow

zauważ co napisałeś

dhcp-range=tag:green,192.168.0.50,192.168.0.150,12h

network_id to twoje green który przypisany jest do zakresu adresów sieci 192.168.0.0/24
a aby był ten zakres sieci przydzielany musi istnieć taki interfejs z takim adresem w takiej sieci

W openwrt wygląda to tak że twoje green=lan

bo po kolei
host przypisany jest do network_id
network_id powiązane jest z range gdzie był wymieniony ten sam network_id
aby dnsmasq przydzielił nam ten zakres sieci musi wiedzieć na jaki interfejs wysłać pakiety dhcp więc i ten interfejs musi być w tej sieci z tym network_id

Jak nie masz takiego adresu ip to z kąd dnsmasq ma wiedzieć którym interfejsem wysłać pakiet dhcp do hosta ?

Jak masz linux to zainstaluj sobie dnsmasq i ręcznie zestaw swoją konfiguracje jaką chcesz uzyskać. Zobaczysz że będziesz miał krzyk że nie ma takiego interfejsu.
A czemu tak piszę bo to samo kiedyś pomyślałem co ty i chciałem to zrobić przy okazji arta o proxyarp i do takich wniosków doszedłem robiąc sobie konfigurację ręcznie pod debianem z stąd wiem. Zresztą to logiczne powiązanie zależności. Z tego co wiem w bindzie można uzyskać taką konfigurację ale ludziki też się namęczyli aby to zrobić.

16

Odp: dnsmasq rozne opcje dla hostow

wydaje mi sie ze musi sie to dac jakos zrobic

a moze :
config 'dhcp' 'lan'
        option 'interface' 'lan'
        option 'start' '100'
        option 'limit' '150'
        option 'leasetime' '12h'

config 'dhcp' 'lan2'
        option 'interface' 'lan'
        option 'start' '151'
        option 'limit' '250'
        option 'leasetime' '12h'

na tym samym interfejsie

i jakos teraz probowac?


kiedys probowalem na debianie ale przez dhcpd i dhcpd3 i tez mi sie nie udalo;/

17

Odp: dnsmasq rozne opcje dla hostow

też się nad tym zastanawiałem. Poprzednio w proxyarp miałem zupełnie inny zakres adresów więc to odpadało. Ale
jak się zrobi

dhcp-range=tag:lan,192.168.0.10,192.168.0.100,12h
dhcp-range=tag:lan1,192.168.0.101,192.168.0.200,12h
dhcp-range=tag:lan2,192.168.0.201,192.168.0.250,12h
dhcp-option=tag:lan,3,192.168.1.1
dhcp-option=tag:lan1,3,192.168.2.1
dhcp-option=tag:lan2,3,192.168.3.1
dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,set:lan,192.168.0.2
dhcp-host=11:22:33:44:55:67,12:34:56:78:91:12,set:lan1,192.168.0.3
dhcp-host=11:22:33:44:55:68,12:34:56:78:92:12,set:lan2,192.168.0.4

to ma to szansę zadziałać bo to logiczne ale trzeba zawsze sprawdzić

co do openwrt nie wiem jak zareaguje na różne strefy
jak nie spróbujesz to nie wiesz
zresztą po zastanowieniu się strefy w openwrt powiązane są z network wiec nie ustawisz tego tak
bo w network masz lan a lan2 co przypiszesz do jakiego ip
jeśli już to mozna by było utorzyć alias i nazwać bo lan2 potem przypisać strefę. Aby nie było zgrzytu to wyłączyć na aliasie dhcp serwer (opcja no-dhcp-interface)
Musiałbyś ręcznie zrobić konfigurację i sprawdzić

Ps. tych ostatnich moich zdań nie bierz dosłownie się po prostu zastanawiam na "głos"

18

Odp: dnsmasq rozne opcje dla hostow

zresztą sobie to zasymulowałem
/etc/config/dhcp wygląda

config dhcp lan
    option interface    lan
    option start     100
    option limit    150
    option leasetime    12h

config dhcp wan
    option interface    wan
    option ignore    1

config dhcp lan2
        option interface        lan
        option start    151
        option limit    200
        option leasetime        12h

w wyniku tego w logach mam

Jan  2 00:58:45 OpenWrt daemon.info dnsmasq-dhcp[3839]: DHCP, IP range 192.168.1.151 -- 192.168.1.254, lease time 12h
Jan  2 00:58:45 OpenWrt daemon.info dnsmasq-dhcp[3839]: DHCP, IP range 192.168.1.100 -- 192.168.1.250, lease time 12h

czyli czyta oddzielnie zakresy
ale już po analizie wywołania dnsmasq

-K -D -y -Z -b -E -s lan -S /lan/ -l /tmp/dhcp.leases -r /tmp/resolv.conf.auto --stop-dns-rebind --dhcp-range=lan,192.168.1.100,192.168.1.250,255.255.255.0,12h -2 'pppoa-wan' --dhcp-range=lan,192.168.1.151,192.168.1.254,255.255.255.0,12h

widać że oba zakresy wrzucił do  jednej sieci

19

Odp: dnsmasq rozne opcje dla hostow

tutaj znalazlem opis jak koles przekazuje specjalne opcje w /etc/config/dhcp https://forum.openwrt.org/viewtopic.php?id=16020

czytajac manuala http://www.thekelleys.org.uk/dnsmasq/do … q-man.html natknelem sie na takie cos:
-4, --dhcp-mac=set:<tag>,<MAC address>
    Map from a MAC address to a tag. The MAC address may include wildcards. For example --dhcp-mac=set:3com,01:34:23:*:*:* will set the tag "3com" for any host whose MAC address matches the pattern.

-O, --dhcp-option=[tag:<tag>,[tag:<tag>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]]

i  probowalem tak ale nie dziala ;/

config 'dnsmasq'
        option 'domainneeded' '1'
        option 'boguspriv' '1'
        option 'filterwin2k' '0'
        option 'localise_queries' '1'
        option 'rebind_protection' '1'
        option 'rebind_localhost' '0'
        option 'local' '/lan/'
        option 'domain' 'lan'
        option 'expandhosts' '1'
        option 'nonegcache' '0'
        option 'authoritative' '1'
        option 'readethers' '1'
        option 'leasefile' '/tmp/dhcp.leases'
        option 'resolvfile' '/tmp/resolv.conf.auto'
        option 'options' '-4 dupa 00:1E:4C:XX:XX:XX'
        option 'options' '-O dupa:6,172.16.10.210'

config 'dhcp' 'lan'
        option 'interface' 'lan'
        option 'start' '100'
        option 'limit' '150'
        option 'leasetime' '12h'


config 'dhcp' 'wan'
        option 'interface' 'wan'
        option 'ignore' '1'

config 'host'
        option 'name' 'dupa2'
        option 'ip' '192.168.2.115'
        option 'mac' '00:1E:4C:XX:XX:XX'

20

Odp: dnsmasq rozne opcje dla hostow

zrobiłem pełniejszą symulację

config 'dhcp' 'lan'
    option 'interface' 'lan'
    option 'start' '100'
    option 'limit' '150'
    option 'leasetime' '12h'
    option 'dhcp_option' '3,192.168.1.1'

config 'dhcp' 'wan'
    option 'interface' 'wan'
    option 'ignore' '1'

config 'dhcp' 'lan2'
    option 'interface' 'lan'
    option 'start' '151'
    option 'limit' '200'
    option 'leasetime' '12h'
    option 'dhcp_option' '3,192.168.1.2'

config 'host'
    option 'mac' '00:11:22:33:44:55'
    option 'ip' '192.168.1.11'

config 'host'
    option 'mac' '00:11:22:33:44:56'
    option 'ip' '192.168.1.12'

co daje nam

-K -D -y -Z -b -E -s lan -S /lan/ -l /tmp/dhcp.leases -r /tmp/resolv.conf.auto --stop-dns-rebind --dhcp-host=00:11:22:33:44:55,192.168.1.11 --dhcp-host=00:11:22:33:44:56,192.168.1.12 --dhcp-range=lan,192.168.1.100,192.168.1.250,255.255.255.0,12h -O lan,3,192.168.1.1 -2 'pppoa-wan' --dhcp-range=lan,192.168.1.151,192.168.1.254,255.255.255.0,12h -O lan,3,192.168.1.2

czyli wszystko wrzucił do tej samej sieci. Ale to też coś nie tak bo powinien potraktować jako oddzielne zone - ale to tylko moje zdanie i za developerami się nie nadąży.

Przerobić skrypty to nie problem ale czy zadziała ?
trzeba by było najpierw zrobić konfigurację w czystym dnsmasq i sprawdzić czy zadziała to co na początku napisałem. Jak tak to można brać się za przerobienie skryptów.
Ale to już Twoje zadanie sprawdzić:)

21

Odp: dnsmasq rozne opcje dla hostow

tutaj znalazlem opis jak koles przekazuje specjalne opcje w /etc/config/dhcp https://forum.openwrt.org/viewtopic.php?id=16020

czytajac manuala http://www.thekelleys.org.uk/dnsmasq/do … q-man.html natknelem sie na takie cos:
-4, --dhcp-mac=set:<tag>,<MAC address>
    Map from a MAC address to a tag. The MAC address may include wildcards. For example --dhcp-mac=set:3com,01:34:23:*:*:* will set the tag "3com" for any host whose MAC address matches the pattern.

-O, --dhcp-option=[tag:<tag>,[tag:<tag>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]]

i  probowalem tak ale nie dziala ;/

config 'dnsmasq'
        option 'domainneeded' '1'
        option 'boguspriv' '1'
        option 'filterwin2k' '0'
        option 'localise_queries' '1'
        option 'rebind_protection' '1'
        option 'rebind_localhost' '0'
        option 'local' '/lan/'
        option 'domain' 'lan'
        option 'expandhosts' '1'
        option 'nonegcache' '0'
        option 'authoritative' '1'
        option 'readethers' '1'
        option 'leasefile' '/tmp/dhcp.leases'
        option 'resolvfile' '/tmp/resolv.conf.auto'
        option 'options' '-4 dupa 00:1E:4C:XX:XX:XX'
        option 'options' '-O dupa:6,172.16.10.210'

config 'dhcp' 'lan'
        option 'interface' 'lan'
        option 'start' '100'
        option 'limit' '150'
        option 'leasetime' '12h'


config 'dhcp' 'wan'
        option 'interface' 'wan'
        option 'ignore' '1'

config 'host'
        option 'name' 'dupa2'
        option 'ip' '192.168.2.115'
        option 'mac' '00:1E:4C:XX:XX:XX'

22 (edytowany przez rpc 2010-09-16 21:47:25)

Odp: dnsmasq rozne opcje dla hostow

konfiguracja:

config 'dhcp' 'lan'
        option 'interface' 'lan'
        option 'start' '100'
        option 'limit' '50'
        option 'leasetime' '12h'
        option 'dhcp_option' '3,192.168.1.1'
        option 'options' '--dhcp-range=tag:lan2,192.168.1.151,192.168.1.200,255.255.255.0,12h -O tag:lan2,3,192.168.2.1 -G 12:34:56:78:92:12,set:lan2,192.168.1.170'

config 'dhcp' 'wan'
        option 'interface' 'wan'
        option 'ignore' '1'


config 'host'
    option 'mac' '00:11:22:33:44:55'
    option 'ip' '192.168.1.11'

config 'host'
    option 'mac' '00:11:22:33:44:56'

daje nam w efekcie
logi:

Sep 16 22:43:25 OpenWrt daemon.info dnsmasq-dhcp[4829]: DHCP, IP range 192.168.1.151 -- 192.168.1.200, lease time 12h
Sep 16 22:43:25 OpenWrt daemon.info dnsmasq-dhcp[4829]: DHCP, IP range 192.168.1.100 -- 192.168.1.150, lease time 12h

czyli  na razie ok

oraz

-K -D -y -Z -b -E -s lan -S /lan/ -l /tmp/dhcp.leases -r /tmp/resolv.conf.auto --stop-dns-rebind --dhcp-host=00:11:22:33:44:55,192.168.1.11 --dhcp-host=00:11:22:33:44:56,192.168.1.12 --dhcp-range=lan,192.168.1.100,192.168.1.150,255.255.255.0,12h --dhcp-range=tag:lan2,192.168.1.151,192.168.1.200,255.255.255.0,12h -O tag:lan2,3,192.168.2.1 -G 12:34:56:78:92:12,set:lan2,192.168.1.170 -O lan,3,192.168.1.1 -2 'pppoa-wan'

czyli niby ok
ale czy zadziała sprawdź sam i daj znać to howto napiszę

23 (edytowany przez rpc 2010-09-16 21:57:04)

Odp: dnsmasq rozne opcje dla hostow

jeszcze jedno mam jeszcze jeden pomysł
powinna zadziałać poniższa konfiguracja

config 'dhcp' 'lan'
        option 'interface' 'lan'
        option 'start' '100'
        option 'limit' '50'
        option 'leasetime' '12h'
        option 'dhcp_option' '3,192.168.1.1'
        option 'options' '-O tag:lan2,3,192.168.2.1 -G 12:34:56:78:92:12,set:lan2,192.168.1.170'

config 'dhcp' 'wan'
        option 'interface' 'wan'
        option 'ignore' '1'


config 'host'
    option 'mac' '00:11:22:33:44:55'
    option 'ip' '192.168.1.11'

config 'host'
    option 'mac' '00:11:22:33:44:56'

zauważ że nie ma drugiego range za t mieszcze się w zakresie pierwszej sieci

24 (edytowany przez rpc 2010-09-16 23:20:17)

Odp: dnsmasq rozne opcje dla hostow

można jeszcze inaczej
robisz taki config:

config 'dnsmasq'
        option 'domainneeded' '1'
        option 'boguspriv' '1'
        option 'filterwin2k' '0'
        option 'localise_queries' '1'
        option 'rebind_protection' '1'
        option 'rebind_localhost' '0'
        option 'local' '/lan/'
        option 'domain' 'lan'
        option 'expandhosts' '1'
        option 'nonegcache' '0'
        option 'authoritative' '1'
        option 'readethers' '1'
        option 'leasefile' '/tmp/dhcp.leases'
        option 'resolvfile' '/tmp/resolv.conf.auto'
        option 'dhcphostsfile' '/etc/dhcp.hosts'

config 'dhcp' 'lan'
        option 'interface' 'lan'
        option 'start' '100'
        option 'limit' '150'
        option 'leasetime' '12h'
        option 'options' '-O tag:lan2,3,192.168.2.1'

config 'dhcp' 'wan'
        option 'interface' 'wan'
        option 'ignore' '1'

potem tworzysz plik
/etc/dhcp.host i definiujesz w każdym wierszu oddzilenie hosta tak jak orginalnie w pliku dnsmasq.conf czyli

12:34:56:78:92:12,192.168.1.172
12:34:56:78:92:13,192.168.1.173
12:34:56:78:92:14,set:lan2,192.168.1.174
12:34:56:78:92:15,set:lan2,192.168.1.175

i też powinno być ok

ta ostatnia konfiguracja jakby zadziałała jest najfajniejsza bo nie zaśmiecamy linii uruchomienia dnsmasq  i mamy wszystko w jednym pliku smile

acha na wiki jest błąd bo opcja na wiki opisana jest jako hostfile ale w konfigu zdefiniowali ją jako dhcphostfile nie wiem czy to literówka czy tak ma być ale w backfire tak jest
wtedy log mamy taki

-K -D -y -Z -b -E -s lan -S /lan/ -l /tmp/dhcp.leases -r /tmp/resolv.conf.auto --dhcp-hostsfile=/etc/dhcp.hosts --stop-dns-rebind --dhcp-range=lan,192.168.1.100,192.168.1.250,255.255.255.0,12h -O tag:lan2,3,192.168.2.1 -O lan,3,192.168.1.1 -2 'pppoa-wan'

jeszcze jedna uwaga co do opcji dhcphostsfile. Najfajniejsze w tym jest to że możesz bez problemu dodawać hosty do tego pliku w każdym momencie i NIE MUSISZ restartować dnsmasq. On czyta plik za każdym razem kiedy uzyska sygnał SIGHUP
czyli patrzysz jaki pid ma dnsmasq w ps ax
a potem komenda

kill -s SIGHUP 5109

gdzie 5109 to nasz pid dnsmasq



Ps. To co tu opisałem działa właśnie przetestowałem i w zależności czy ktoś ma przypisany tak czy nie dostaje inny router

Mała uwaga do powyższego dla potomnych
w takiej konfiguracji co chcemy uzyskać nie wolno użyć opcji z openwrt dhcp_options. Jak jej użyjemy w ogóle nasze tagi nie będą brane pod uwagę. Jak chcemy mieć np. trzy routery to piszemy TYLKO jedną linię np.:

option 'options' '-O tag:lan2,3,192.168.2.1 -O tag:lan3,3,192.168.3.1 -O tag:lan4,3,192.168.4.1'

wtedy będzie działać jak należy
w wolnej chwili zrobię z tego arta smile

25

Odp: dnsmasq rozne opcje dla hostow

zaraz przetestuje Twoje konfigi, a artykul jak najbardziej bo bardzo nie wiele i nie precyzyjnie jest na ten temat w sieci, ja kiedys chcialem to uzyskac na debianie za pomoca dhcpd lub dhcpd3 i bez powodzenia.