Zaawansowana konfiguracja DHCP
|
hermes-80 |
Dodano 25-05-2016 22:47
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Mamy taką sytuacje:
- 2 routery w sieci co za tym idzie różne 2 bramy
- dziecko, dla którego chcemy ustawić DNS-y Family Shild.
Jak zrobić by komp 2 i 3 leciał przez inną bramę, a urządzenia dzieci dostały DNS-y z jakąś tam blokada niepożądanej treści.
Oczywiście my chcemy mieć pełny dostęp do sieci.
Da się to zrobić za pomocą naszego standardowego serwera dns/dhcp dnsmasq.
Standardowe DNS-y Tomato rozdaje w sieci zdefiniowane w sekcji LAN (statyczne) lub jeśli nie ma tam nic wpisanego DNS-y pobierane są z WAN-u od ISP.
Jeśli chcemy konkretnemu hostowi podsunąć nasz konfig musimy skorzystać z okienka Dnsmasq Custom configuration w sekcji Advanced/DHCP/DNS
Składnia definicji oczywiści opisane są w: http://www.thekelleys.org.uk/dnsmasq/....html#lbAF mój przykład jest jednym z wielu jakie możemy zrobić.
Definiujemy serwery DNS
dhcp-option=tag:dns,6,208.67.222.123,208.67.220.123
tag definiuje zmienna dns, która zawiera (kod) 6 informujący serwer DHCP, że IP po przecinku to serwery DNS - oczyścicie zamiast dns możemy wpisać sobie cokolwiek
ta sama sytuacja ma się z naszą bramką
Definiujemy serwery DNS
dhcp-option=tag:brama,3,192.168.1.100
3 - kod informujący serwer DHCP, że to jest brama
kody do wielu innych usług można znaleźć w https://www.ietf.org/rfc/rfc2132.txt
Skoro mamy już zdefiniowane IP, które chcemy podać odpowiednim PC-tom musimy je przypisać do odpowiednich MAC-ów poprzez Statik DHCP
dhcp-host=00:51:D5:85:54:25,set:brama,set:dns,192.168.1.101
ze składni mamy:
--dhcp-host=[][,id:|*][,set:][,][,][,][,ignore]
00:51:D5:85:54:25 = [] = - MAC kompa któremu chcemy przypisać dane konfiguracyjne sieci
set:brama = [,set:] = komenda wymuszająca ustawienie zmiennych określonych w sekcji dhcp-option jako brama
set:dns - kolejna nasza zdefiniowana zmienna tym razem DNS-y
192.168.1.101 = [,] - IP jaki dostanie statycznie nasz PC widniejący pod MAC-iem 00:51:D5:85:54:25
Podsumowując:
Wpisując w Customconfig
dhcp-option=tag:dns,6,208.67.222.123,208.67.220.123
dhcp-option=tag:brama,3,192.168.1.100
dhcp-host=00:51:D5:85:54:25,set:brama,set:dns,192.168.1.101
Nasz PC 00:51:D5:85:54:25 będzie miał ustawienia konfiguracyjne sieci:
IP: 192.168.1.101
M: 255.255.255.0
Brama: 192.168.1.100
DNS: 208.67.222.123, 208.67.220.123
Czyli jego połączenie leci przez druga bramę z DNS-ami FamilyShild
Gdy chcemy ustawić więcej urządzeń oczywiście nie definiujemy już tych samych parametrów tylko używamy tag-a
Przyklad nr 2 o ile uzywa sie Static DHCP/ARP/IPT
https://openlinksys.info/forum/viewth...ost_156386
dhcp-option=tag:dns,[color=#ff0000]6[/color],[color=#0000ff]8.8.8.8,8.8.4.4[/color]
dhcp-mac=set:dns,[color=#009900]AA:BB:CC:11:22:33[/color]
DNS-y Google: 8.8.8.8,8.8.4.4
AA:BB:CC:11:22:33= MAC adres klienta
Ta 6-tka oznacza dns-server
Musiałem gdzieś to zapisać by sobie nie zapomnieć :).
Edytowany przez kille72 dnia 31-07-2016 00:38
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
Adooni |
Dodano 26-05-2016 07:37
|
VIP
Posty: 2359
Dołączył: 02/02/2011 04:29
|
bardzo fajna sprawa a pytanie czy da sie to zrobic na 1 routerku tz dla 1 MAC puszczać ruch przez Family Shield?
Orange 300/50 Mb/s + ONT Terminal
HPE MS gen8 Proxmox 7.0-11 VMs: Router OPNsense 23.X-amd64 and OMV
HPE MicroServer gen8: Xeon E3-1265Lv2, 16GB (2x KTH-PL316E/8G), HP 331T, 4x4TB WD RED
Asus RT-AC68U AccessPoint
|
|
|
|
hermes-80 |
Dodano 26-05-2016 09:37
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Nie za bardzo rozumiem?
Jeśli nie każesz mu ustawić bramki (set:brama - tak samo nie musisz ją definiować w option-dhcp) to bramka będzie standardowa przydzielana z konfigu default-owego.
Oczywiście żeby to zadziałało nie może być na routerze ustawione przechwytywanie porty 53 dla DNS-a
Edytowany przez hermes-80 dnia 26-05-2016 09:49
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
krisan |
Dodano 06-07-2016 20:21
|
Power User
Posty: 207
Dołączył: 22/03/2011 11:48
|
Wspaniała robota @hermes-80 !:)
Wykopanie powyższych możliwości dnsmasq umożliwiło mi rozwiązanie problemu i skonfigurowanie Tomato w maksymalnie uproszczony sposób.
Szukałem sprytnego rozwiązania dla zarządzanie przydzielania Serwerów DNS w zależności od MAC adresu klienta (np: domyślnie - domyślny dns, warunkowo - DNS na serwerze z Pi-hole [adblock] na moim RPi2).
Pozwolę sobie w celu uzupełnienia twojego tutoriala napisać parę dodatkowych zdań ;)
1. Custom DNSMASQ z aliasami (w miejsce "code id"), np
Zamiast:
dhcp-option=tag:gtw_default,[b]3[/b],192.168.1.1 # Router z Tomato
dhcp-option=tag:dns_pi-hole,[b]6[/b],192.168.1.2 # DNS Server z Pi-hole
dhcp-host=AA:BB:CC:11:22:33,set:gtw_default,set:dns_pi-hole,192.168.1.123
można:
dhcp-option=tag:gtw_default,[b]option:router[/b],192.168.1.1 # Router z Tomato (3)
dhcp-option=tag:dns_pi-hole,[b]option:dns-server[/b],192.168.1.2 # DNS Server z Pi-hole (6)
dhcp-host=AA:BB:CC:11:22:33,set:gtw_default,set:dns_pi-hole,192.168.1.123
(tagi: gtw_default, dns_pi-hole - to moje tagi)
Aktualną listę code - alias można uzyskać po uruchomieniu:
[b]dnsmasq --help dhcp[/b]
Known DHCP options:
1 netmask
2 time-offset
3 router
6 dns-server
7 log-server
9 lpr-server
13 boot-file-size
15 domain-name
16 swap-server
17 root-path
18 extension-path
19 ip-forward-enable
20 non-local-source-routing
21 policy-filter
22 max-datagram-reassembly
23 default-ttl
26 mtu
27 all-subnets-local
31 router-discovery
32 router-solicitation
33 static-route
34 trailer-encapsulation
35 arp-timeout
36 ethernet-encap
37 tcp-ttl
38 tcp-keepalive
40 nis-domain
41 nis-server
42 ntp-server
44 netbios-ns
45 netbios-dd
46 netbios-nodetype
47 netbios-scope
48 x-windows-fs
49 x-windows-dm
60 vendor-class
64 nis+-domain
65 nis+-server
66 tftp-server
67 bootfile-name
68 mobile-ip-home
69 smtp-server
70 pop3-server
71 nntp-server
74 irc-server
77 user-class
93 client-arch
94 client-interface-id
97 client-machine-id
119 domain-search
120 sip-server
121 classless-static-route
125 vendor-id-encap
255 server-ip-address
2. Rozwiązanie z punktu 1-go nie było dla mnie optymalne, miało kilka wad:
- brak możliwości definiowania nazwy hosta
- wymagane podanie IP
- dla dużej ilości urządzeń - dość nieporęczne
- prawdopodobnie filtrowanie po DHCP (Ignore DHCP requests from unknown devices) może działać nieprawidłowo (nie przetestowałem)
Rozwiązaniem było inne podejście
3. Mapowanie urzadzen zgodnie z Tabela "Static DHCP/ARP/IPT" Tomato + inny serwer DNS zdefiniowany w Custom DNSMASQ
Zastąpiłem wcześniejsze zmiany poniższym kodem:
dhcp-option=[b]tag:altdns_pi-hole[/b],option:dns-server,192.168.1.2 # DNS Server z Pi-hole (6)
dhcp-host=AA:BB:CC:11:22:33,set:gtw_default,set:dns_pi-hole,192.168.1.123
dhcp-mac=set:altdns_pi-hole,AA:BB:CC:11:22:33
...
dhcp-mac=set:altdns_pi-hole,AA:BB:CC:11:22:44
Oczywiście, powyższa konfiguracja nie ogranicza się tylko do Pi-hole, można skonfigurować wiele alternatywnych konfiguracji, np. dla netflixa, etc
|
|
|
|
hermes-80 |
Dodano 06-07-2016 20:44
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
I ciesze się ze się przydało, jak i że rozszerzyłeś moje wypociny o ciekawe uproszczenie .
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
krisan |
Dodano 06-07-2016 21:05
|
Power User
Posty: 207
Dołączył: 22/03/2011 11:48
|
Dzięki Hermes,
Poprawka, nie wiem jak ale zbędna extra linia była w p. 3, wystarczy tyle:
3. Mapowanie urządzeń zgodnie z Tabela "Static DHCP/ARP/IPT" Tomato + inny serwer DNS zdefiniowany w Custom DNSMASQ
Zastąpiłem wcześniejsze zmiany poniższym kodem:
dhcp-option=tag:altdns_pi-hole,option:dns-server,192.168.1.2 # DNS Server z Pi-hole (6)
dhcp-mac=set:altdns_pi-hole,AA:BB:CC:11:22:33
...
dhcp-mac=set:altdns_pi-hole,AA:BB:CC:11:22:44 |
|
|
|
kille72 |
Dodano 30-07-2016 22:48
|
Administrator
Posty: 2986
Dołączył: 12/02/2007 23:43
|
Super rozwiazanie, dzieki @hermes-80 & @krisan :)
Ja uzywam Adblocka w Tomato ale chce zeby na jednym urzadzeniu nie byly blokowane reklamy. Uzyje do tego np. dns-ow Google, 8.8.8.8 oraz 8.8.4.4.
W Dnsmasq Custom configuration wpisuje:
dhcp-option=tag:dns,[color=#ff0000]6[/color],[color=#0000ff]8.8.8.8,8.8.4.4[/color]
dhcp-mac=set:dns,[color=#009900]AA:BB:CC:11:22:33[/color]
DNS-y Google: 8.8.8.8,8.8.4.4
AA:BB:CC:11:22:33= MAC adres klienta
Ta 6-tka oznacza dns-server
Intercept DNS port (UDP 53) musi byc OFF (default: OFF)
Moje spostrzezenia:
Rozwiazanie @hermes-80 dziala poprawnie o ile nie ma sie zdefiniowanych hostow w Static DHCP, wystapi wtedy ktytyczny blad w dnsmasq (duplikat adresu IP):
Jul 30 13:39:21 Asus user.debug preinit[1]: dnsmasq terminated unexpectedly, restarting.
Jul 30 13:39:21 Asus daemon.crit dnsmasq[11004]: duplicate dhcp-host IP address 192.168.1.x at line 26 of /etc/dnsmasq.conf
Jul 30 13:39:21 Asus daemon.crit dnsmasq[11004]: FAILED to start up
Rozwiazanie @krisan z uzyciem adresow MAC zamiast adresow IP rozwiazuje ten problem. |
|
|
|
radoart |
Dodano 08-08-2016 16:00
|
User
Posty: 30
Dołączył: 02/04/2008 10:56
|
A jak zrobić, żeby adblock korzystał dla jednego urządzenia z innego dns-a? |
|
|
|
hermes-80 |
Dodano 08-08-2016 16:14
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Staraj się opisać problem po polsku .
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
kille72 |
Dodano 19-08-2016 15:57
|
Administrator
Posty: 2986
Dołączył: 12/02/2007 23:43
|
@Robertus, rozwiazanie Twojego problemu z inna brama w sieci lokalnej. Przetestowalem i dziala.
Przyklad: 2 urzadzenia, 00:11:22:33:44:55 oraz 00:11:22:33:44:66, inna brama w sieci lokalnej: 10.10.0.2, ostatnia linia to inne dns:y dla tych urzadzen (optional).
dhcp-mac=altnet,00:11:22:33:44:55
dhcp-mac=altnet,00:11:22:33:44:66
dhcp-option=altnet,option:router,10.10.0.2
dhcp-option=altnet,option:dns-server,8.8.8.8,8.8.4.4 |
|
|
|
Robertus |
Dodano 22-08-2016 07:54
|
User
Posty: 48
Dołączył: 15/01/2016 12:27
|
@kille72
Dzięki za info.Śmiga
--------------------------------
Asus RT-AC68R/U
Tomato ver. 138 AIO
|
|
|
|
mate1976 |
Dodano 19-10-2016 09:41
|
User
Posty: 12
Dołączył: 29/09/2016 23:34
|
Cześć,
a jak rozwiązać problem aby przydzielać inne DNS puli adresów IP a nie pojedynczym MAC ?
Pozdrawiam |
|
|
|
hermes-80 |
Dodano 19-10-2016 11:45
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Spróbuj --dhcp-range - manual
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
qrs |
Dodano 11-01-2021 11:26
|
Maxi User
Posty: 749
Dołączył: 02/12/2012 00:55
|
Bardzo fajny tutorial, właśnie przydatne dla mnie, chcę aby pewne urządzenia dostały mój dns zamiast ustawionego na sztywno.
Dodałem wg opisu
MAC - adresy 2 urządzeń
IP - przypisane do MAC adresy IP na sztywno
nie dodawałem dhcp-option=tag:br0,3,192.168.0.10 bo ta linia jest już w /etc/dnsmasq.conf
i niestety po dodaniu powyższego nie mam internetu na innych urządzeniach niż wspominanych we wpisie jako MAC, w sumie na dodanych również, czy o czymś zapomniałem?
---
Netgear R7000 • Netgear WNR3500L v2 • MikroTik hAP ac^2 • TP-LINK M7650
|
|
|
|
hermes-80 |
Dodano 11-01-2021 11:47
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Ustawiaj według @krisan
Cytat 3. Mapowanie urzadzen zgodnie z Tabela "Static DHCP/ARP/IPT" Tomato + inny serwer DNS zdefiniowany w Custom DNSMASQ
Cytat Przyklad nr 2 o ile uzywa sie Static DHCP/ARP/IPT
dhcp-mac=set zamiast dhcp-host
Edytowany przez hermes-80 dnia 11-01-2021 11:51
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
qrs |
Dodano 11-01-2021 11:48
|
Maxi User
Posty: 749
Dołączył: 02/12/2012 00:55
|
właśnie wszystkie MAC i IP mam ustawione w DHCP Reservation
Połączony z 11 stycznia 2021 12:27:04:
Intercept DNS port OFF
Cytat dhcp-option=tag:rpi,option:dns-server,192.168.0.11
dhcp-mac=set:rpi,AA:BB:CC:DD:EE:FF
nie działa mi :( nie mogę zmusić by AA:BB:CC:DD:EE:FF korzystał z pi-hole
Połączony z 11 stycznia 2021 12:28:24:
dhcp-option=tag:rpi,option:dns-server,192.168.0.11
dhcp-mac=set:rpi,AA:BB:CC:DD:EE:FF
Edytowany przez qrs dnia 11-01-2021 12:28
---
Netgear R7000 • Netgear WNR3500L v2 • MikroTik hAP ac^2 • TP-LINK M7650
|
|
|
|
hermes-80 |
Dodano 11-01-2021 13:04
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Nie masz czasem włączonego przechwytywania portu DNS na Tomato?
A nie masz - może zresetuj router - logi nic nie pokazują?
Edytowany przez hermes-80 dnia 11-01-2021 13:07
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
qrs |
Dodano 11-01-2021 13:04
|
Maxi User
Posty: 749
Dołączył: 02/12/2012 00:55
|
Intercept DNS port OFF
---
Netgear R7000 • Netgear WNR3500L v2 • MikroTik hAP ac^2 • TP-LINK M7650
|
|
|
|
hermes-80 |
Dodano 11-01-2021 13:10
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Zamiast option:dns-server wpisz 6 - może jakieś ustawienia z dns w gui tomato blokuja wpisy w custom config.
Domyślam się, że potrafisz zwolnic dhcp na ustawianym hoscie - zmiany nie sa zaciągane przez hosta z automatu. (reset lub zwolnienie dzierżawy dhcp)
Edytowany przez hermes-80 dnia 11-01-2021 13:16
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
qrs |
Dodano 11-01-2021 13:15
|
Maxi User
Posty: 749
Dołączył: 02/12/2012 00:55
|
chyba jest jakiś błąd w Tomato, przy
dhcp-option=tag:pihole,option:dns-server,192.168.0.11
w logach jest czysto ale przy
dhcp-option=tag:pihole,option:6,192.168.0.11
pojawiają się wpisy
Cytat Jan 11 13:11:40 R7000 dnsmasq: bad dhcp-option at line 59 of /etc/dnsmasq.conf
Jan 11 13:11:40 R7000 dnsmasq: FAILED to start up
Jan 11 13:11:40 R7000 preinit: dnsmasq terminated unexpectedly, restarting
Jan 11 13:11:40 R7000 dnsmasq: bad dhcp-option at line 59 of /etc/dnsmasq.conf
Jan 11 13:11:40 R7000 dnsmasq: FAILED to start up
Jan 11 13:11:40 R7000 preinit: dnsmasq terminated unexpectedly, restarting
---
Netgear R7000 • Netgear WNR3500L v2 • MikroTik hAP ac^2 • TP-LINK M7650
|
|
|