| 
 Zaawansowana konfiguracja DHCP 
 | 
| hermes-80 | 
 Dodano 25-05-2016 22:47 
 | 
 
  
VIP 
 
 
  
Posty: 3682 
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: 2366 
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: 3682 
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: 3682 
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: 3682 
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: 3682 
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: 3682 
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: 3682 
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: 3682 
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 
 
 | 
|   | 
 
 
 
 |