Networking
There are few modern computers that are not on the Internet now. With such an important feature, having a networking problem can feel like a crippling blow, particularly for those of us who spend extended periods of time staring at a Web browser. This section identifies some of the common problems with wired and wireless networking.
I Can't Access My LAN
First check that the cables for your network are plugged in correctly. On many hubs, a small light appears when a cable is plugged into one of the sockets. Many Ethernet cards also display a connection light too.
Next check if the card has been recognized by the system. To find out, fire up the Networking tool by clicking System-Administration > Networking, and you should see an icon displayed in the window that represents your network card. If there is no icon, your card has not been detected and loaded by Ubuntu.
In the Networking tool, double-check that your settings are correct. You can check if your network card is working and has an interface by opening a terminal with Applications > Accessories > Terminal and typing:
foo@bar:~$ ifconfig
You should see a number of blocks such as eth0 or ra0. One of these blocks should have a local IP address. The format of this address depends on which IP range is on your network. The range 192.168.0.n where n is a number between 1 and 254 is commonly used. If you see an IP address in your ifconfig output, try pinging the IP that you set as the gateway. If you did not set a gateway (typically when you obtain your IP address automatically with DHCP), your IP address is likely to be 192.168.0.1. Try to send packets to this IP:
foo@bar:~$ ping 192.168.0.1
Change the IP address if your IP range is different. If you get a number of lines with a time = attribute at the end, your network card works.
If you have set up your network card to automatically grab an IP address with DHCP, you can get a new address by running the following command:
foo@bar:~$ sudo dhclient
Nameserver Problems
A common problem that users often face is that the connection to your network is working, but the addresses for the nameservers are incorrect. A nameserver (also known as a DNS server) converts Web addresses (such as www.Ubuntu.com) into the numeric IP address that is used to access the site.
If you have a working connection but cannot access domains, it is certainly a nameserver problem. To test this, you will need to know an IP address. You may have been given some IP addresses for different services from your ISP. Alternatively, you can use another computer to find an IP address with which to test. Try pinging the address, and if you get pings back you know it's a nameserver problem. To resolve this, specify the correct nameservers in the DNS tab.
How Do I Use ssh (Secure SHell) for Transferring Files across a Network?
Secure shell is a protocol for connecting to remote computers in a safe way. To connect on the client side to a remote computer, click Locations > Connect to Server, and choose SSH as the service type. In the first field, enter the host name or IP address of the remote computer.
The folder field can be left blank but can be used to go straight into a folder when you open the connection in the file manager. For instance, the home folder of user joe is typically /home/joe. Other folders are still accessible by clicking the Up button on the toolbar. Enter the username of the user on the remote computer in the username field. If it's the same as the local username, just leave it blank. Both the folder field and the username field are case sensitive. Click Connect to proceed.
The first time you connect, a question appears that says the identity of the remote computer is yet unknown. This is normal. Click the Login Anyway button to proceed. If you are asked for a password, enter the password of the user on the remote computer. Click on Remember Password for This Session and Connect. If the password was wrong or it took too long to enter the password, it is asked again.
The connection appears on the desktop. If you chose not to remember the password for the session or in the keychain, you may be asked again. Now you can use the remote files the same way you use them locally. You can even copy files across different ssh connections and other network protocols such as FTP.
How Do I Use a Graphical Application Remotely with ssh (Secure SHell)?
To connect on the client side to the remote computer, first open a terminal. Click Applications > Utilities > Terminal Window. Now run this command:
foo@bar:~$ ssh -X user@host
where user is the user name on the remote computer, and host is the host name or IP address. If the user name is the same, leave out the user@ part. -X here signals ssh that you want to run graphical applications. Make sure you use capitals exactly as shown. Usernames are also case sensitive.
If it's the first time you are connecting, you will get a warning similar to the following:
The authenticity of host '251.152.123.101' (251.152.123.101)' can't be established. RSA key fingerprint is 01:12:23:34:45:56:67:78:89:9a:ab:bc:cd:de:ef:ff. Are you sure you want to continue connecting (yes/no)?
Type Yes, and press Enter. When asked for a password, enter the password of the user on the remote computer. Now you should have a shell on the remote computer, and it's possible to run commands remotely.
You can try, for example, Firefox to open up Mozilla Firefox, or Gaim to have a chat with yourself.
My Wireless Card Is Not Working
One of the greatest new features for laptop users in Ubuntu is network-manager. With this shiny new application it is finally easy to connect your Ubuntu system to any wireless network. Where previously you had to jump through hoops to do WPA or 802.1x authentication, network manager makes this completely transparent.
Simply click on the Network-Manager icon to see all available wireless networks, and click on the network to connect to it. If wireless authentication is needed, be it WEP, WPA, or 802.1x, a network-manager dialog will pop up asking for your authentication details.
Of course, these improvements are not limited to laptop or even desktop users. Even for machines without a GUI, networking has been made easy by the Debian and Ubuntu developers who integrated WPA authentication into the standard network configuration system.
If network manager does not solve the problem, the first step should be to see which driver your wireless card needs. Do a search for your card on Google and in the Ubuntu Forums to find out which driver you need. Many of the drivers are already included in Ubuntu, but some newer drivers may not be present.
Next, you need to find out if the driver is loaded. As an example, if you have an Intel Centrino and it uses the ipw2200 driver, run this command
foo@bar:~$ sudo lsmod | grep ipw2200
Replace ipw2200 with the relevant driver for your card. If you get some lines returned, the driver is loaded and working. If nothing is returned, your card is either not supported or the driver is not included in Ubuntu. You should refer to the Ubuntu Forums for further support.
With the card identified, you now need to get connected. The easiest way to do this is to select System > Administration > Networking. Inside this tool you should see an icon for your wireless card. Select it and click the Properties button. Now add the name of the wireless network and a password if applicable. If you are using a normal password such as s3cr3tpass, select Plain (ASCII) from the Key type box. If you are entering the long numeric password—use the Hexedecimal option.
If you are automatically assigned an IP address, use the Configuration box to select DHCP. Otherwise, select Static IP Address, and enter the details of your network in the boxes.
For more information, see https://wiki.Ubuntu.com/HardwareSupportComponentsWirelessNetworkCards.
I Need to Use WPA or I Use WPA-PSK on My Wireless Access Point
To use WPA, you need a supported card. Such cards are listed on the WPA Supplicant Web site at http://hostap.epitest.fi/wpa_supplicant/. Common drivers that support WPA include ipw2200, ipw2100, and madwifi.
To use WPA (Wi-Fi Protected Access) with wireless cards in Ubuntu, the wpasupplicant package must be installed. After installing it, edit /etc/wpa_ supplicant.conf. Networks are configured by adding network blocks to the configuration file. Each network block can also be assigned a priority so if both networks are seen, the higher priority network is chosen. Examples for common network configurations can be found in /usr/share/doc/ wpasupplicant/examples/wpa_supplicant.conf.gz.
Some configurations require certificates that should be available from the network administrator. WPA Supplicant can also configure your wireless card to use unencrypted networks, as noted in the example file. After writing the file, edit /etc/default/wpasupplicant and change the ENABLED, DRIVER, and INTERFACE options. The DRIVER option should match the type of wireless device being used. Available drivers can be viewed by typing:
foo@bar:~$ wpa_supplicant –help
To start the Supplicant run:
foo@bar:~$ /etc/init.d/wpasupplicant start
Lastly, wpasupplicant should be added to STOP_SERVICES in /etc/default/acpi-support to ensure it functions properly after a system suspend or hibernation.
To check if the connection is working, run:
foo@bar:~$ sudo wpa_cli
This command gives information on the current connection along with scrolling logs to indicate the current status. By default wpa_cli must be run as root. Status will show what network the wireless card is currently connected to and parameters about the link. Scan causes the supplicant to look for a new access point while scan_results will display what access points are locally accessible to the machine. As soon as the supplicant authenticates, ifplugd should start the interface with ifup, and networking will be available shortly. If it seems that the supplicant is not working it may be that a different driver must be selected in the /etc/defaults/wpasupplicant configuration file. Also, some cards cannot operate in a mixed TKIP/CCMP (types of encryption) mode. If it appears the PTK listed in the log from wpa_cli is CCMP but that the GTK is TKIP, setting the pairwise and group entries of a network configuration block to TKIP may fix the issue.