MIT KDC only listening on lo
Fredrik Tolf
fredrik at dolda2000.com
Wed Sep 22 20:31:37 EDT 2004
On Wed, 2004-09-22 at 20:12 -0400, Ken Raeburn wrote:
> On Sep 22, 2004, at 19:58, Fredrik Tolf wrote:
> >> Shouldn't be hard. I think you need to dig up the code in the krb5
> >> library (or include directory, or a copy in the KDC code? I forget
> >> where 1.3 had it) that looks for IFF_LOOPBACK and disable it.
> >
> > It would be much better if it would listen to 0.0.0.0, since if I leave
> > the network and then come back, I'm not always certain to be given the
> > same IP address by the DHCP server. If I would get a new one, I'd have
>
> Taking out the IFF_LOOPBACK check just means it should start listening
> on 127.0.0.1, and you could stick "localhost" into your config file.
> If you're using a DHCP-assigned address, you need to update your config
> file to point to the new local name, unless your software is tweaking
> /etc/hosts to map some fixed name to your current address, or you get
> dynamic DNS updates or something.
Precisely - I have DDNS.
> >> Listening on 0.0.0.0 for UDP traffic may not work for hosts with
> >> multiple addresses, since the client code may be checking that it got
> >> its response back from the same address to which it sent the query.
> >
> > I'm sorry, but I'm not seeing the problem. When the reply is sent back,
> > surely the kernel fills in the interface address in the source field of
> > the IP header? Or am I missing something here?
>
> Yes, it does. However, that interface is chosen by the destination
> address, generally, and not by the address the client used to contact
> you. If the client used address #1 because it was first in the list,
> and the packet came in on interface #1, but based on the client's
> address, the KDC host believes that the faster route to it is through
> interface #2, then the address for interface #2 will be used if you
> don't force it to do otherwise. A similar issue comes up if one
> interface has multiple addresses.
Of course... I was thinking that clients would always send their
requests to the nearest interface, but I realize now that that naturally
isn't always the case.
> > I see... that would be a problem, I guess. I was under the impression
> > that tickets still include the host address by default (isn't that the
> > reason for the "Proxiable" flag?). Is that not true?
>
> I think we changed the defaults in 1.3; if not, it's changed in 1.4.
> Running "klist -a" would tell you if your tickets have addresses.
Indeed you are right - no addresses in there.
Fredrik Tolf
More information about the Kerberos
mailing list