This page explains how to troubleshoot Kerberos problems.
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
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:
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:
- Your entire krb5.conf
- The output of all the commands in steps 1, 3, and 4.
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 184.108.40.206 -p udp -m udp --sport 88 --dport 1024:65535 -j ACCEPT
[0:0] -A OUTPUT -d 220.127.116.11 -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).
In theory you would use tracert instead of traceroute, except that the Windows tracert doesn't use UDP packets, so it is not helpful for troubleshooting purposes. Sorry, you'll need to find a "real" traceroute. Consult the OpenAFS and Windows instructions page of our Member Manual for further details that may prove helpful.