[ Previous | Next | Contents | Glossary | Home | Search ]
AIX Version 4.3 Problem Solving Guide and Reference

Resolve Network Software Problems

Determine if your software is the source of your network problems by:

Resolving the Host Name into an IP Address

  1. Find out if you are using the /etc/resolv.conf file to resolve host names.

    If other machines on your network have /etc/resolv.conf files and yours does not, you probably should have a /etc/resolv.conf file.

    For more information about using the /etc/resolv.conf file to resolve host names, refer to "Understanding Domain Name Resolution" in AIX Communications Programming Concepts.

  2. Find out if you are using an NIS server to resolve host names. For example:
    ps -ef | grep yp

    Look for the ypserv and ypbind processes. If found, you are probably using a network information server (NIS) server to resolve host names.

    You can also enter the ypwhich command to display the name of the NIS server for the local machine:

    ypwhich

    If you get the message the domainname has not been set on this machine , then you are probably not using NIS to resolve host names.

  3. Find out if you are using the /etc/hosts file to resolve host names. For example:
    ls /etc/hosts

    If you can find the /etc/hosts file, you are using it to resolve host names. Check your /etc/hosts file to see if the host name is listed and not commented out.

Finding Your /etc/resolv.conf File

  1. If you know you are using a /etc/resolv.conf file to resolve host names, make sure the file exists. For example:
    ls /etc/resolv.conf
  2. If your /etc/resolv.conf is missing and you attempt to connect to a host, you get the following message:
    telnet: Unknown host SystemName
  3. If your /etc/resolv.conf is missing and you attempt to send an echo request with the ping command, you get the following message:
    ping: HostName SystemName NOT FOUND

    The ping command sends an echo request to a network host. If the host is operational and on the network, it responds to the echo. By default, the ping command will continue to send echo requests to the display until you send an interrupt (Ctrl-C).

Correcting Your /etc/resolv.conf File

If you know you are using a /etc/resolv.conf file to resolve host names and the /etc/resolv.conf file exists, make sure it contains the correct host name and IP address.

If you have a bad /etc/resolv.conf file, your ping command hangs indefinitely when you send an echo request with the ping command.

Note: The /etc/resolv.conf file contains the IP address, or addresses, of the nameserver(s) you can use and your domain name. Your system administrator should be able to provide you with the correct domain and IP addresses.

Finding a Missing Interface

If you know you can resolve the host name to an address and issue the telnet command to another machine, you get the following message if the interface is down or missing:

telnet: connect: Network is down
  1. Check that all interfaces are up and none are missing by using the netstat command. For example:
    netstat -i

    The netstat command displays the status of interfaces on the network.

    The interfaces marked with an asterisk (*) are down. Look for some kind of network interface such as en0 for Ethernet.

  2. If the interface is not up, missing, or detached, bring it up, recreate it, or attach it, respectively, by using the ifconfig command. For example, if the Ethernet en0 is not up, enter:
    ifconfig en0 inet 129.35.147.121 up

    If the Ethernet en0 is missing, enter:

    ifconfig en0 129.35.147.121 netmask 255.255.255.0 up

    The ifconfig command configures network interface parameters.

Enabling the inetd Daemon

If naming works and the interface is up and configured but you get the following message, do the procedures following the example message:

Trying...
telnet: connect: Connection refused.
  1. Determine if the inetd daemon is up. For example:
    telnet SystemName echo

    If it echoes back, the inetd daemon is up; if it does not echo back, then you must start the inetd daemon.

  2. Start the inetd daemon:
  3. If you have issued the telnet command and cannot make a connection, make sure the inetd daemon has the telnet service enabled by viewing the inetd.conf file and looking for the telnet service:
    1. Make sure the telnet service exists in the file.
    2. Make sure the line describing the telnet service is not commented out.
    3. Make sure the path to the telnet service is correct.
  4. If you make edits to the inetd.conf file, refresh the file:

Debugging the inetd Daemon

If the inetd daemon is up and running correctly and the appropriate service seems to be correct but you still cannot connect, try running the inetd daemon processes through a debugger.

  1. Stop the inetd daemon temporarily:
    stopsrc -s inetd

    The stopsrc command stops subsystems like the inetd daemon.

  2. Edit the syslog.conf file to add a debugging line at the bottom. For example:
    vi /etc/syslog.conf
    1. Add the line "*.debug /tmp/myfile " at the bottom of the file and exit.
    2. The file that you specify must exist (/tmp/myfile in this example). You can use the touch command to make your file exists.
  3. Refresh the file:
  4. Start the inetd daemon backup with debugging enabled:
    startsrc -s inetd -a "-d"
    The -d flag enables debugging.
  5. Try to make a connection to log errors in the /tmp/myfile debugging file. For example:
    tn bastet
    Trying...
    connected to bastet
    login:>
    Connection closed
  6. See if anything shows up as a problem in the debugging file. For example:
    tail -f /tmp/myfile

Debugging the telnetd Daemon

If the inetd daemon could execute the telnet service but you still cannot connect using the telnet command, there may be something wrong with the telnet interface.

  1. Verify that telnet is using the correct terminal type.
    1. Check the $TERM variable on your machine:
      echo $TERM
    2. Log in to the machine to which you are trying to attach and check the $TERM variable:
      echo $TERM
  2. Use the telnet interface's debugging capabilities by entering the telnet command without flags.
    telnet
    tn>
    1. Enter open host where host is the name of the machine.
    2. Enter Ctrl-T to get to the tn> prompt.
    3. At the tn> prompt, enter debug for debugging mode.
  3. Try to connect to another machine using the telnet interface:
    telnet bastet
    Trying...
    Connected to bastet
    Escape character is '^T'.
    Watch the display as the various commands scroll up the screen. For example:
    SENT do ECHO
    SENT do SUPPRESS GO AHEAD
    SENT will TERMINAL TYPE (reply)
    SENT do SUPPORT SAK
    SENT will SUPPORT SAK (reply)
    RCVD do TERMINAL TYPE (don't reply)
    RCVD will ECHO (don't reply)
    RCVD will SUPPRESS GO AHEAD (don't reply)
    RCVD wont SUPPORT SAK (reply)
    SENT dont SUPPORT SAK (reply)
    RCVD do SUPPORT SAK (don't reply)
    SENT suboption TELOPT_NAWS Width 80, Height 25
    RCVD suboption TELOPT_TTYPE SEND
    RCVD suboption TELOPT_TTYPE aixterm
    ...
  4. Check /etc/termcap or /usr/lib/terminfo for the aixterm definition. For example:
    ls -a /usr/lib/terminfo
  5. If the aixterm definition is missing, add it by building the ibm.ti file. For example:
    tic ibm.ti
    The tic command is a terminal information compiler.

Go back to Network Problems.


[ Previous | Next | Contents | Glossary | Home | Search ]