Re: [Dnsmasq-discuss] mixup of tftp-root and boot filename

2008-08-04 Thread Simon Kelley
Carlos Carvalho wrote:
 Simon Kelley (si...@thekelleys.org.uk) wrote on 3 August 2008 21:02:
  Carlos Carvalho wrote:
   I have
   
   tftp-root=/var/remoteboot 
   
   in dnsmasq.conf. For a machine I have in dhcp-options:
   
   ometepe,vl5,67,/tftpboot/pxelinux.0
   
   In the log there is
   
   dnsmasq[16090]: sent size: 21 option: 67:bootfile-name  
 2f:74:66:74:70:62:6f:6f:74:2f:70:78:65...
   
   Checking with the ascii table this looks correct. However, the client
   says it cannot find /var/remoteboot/tftpboot/pxelinux.0. Removing the
   tftp-root= setting in dnsmasq.conf makes the client get the correct
   /tftpboot/pxelinux.0 so the problem seems to be in dnsmasq.
  
  It's behaving as designed: You've set the TFTP root to be 
  /var/remoteboot, so filenames are relative to that root. The client asks 
  for /tftpboot/pxelinux.0 so dnsmasq tries to send 
  /var/remoteboot/tftpboot/pxelinux.0 which doesn't exist, so it returns 
  an error, which inlcudes a message giving the complete pathname. That's 
  what the client it displaying.
  
  Note that if the filename includes a leading /, dnsmasq  will also try 
  assuming it's an absolute pathname, but only if the first part of the 
  filename matches the tftp-root.
   
   In a first look I didn't find any places where this concatenation
   could happen. Note that the tftp server is not the machine running
   dnsmasq in this case.
  Now I'm confused. What is the TFTP server?
 
 That's the whole point I don't understand. Here are the options for
 the machine:
 
 ometepe,vl5,3
 ometepe,vl5,6
 ometepe,vl5,28
 ometepe,vl5,15
 ometepe,vl5,66,192.168.5.74
 ometepe,vl5,67,/tftpboot/pxelinux.0
 
 The IP of the machine running dnsmasq is 192.168.5.18. So what should
 happen is
 
 client broadcasts dhcp request
 192.168.5.18 answers saying tftp server is 192.168.5.74
 client asks /tftpboot/pxelinux.0 to 192.168.5.74
 client never heards about /var/remoteboot...
 
 That's why I gave the log line with the value of boot-filename above.
 
 Hmm... Looking at the log again the whole transaction is:
 
 DHCP packet: transaction-id is 3866001293
 Available DHCP subnet: 192.168.5.1/255.255.255.0
 Vendor class: PXEClient:Arch:0:UNDI:002001
 DHCPREQUEST(eth0.5) 192.168.5.71 00:1e:8c:7f:6e:e6 
 DHCPACK(eth0.5) 192.168.5.71 00:1e:8c:7f:6e:e6 ometepe
 requested options: 1:netmask, 2:time-offset, 3:router, 5, 6:dns-server, 
 requested options: 11, 12:hostname, 13:boot-file-size, 15:domain-name, 
 requested options: 16:swap-server, 17:root-path, 18:extension-path, 
 requested options: 43:vendor-encap, 54:server-identifier, 60:vendor-class, 
 requested options: 67:bootfile-name, 128, 129, 130, 131, 132, 
 requested options: 133, 134, 135
 server name: 192.168.5.74
 tags: vl5, ometepe, known
 sent size:  1 option: 53:message-type  05
 sent size:  4 option: 54:server-identifier  c0:a8:05:12
 sent size:  4 option: 51:lease-time  ff:ff:ff:ff
 sent size:  4 option:  1:netmask  ff:ff:ff:00
 sent size:  7 option: 12:hostname  6f:6d:65:74:65:70:65
 sent size: 21 option: 67:bootfile-name  
 2f:74:66:74:70:62:6f:6f:74:2f:70:78:65...
 
 So it seems the client isn't requesting option 66 and is asking the
 dhcp server for pxelinux.
 
 If this is the case would --dhcp-option-force help? Would the tftp
 server be available to pxelinux in the client?
 
   The dnsmasq log shows no TFTP request but I
   vaguely remember Simon saying that these are not logged.
  
  File-not-found is not logged, since it clutters up the log with lots of 
  failed attempts by PXELinux to read possible config files.
 
 But it helps in situations like this one. One can always grep them
 out, and compression ratio is very high for repetitive parts so it
 won't fill the disk.
 


I've come across many PXE ROMS which are buggy, and just don't work if
the DHCP server and TFTP server are on different machines. My guess is
that you have one of those.

Simon.



[Dnsmasq-discuss] multiple domain support - question

2008-08-04 Thread Simon Kelley
I have support for multiple domains working, but I've come across a wrinkle.

Consider the case that two different DHCP clients claim the same name.
With the existing code, only one can have it and the current behaviour
is that when a second machine  claims a name, the first one loses it.

Now, consider the possibility that the two machines claiming the same
name are in different domains. By default, the existing behaviour must
continue, because the unqualified name is added to the DNS, so that even
though the two clients could have name.domain1.com and
name.domain2.com, they are still fighting over just plain name.

It would be possible to introduce a new mode, which didn't put the
unqualified name into the DNS, and allowed both hosts to keep their name
as long as they are in different domains. Would that be useful, or just
an confusing complication?

Cheers,

Simon.



Re: [Dnsmasq-discuss] Problems with Samba shares and XP clients

2008-08-04 Thread B. Cook


On Aug 3, 2008, at 12:15 PM, Cristiano Paris wrote:

On Sun, Aug 3, 2008 at 2:06 PM, B. Cook  
bc...@poughkeepsieschools.org wrote:


On Aug 2, 2008, at 5:00 PM, Cristiano Paris wrote:


On Sat, Aug 2, 2008 at 6:30 PM, richardvo...@gmail.com
richardvo...@gmail.com wrote:


I don't remember for sure, but I don't think you need netbios for  
cifs to

work.

Try \\ip.address\share ?

If that doesn't work then I don't think the problem is with  
dnsmasq.


It doesn't work, niether.


If
that does work, you may have to mess with dns settings on both  
client and
server until ping servername works, then \\servername\share  
should

also
work.


Of course, ping works. Thank you.

Cristiano


You wouldn't want to share you config would you?

dnsmasq and/or samba..
___
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss



dnsmasq.conf:

resolv-file=/etc/dns.resolv.conf
local=/internal.theshire.org/
no-hosts
addn-hosts=/etc/dns.hosts
domain=internal.theshire.org
dhcp-range=10.7.0.3,10.7.0.5,255.255.255.0,12h
dhcp-host=00:xx:xx:xx:xx:xx,xx.xx.xx.xx,tuckburrow,infinite
dhcp-option=44,10.7.0.2
dhcp-option=45,10.7.0.2
dhcp-option=46,8
dhcp-option=47

smb.conf:

[global]
  workgroup = THESHIRE
  server string = The Shire internal server
  security = user
  load printers = yes
  log file = /var/log/samba/%m.log
  max log size = 50
  wins support = yes
  name resolve order = wins lmhosts host bcast
  unix extensions = no
  socket options = TCP_NODELAY SO_RCVBUF=524288 SO_SNDBUF=524288
[homes]
  comment = Home Directories
  browseable = no
  writable = yes
[printers]
  comment = All Printers
  path = /var/spool/samba
  browseable = no
  guest ok = no
  writable = no
  printable = yes

Cristiano


For what its worth..

1 B-node: Broadcast - no WINS
2 P-node: Peer - WINS only
4 M-node: Mixed - broadcast, then WINS
8 H-node: Hybrid - WINS, then broadcast

I believe that to be a correct and complete list for dhcp-option=46  
(46 netbios-nodetype)


I use 2, because I use wins.

You might set your log level up a bit in samba and look in your  
log.nmbd and see if the hosts are actually registering with wins, is  
your samba server at 10.7.0.2?


This is for my samba server @home..

# Global parameters
[global]
workgroup = WORKGROUP
netbios name = THINGONE
server string = [SAMBA]
log file = /var/log/samba/log.%m
name resolve order = wins bcast host lmhosts
time server = Yes
socket options = TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT  
SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

logon script =
logon path =
logon home =
domain logons = Yes
os level = 65
preferred master = Yes
local master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
read only = No
writeable = Yes
case sensitive = No
veto oplock files = /*.doc/*.xls/*.mdb/
security = user
load printers = yes
dns proxy = no
load printers = yes
printing = cups
printcap name = cups

and some dnsmasq:

bind-interfaces
bogus-priv
cache-size=1024
dhcp-authoritative
dhcp-host=00:01:e6:4b:e3:2e,172.16.64.10,jetdirect
dhcp-host=00:0d:93:ed:75:dc,,iancook
dhcp-host=00:12:3f:7e:b8:10,172.16.64.19,cswebdevel
dhcp-host=00:17:f2:c7:c4:4a,172.16.64.11,imac
dhcp-host=00:19:e3:d3:fa:a9,,macbookpro
dhcp-host=00:c0:f4:f5:e9:34,172.16.64.1,gw
dhcp-leasefile=/var/db/dnsmasq.leases
dhcp-option=option:dns-server,0.0.0.0   # DNS
dhcp-option=option:domain-name,at.home # Domain
dhcp-option=option:netbios-dd,0.0.0.0 # netbios datagram  
distribution server

dhcp-option=option:netbios-nodetype,2   # netbios node type
dhcp-option=option:netbios-ns,0.0.0.0 # set netbios-over-TCP/IP  
nameserver(s) aka WINS server(s)

dhcp-option=option:netbios-scope # empty netbios scope.
dhcp-option=option:ntp-server,172.16.64.1   # NTP
dhcp-option=option:router,172.16.64.1   # Gateway
dhcp-option=vendor:MSFT,2,1i
dhcp-range=172.16.64.11,172.16.64.25,255.255.255.224,1h
domain-needed
domain=at.home
except-interface=lo0
filterwin2k
group=nobody
interface=fxp0
log-dhcp
log-facility=/var/log/dnsmasq.log
no-negcache

Again all works great..

(Running FreeBSD 7 on the dnsmasq and samba machines)



Re: [Dnsmasq-discuss] Missing something obvious #known

2008-08-04 Thread B. Cook


On Aug 3, 2008, at 4:32 PM, Simon Kelley wrote:


B. Cook wrote:

Hello All,
I thought all of this was working as it should.. but apparently it  
is not..

from the dnsmasq.log:
Aug  1 11:42:56 dnsmasq[32635]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d  
ignored
Aug  1 11:43:11 dnsmasq[32635]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d  
ignored
Aug  1 11:43:14 dnsmasq[32635]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d  
ignored
Aug  1 11:43:21 dnsmasq[32635]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d  
ignored

and from the config:
20 # 100 stuff
21 dhcp-option=net:phsalt,option:router,10.20.100.1
22 dhcp-range=phsalt,10.20.100.2,10.20.100.254,255.255.255.0,5m
23 dhcp-ignore=net:phsalt,#known
24
25 dhcp-host=00:0e:7f:3b:ba:2d,10.20.100.3,net:phsalt # someprinter
26 dhcp-host=00:30:6e:c6:13:e6,10.20.100.57,net:phsalt #  
hplj1150_hs143
I have tried dhcp-ignore without the net: as well and it does not  
seem to

cause an error either way..
I am trying to only let certain hosts end up in the 100.0/24..
Not sure what I am missing..
can anyone help?


You don't need to use dhcp-ignore to achieve what you're trying to  
do, the net:phsalt in the dhcp-range is enough to ensure that the  
range only gets used for the hosts which set the phsalt tag.


However, I'm not sure _why_ the configuration you have is behaving  
as it does. Please could you set --log-dhcp and send me the  
information that dnsmasq logs during these DHCP transactions?


Cheers,

Simon.




So you are saying I should be able to have a single dhcp-ignore=#known  
and that would take care of it for all the subnets?


[/usr/local/etc/dnsmasq]# 25  grep dhcp-range *
dnsmasq.cli.dhcp:dhcp-range=cli,10.20.18.2,10.20.19.254,255.255.254.0,4h
dnsmasq.kri.dhcp:dhcp-range=kri,10.20.4.2,10.20.5.254,255.255.254.0,4h
dnsmasq.phs.dhcp:dhcp-range=phs,10.20.0.17,10.20.1.254,255.255.254.0,4h
dnsmasq.phs.dhcp:dhcp-range=phsalt, 
10.20.100.2,10.20.100.254,255.255.255.0,5m

dnsmasq.smi.dhcp:dhcp-range=smi,10.20.6.2,10.20.7.254,255.255.254.0,4h
dnsmasq.war.dhcp:dhcp-range=war,10.20.14.2,10.20.15.254,255.255.254.0,4h

[/usr/local/etc/dnsmasq]# 26  grep \#known *
dnsmasq.cli.dhcp:dhcp-ignore=cli,#known
dnsmasq.kri.dhcp:dhcp-ignore=kri,#known
dnsmasq.phs.dhcp:dhcp-ignore=#known
dnsmasq.phs.dhcp:dhcp-ignore=phs,#known
dnsmasq.phs.dhcp:dhcp-ignore=phsalt,#known
dnsmasq.smi.dhcp:dhcp-ignore=smi,#known
dnsmasq.war.dhcp:dhcp-ignore=war,#known






Re: [Dnsmasq-discuss] Missing something obvious #known

2008-08-04 Thread B. Cook

On Sun, August 3, 2008 4:32 pm, Simon Kelley wrote:
 B. Cook wrote:
 Hello All,

 I thought all of this was working as it should.. but apparently it is
 not..

 from the dnsmasq.log:
 Aug  1 11:42:56 dnsmasq[32635]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d
 ignored
 Aug  1 11:43:11 dnsmasq[32635]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d
 ignored
 Aug  1 11:43:14 dnsmasq[32635]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d
 ignored
 Aug  1 11:43:21 dnsmasq[32635]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d
 ignored

 and from the config:

  20 # 100 stuff
  21 dhcp-option=net:phsalt,option:router,10.20.100.1
  22 dhcp-range=phsalt,10.20.100.2,10.20.100.254,255.255.255.0,5m
  23 dhcp-ignore=net:phsalt,#known
  24
  25 dhcp-host=00:0e:7f:3b:ba:2d,10.20.100.3,net:phsalt # someprinter
  26 dhcp-host=00:30:6e:c6:13:e6,10.20.100.57,net:phsalt # hplj1150_hs143

 I have tried dhcp-ignore without the net: as well and it does not seem
 to
 cause an error either way..

 I am trying to only let certain hosts end up in the 100.0/24..

 Not sure what I am missing..

 can anyone help?



 You don't need to use dhcp-ignore to achieve what you're trying to do,
 the net:phsalt in the dhcp-range is enough to ensure that the range
 only gets used for the hosts which set the phsalt tag.

 However, I'm not sure _why_ the configuration you have is behaving as it
 does. Please could you set --log-dhcp and send me the information that
 dnsmasq logs during these DHCP transactions?

 Cheers,

 Simon.



So a few strange things..

I removed the dhcp-range=net:phsalt,#known, and still I was not able to
get an ip in the 10.20.100.0/24 range.

I removed the dhcp-range=#known (for the whole scope of the lan) and I was
able to get an ip, dhcp-log'in showed me it was being accepted into the
phs range, so thinking that somehow net:phs and net:phsalt was not being
matched fully I :%s/phsalt/altphs/g in the configs.. and it is still being
matched inside net:phs.

Aug  4 09:11:01 dnsmasq[22625]: DHCP packet: transaction-id is 4133013384
Aug  4 09:11:01 dnsmasq[22625]: Available DHCP range: 10.20.0.17 --
10.20.1.254
Aug  4 09:11:01 dnsmasq[22625]: Vendor class: Hewlett-Packard JetDirect
Aug  4 09:11:01 dnsmasq[22625]: DHCPDISCOVER(em0) 00:0e:7f:3b:ba:2d
Aug  4 09:11:01 dnsmasq[22625]: DHCPOFFER(em0) 10.20.0.213 00:0e:7f:3b:ba:2d
Aug  4 09:11:01 dnsmasq[22625]: requested options: 1:netmask, 3:router,
44:netbios-ns, 6:dns-server,
Aug  4 09:11:01 dnsmasq[22625]: requested options: 7:log-server,
12:hostname, 15:domain-name,
Aug  4 09:11:01 dnsmasq[22625]: requested options:
22:max-datagram-reassembly, 54:server-identifier,
Aug  4 09:11:01 dnsmasq[22625]: requested options: 58:T1, 59:T2,
69:smtp-server, 18:extension-path,
Aug  4 09:11:01 dnsmasq[22625]: requested options: 144
Aug  4 09:11:01 dnsmasq[22625]: tags: phs
Aug  4 09:11:01 dnsmasq[22625]: sent size:  1 option: 53:message-type  02
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option: 54:server-identifier
 0a:14:00:10
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option: 51:lease-time 
00:00:38:40
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option: 58:T1  00:00:1c:20
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option: 59:T2  00:00:31:38
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option:  1:netmask  ff:ff:fe:00
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option: 28:broadcast 
0a:14:01:ff
Aug  4 09:11:01 dnsmasq[22625]: sent size:  8 option: 15:domain-name 
70:68:73:2e:70:63:73:64
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option: 44:netbios-ns 
0a:14:00:e6
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option:  3:router  0a:14:00:01
Aug  4 09:11:01 dnsmasq[22625]: sent size:  4 option:  6:dns-server 
0a:14:00:10

something strange I also noticed, which might also help is this:

(this is a different host)

Aug  4 09:10:52 dnsmasq[22625]: DHCP packet: transaction-id is 1899741050
Aug  4 09:10:52 dnsmasq[22625]: Available DHCP range: 10.20.0.17 --
10.20.1.254
Aug  4 09:10:52 dnsmasq[22625]: Vendor class: Hewlett-Packard JetDirect
Aug  4 09:10:52 dnsmasq[22625]: DHCPREQUEST(em0) 10.20.0.186
00:1b:78:19:c9:50
Aug  4 09:10:52 dnsmasq[22625]: DHCPACK(em0) 10.20.0.186 00:1b:78:19:c9:50
hp4250-lib
Aug  4 09:10:52 dnsmasq[22625]: requested options: 1:netmask, 3:router,
44:netbios-ns, 6:dns-server,
Aug  4 09:10:52 dnsmasq[22625]: requested options: 7:log-server,
12:hostname, 15:domain-name,
Aug  4 09:10:52 dnsmasq[22625]: requested options:
22:max-datagram-reassembly, 54:server-identifier,
Aug  4 09:10:52 dnsmasq[22625]: requested options: 58:T1, 59:T2,
69:smtp-server, 18:extension-path,
Aug  4 09:10:52 dnsmasq[22625]: requested options: 144
Aug  4 09:10:52 dnsmasq[22625]: tags: phs, phs, known
Aug  4 09:10:52 dnsmasq[22625]: sent size:  1 option: 53:message-type  05
Aug  4 09:10:52 dnsmasq[22625]: sent size:  4 option: 54:server-identifier
 0a:14:00:10
Aug  4 09:10:52 dnsmasq[22625]: sent size:  4 option: 51:lease-time 
00:00:01:2c
Aug  4 09:10:52 dnsmasq[22625]: sent size:  4 option: 58:T1  00:00:00:8a
Aug  4 

[Dnsmasq-discuss] question about logs

2008-08-04 Thread B. Cook
Is there a way to put the 'dns' logs somewhere and the 'dhcp' logs
somewhere else?

If it is not possible at this time..

Having so many requests come in for different things.. it would be nice to
seperate them.

my .02




Re: [Dnsmasq-discuss] illegal domain in dhcp-config directive

2008-08-04 Thread Jason Dixon
On Tue, Jul 29, 2008 at 07:40:52AM -0400, Jason Dixon wrote:
 On Tue, Jul 29, 2008 at 07:48:32AM +0100, Simon Kelley wrote:
  Jason Dixon wrote:
  Thanks to the recent vulnerability, I'm upgrading an older dnsmasq
  system from version 2.34 to 2.45.  I've installed it and attempted to
  run it, but I get the following error.
 
  dnsmasq: illegal domain 04-06.lab.foobar.com in dhcp-config directive.
 
  The same configuration works fine with 2.34, so I presume something has
  changed in the configuration syntax or default settings.  I haven't
  found anything on Google or in the FAQ about this error, nor do I see
  any dhcp-config directives in our config files or the sample config.
  Here is the relevant line from our config:
 
  dhcp-host=00:0c:29:02:1f:06,ubuntu-8.04-06.lab.foobar.com,172.16.0.105
 
  It doesn't appear to be anything specifically with that line.  We have a
  couple hundred of these loaded by dnsmasq.  If I comment out that one,
  the next preceding one will error.  I'm not experienced with dnsmasq, so
  I'm putting myself at the mercy of this list.  Any help will be greatly
  appreciated.  :)
 
  As far as I can see, this error can only be occuring because the domain  
  part of the name your applying to that host doesn't match the domain  
  specified for dnsmasq to use by the domain=domain config option.
 
  AFAIK dnsmasq has never allowed you to send a FQDN to a host unless it  
  matches the domain setting (this is to avoid hosts impersonating, eg  
  www.microsoft.com) but the check in this case has been moved from  
  run-time, where it will log an error, to a fatal error at start-up
 
  The fix may be as simple as adding
 
  domain=04-06.lab.foobar.com
 
  (and you can remove the domain parts from all the dhcp-host lines as  
  well, if you wish. If they stay, they must match the domain given)
 
 We have mixed domains in our configuration.  I see the following line in
 the main dnsmasq.conf, which would account for most of the dhcp-host
 entries:
 
 local=/lab.foobar.com/wifi.foobar.com/
 
 I see no domain directives anywhere.  I suspect that adding
 04-06.lab.foobar.com to the local directive might be sufficient, but I'm
 just guessing.  And yes, this configuration works fine with
 dnsmasq-2.34.

I tried various changes to our configuration but couldn't find a working
set.  I'm including a subset of our configuration here so you can see
what might be causing the issue.  The only bits I've left out include
redundant information (e.g. dhcp-host).  Just to reiterate, this works
under 2.34 but is broken under 2.45.


# cat /etc/dnsmasq.conf | grep -v '^$' | grep -v '^\#'
filterwin2k
local=/lab.foobar.com/wifi.foobar.com/
interface=eth0
expand-hosts
dhcp-option=3,172.16.0.1
dhcp-option=42,0.0.0.0
conf-file=/etc/dnsmasq.lab.conf
conf-file=/etc/dnsmasq.wifi.conf

# cat /etc/dnsmasq.lab.conf | grep -v '^$' | grep -v '^\#'
dhcp-range=lab,172.16.0.10,172.16.0.81,12h
dhcp-option=lab,15,lab.foobar.com
dhcp-host=00:0e:0c:bc:17:70,lab01.lab.foobar.com,172.16.0.10
dhcp-host=00:0c:29:ff:96:a7,solaris.lab.foobar.com,172.16.0.6
dhcp-host=00:0c:29:ff:96:xx,windows.lab.foobar.com,172.16.0.7
dhcp-host=00:0c:29:db:8a:b3,centos.lab.foobar.com,172.16.0.5
dhcp-host=00:0c:29:3c:58:01,centos-4.4-01.lab.foobar.com,172.16.0.82

# cat /etc/dnsmasq.wifi.conf | grep -v '^$' | grep -v '^\#'
dhcp-range=wifi,172.16.0.200,172.16.0.250,3d
dhcp-option=wifi,15,wifi.foobar.com


Thanks,

-- 
Jason Dixon
OmniTI Computer Consulting, Inc.
jdi...@omniti.com
443.325.1357 x.241 



Re: [Dnsmasq-discuss] illegal domain in dhcp-config directive

2008-08-04 Thread Simon Kelley

Jason Dixon wrote:

On Tue, Jul 29, 2008 at 07:40:52AM -0400, Jason Dixon wrote:


On Tue, Jul 29, 2008 at 07:48:32AM +0100, Simon Kelley wrote:


Jason Dixon wrote:


Thanks to the recent vulnerability, I'm upgrading an older dnsmasq
system from version 2.34 to 2.45.  I've installed it and attempted to
run it, but I get the following error.

dnsmasq: illegal domain 04-06.lab.foobar.com in dhcp-config directive.

The same configuration works fine with 2.34, so I presume something has
changed in the configuration syntax or default settings.  I haven't
found anything on Google or in the FAQ about this error, nor do I see
any dhcp-config directives in our config files or the sample config.
Here is the relevant line from our config:

dhcp-host=00:0c:29:02:1f:06,ubuntu-8.04-06.lab.foobar.com,172.16.0.105

It doesn't appear to be anything specifically with that line.  We have a
couple hundred of these loaded by dnsmasq.  If I comment out that one,
the next preceding one will error.  I'm not experienced with dnsmasq, so
I'm putting myself at the mercy of this list.  Any help will be greatly
appreciated.  :)


As far as I can see, this error can only be occuring because the domain  
part of the name your applying to that host doesn't match the domain  
specified for dnsmasq to use by the domain=domain config option.


AFAIK dnsmasq has never allowed you to send a FQDN to a host unless it  
matches the domain setting (this is to avoid hosts impersonating, eg  
www.microsoft.com) but the check in this case has been moved from  
run-time, where it will log an error, to a fatal error at start-up


The fix may be as simple as adding

domain=04-06.lab.foobar.com

(and you can remove the domain parts from all the dhcp-host lines as  
well, if you wish. If they stay, they must match the domain given)


We have mixed domains in our configuration.  I see the following line in
the main dnsmasq.conf, which would account for most of the dhcp-host
entries:

local=/lab.foobar.com/wifi.foobar.com/

I see no domain directives anywhere.  I suspect that adding
04-06.lab.foobar.com to the local directive might be sufficient, but I'm
just guessing.  And yes, this configuration works fine with
dnsmasq-2.34.



I tried various changes to our configuration but couldn't find a working
set.  I'm including a subset of our configuration here so you can see
what might be causing the issue.  The only bits I've left out include
redundant information (e.g. dhcp-host).  Just to reiterate, this works
under 2.34 but is broken under 2.45.


# cat /etc/dnsmasq.conf | grep -v '^$' | grep -v '^\#'
filterwin2k
local=/lab.foobar.com/wifi.foobar.com/
interface=eth0
expand-hosts
dhcp-option=3,172.16.0.1
dhcp-option=42,0.0.0.0
conf-file=/etc/dnsmasq.lab.conf
conf-file=/etc/dnsmasq.wifi.conf

# cat /etc/dnsmasq.lab.conf | grep -v '^$' | grep -v '^\#'
dhcp-range=lab,172.16.0.10,172.16.0.81,12h
dhcp-option=lab,15,lab.foobar.com
dhcp-host=00:0e:0c:bc:17:70,lab01.lab.foobar.com,172.16.0.10
dhcp-host=00:0c:29:ff:96:a7,solaris.lab.foobar.com,172.16.0.6
dhcp-host=00:0c:29:ff:96:xx,windows.lab.foobar.com,172.16.0.7
dhcp-host=00:0c:29:db:8a:b3,centos.lab.foobar.com,172.16.0.5
dhcp-host=00:0c:29:3c:58:01,centos-4.4-01.lab.foobar.com,172.16.0.82

# cat /etc/dnsmasq.wifi.conf | grep -v '^$' | grep -v '^\#'
dhcp-range=wifi,172.16.0.200,172.16.0.250,3d
dhcp-option=wifi,15,wifi.foobar.com


Thanks,



Are the names in your dhcp-host entries _all_ name.lab.foobar.com?
If so, the simply adding

domain=lab.foobar.com

will fix things. I imagine that under 2.34 you will have seen lots of 
complaints logged about this, 2.45 has turned soft errors into hard ones.


If there are names in more than one domain, the problem in more 
complicated to fix: you may need to try the new multi-domain code.



Cheers,

Simon.




Re: [Dnsmasq-discuss] illegal domain in dhcp-config directive

2008-08-04 Thread Jason Dixon
On Mon, Aug 04, 2008 at 04:16:41PM +0100, Simon Kelley wrote:
 Jason Dixon wrote:

 I tried various changes to our configuration but couldn't find a working
 set.  I'm including a subset of our configuration here so you can see
 what might be causing the issue.  The only bits I've left out include
 redundant information (e.g. dhcp-host).  Just to reiterate, this works
 under 2.34 but is broken under 2.45.


 # cat /etc/dnsmasq.conf | grep -v '^$' | grep -v '^\#'
 filterwin2k
 local=/lab.foobar.com/wifi.foobar.com/
 interface=eth0
 expand-hosts
 dhcp-option=3,172.16.0.1
 dhcp-option=42,0.0.0.0
 conf-file=/etc/dnsmasq.lab.conf
 conf-file=/etc/dnsmasq.wifi.conf

 # cat /etc/dnsmasq.lab.conf | grep -v '^$' | grep -v '^\#'
 dhcp-range=lab,172.16.0.10,172.16.0.81,12h
 dhcp-option=lab,15,lab.foobar.com
 dhcp-host=00:0e:0c:bc:17:70,lab01.lab.foobar.com,172.16.0.10
 dhcp-host=00:0c:29:ff:96:a7,solaris.lab.foobar.com,172.16.0.6
 dhcp-host=00:0c:29:ff:96:xx,windows.lab.foobar.com,172.16.0.7
 dhcp-host=00:0c:29:db:8a:b3,centos.lab.foobar.com,172.16.0.5
 dhcp-host=00:0c:29:3c:58:01,centos-4.4-01.lab.foobar.com,172.16.0.82

 # cat /etc/dnsmasq.wifi.conf | grep -v '^$' | grep -v '^\#'
 dhcp-range=wifi,172.16.0.200,172.16.0.250,3d
 dhcp-option=wifi,15,wifi.foobar.com

 Are the names in your dhcp-host entries _all_ name.lab.foobar.com?
 If so, the simply adding

 domain=lab.foobar.com

 will fix things. I imagine that under 2.34 you will have seen lots of  
 complaints logged about this, 2.45 has turned soft errors into hard ones.

 If there are names in more than one domain, the problem in more  
 complicated to fix: you may need to try the new multi-domain code.

Yes, adding the domain=lab.foobar.com and changing the last section of
dhcp-host's to remove the unwanted extra subdomain .4-0index. fixes
the error.  Thanks for your help!

-- 
Jason Dixon
OmniTI Computer Consulting, Inc.
jdi...@omniti.com
443.325.1357 x.241 



Re: My Emailiases: [Dnsmasq-discuss] multiple domain support - question

2008-08-04 Thread Simon Kelley

L Forrister wrote:

Simon Kelley (si...@thekelleys.org.uk) (Emailias: REPLY-MASKED) wrote:


Original Sender:  dnsmasq-discuss-boun...@lists.thekelleys.org.uk
Given To:  lists.thekelleys.org.uk: Dnsmasq-discuss Info Page
http://www.emailias.com/mailclick/?id=243457
end emailias header

I have support for multiple domains working, but I've come across a wrinkle.

Consider the case that two different DHCP clients claim the same name.
With the existing code, only one can have it and the current behaviour
is that when a second machine  claims a name, the first one loses it.

Now, consider the possibility that the two machines claiming the same
name are in different domains. By default, the existing behaviour must
continue, because the unqualified name is added to the DNS, so that even
though the two clients could have name.domain1.com and
name.domain2.com, they are still fighting over just plain name.

It would be possible to introduce a new mode, which didn't put the
unqualified name into the DNS, and allowed both hosts to keep their name
as long as they are in different domains. Would that be useful, or just
an confusing complication?


 



I don't see anything confusing about it.  What good is multiple domain
support if you're forced to maintain unique host names across all domains.


I've never quite understood why dnsmasq can't allow the duplicate names
in the first place.  Why must it be so.  Consider a client machine with 
two interfaces.  Both dhcp.  They'll both get leases.  Both ip's will be 
active.  But the dns will only return one (name and ip) depending on 
which was most recently renewed.  But its not just the dns, because when 
you check the leases file there's only one lease listed.




The reason is simply that there's no way to differentiate the plain 
unqualified versions of the name, without the domain part. To make the 
multiple names work would mean suppressing unqualified names. For most 
people, having them is more usefull that having multiple domains.


Cheers,

Simon.




Re: My Emailiases: Re: My Emailiases: [Dnsmasq-discuss] multiple domain support - question

2008-08-04 Thread L Forrister

Simon Kelley (si...@thekelleys.org.uk) (Emailias: REPLY-MASKED) wrote:

Original Sender:  si...@thekelleys.org.uk
Given To:  lists.thekelleys.org.uk: Dnsmasq-discuss Info Page
http://www.emailias.com/mailclick/?id=243457
end emailias header

L Forrister wrote:

Simon Kelley (si...@thekelleys.org.uk) (Emailias: REPLY-MASKED) wrote:


Original Sender:  dnsmasq-discuss-boun...@lists.thekelleys.org.uk
Given To:  lists.thekelleys.org.uk: Dnsmasq-discuss Info Page
http://www.emailias.com/mailclick/?id=243457
end emailias header

I have support for multiple domains working, but I've come across a 
wrinkle.


Consider the case that two different DHCP clients claim the same name.
With the existing code, only one can have it and the current behaviour
is that when a second machine  claims a name, the first one loses it.

Now, consider the possibility that the two machines claiming the same
name are in different domains. By default, the existing behaviour must
continue, because the unqualified name is added to the DNS, so that 
even

though the two clients could have name.domain1.com and
name.domain2.com, they are still fighting over just plain name.

It would be possible to introduce a new mode, which didn't put the
unqualified name into the DNS, and allowed both hosts to keep their 
name

as long as they are in different domains. Would that be useful, or just
an confusing complication?


 



I don't see anything confusing about it.  What good is multiple domain
support if you're forced to maintain unique host names across all 
domains.



I've never quite understood why dnsmasq can't allow the duplicate names
in the first place.  Why must it be so.  Consider a client machine 
with two interfaces.  Both dhcp.  They'll both get leases.  Both ip's 
will be active.  But the dns will only return one (name and ip) 
depending on which was most recently renewed.  But its not just the 
dns, because when you check the leases file there's only one lease 
listed.




The reason is simply that there's no way to differentiate the plain 
unqualified versions of the name, without the domain part. To make the 
multiple names work would mean suppressing unqualified names. For most 
people, having them is more usefull that having multiple domains.


Cheers,

Simon.


As far the leases file is concerned, doesn't the mac address (and/or the
client id) provide that differentiation?   I mean, having the same
unqualified host name on two separate leases would not cause identical
lines/records in the lease file.

The dns code, seems not to have a problem with multihomed hosts in
either /etc/hosts or /etc/dnsmasq.hosts (my dnsmasq addn-hosts file.)

oso:~
lf$ dig +short -x 192.168.160.67 -x 192.168.160.68 -x 192.168.160.69
alkix.rebel.lan.
alkix.rebel.lan.
alkix.rebel.lan.

oso:~
lf$ dig +short alkix.rebel.lan
192.168.160.67
192.168.160.68
192.168.160.69

~~L.Forrister