Unix

Step 1: turn off your firewall

Make sure any and all firewalls are disabled.

Make sure you can send UDP packets to HCOOP by typing

traceroute kerberos2.hcoop.net

The last line of output should say "kerberos2.hcoop.net" or "fritz.hcoop.net" and have NO ASTERISKS. If this is not the case, fix your firewall or your network.

Step 2: check your krb5.conf

Examine your /etc/krb5.conf (or, on MacOS, your /Library/Preferences/edu.mit.Kerberos and ~/Library/Preferences/edu.mit.Kerberos files if they exist (on 10.4, at least, this is /System/Library/Frameworks/Kerberos.framework/Resources/edu.mit.Kerberos, and the default configuration will not work)).

Make sure that dns_lookup_kdc or dns_lookup_realm options are NOT DISABLED. They should be on-by-default, but just in case your linux distribution packager decided to be retarded and changed that, try adding

[libdefaults]
  dns_lookup_kdc   = true
  dns_lookup_realm = true

Step 3: make sure your DNS is working

Install the dig program and type

dig -t SRV _kerberos._udp.hcoop.net

You should see kerberosN.hcoop.net in the output (where N is variable).

If you don't see this record, one or more of the DNS servers that you're querying is probably blocking SRV requests. Figure out which name servers you're using by reading the file /etc/resolv.conf (cat /etc/resolv.conf) on your linux host. Query these particular name servers for the record in order to see where modifications might be necessary. You can do this by adding @nameserver.example.com to the end of the command, e.g. dig -t SRV _kerberos._udp.hcoop.net @nameserver.example.com.

You will likely find that one or more name servers you are using does not return a SRV record. If the offending name server is one that you administer, there may be an easy fix. For example, DNSMASQ (no relationship to djbdns) has an option filterwin2k that causes it to drop these records for added security. Some network device vendors (used by OpenWrt and lots of other distros) unfortunately ship their product with this option enabled, so you will need to comment it out (see page https://dev.openwrt.org/ticket/557 for more info). Restart the device or name resolution process on the offending device for the changes to take effect. If the offending name servers that refuse to pass SRV records through aren't your own, you may have to contact the ISP that runs them, or switch to other names servers that are properly configured.

Step 4: make sure your tickets are "forwardable"

Run this command:

klist -f

if you don't see the letter "F" after "Flags:", your tickets are not forwardable. Try kinit again with the -f flag, or adjust your krb5.conf.

Step 5: post to hcoop-help

Post to hcoop-help; make sure to include:

  1. Your entire krb5.conf
  2. The output of all the commands in steps 1, 3, and 4.
  3. The output of "date" on mire.hcoop.net at the time that you performed steps 1 and 3.

The last part is important -- we need to correlate your attempts with the error logs on deleuze, and the only way to do that is by date/time. To avoid confusion caused by time zone or clock skew, we ask that you include the time of day as reported on mire, because we know its clock is synced with deleuze's.

Client side firewall Setting

If you are using a firewall you might want to open it for UDP packets to and from at least one of our KDCs (say, kerberos2.hcoop.net) on port 88. Lines for iptables saved rules might look like the following:

 [0:0] -A INPUT -s 69.90.123.75 -p udp -m udp --sport 88 --dport 1024:65535 -j ACCEPT

 [0:0] -A OUTPUT -d 69.90.123.75 -p udp -m udp --dport 88 --sport 1024:65535 -j ACCEPT

Put them before any rules that conflicts them (and before 'COMMIT' line in the saved rules file).