Êíèãà: Fedora™ Unleashed, 2008 edition

Command-Line Network Interface Configuration

Command-Line Network Interface Configuration

You can configure a network interface from the command line, using the basic Linux networking utilities. You configure your network client hosts with the command line by using commands to change your current settings or by editing a number of system files. Two commands, ifconfig and route, are used for network configuration. The netstat command displays information about the network connections.

/sbin/ifconfig

ifconfig is used to configure your network interface. You can use it to

? Activate or deactivate your NIC or change your NIC's mode.

? Change your machine's IP address, netmask, or broadcast address.

? Create an IP alias to allow more than one IP address on your NIC.

? Set a destination address for a point-to-point connection.

You can change as many or as few of these options as you'd like with a single command. The basic structure for the command is as follows:

# ifconfig [network device] options

Table 14.1 shows a subset of ifconfig options and examples of their uses.

TABLE 14.1 ifconfig Options

Use Option Example
Create alias [network device] ifconfig eth0:0_:[number]
Change IP address 10.10.10.10 ifconfig eth0 10.10.10.12
Change the netmask netmask [netmask] ifconfig eth0 netmask 255.255.255.0
Change the broadcast broadcast [address] ifconfig eth0 broadcast 10.10.10.255
Take interface down down ifconfig eth0 down
Bring interface up up (add IP address) ifconfig eth0 up (ifconfig eth0 10.10.10.10)
Set NIC promiscuous [-]promisc [ifconfig eth0 -promisc] ifconfig eth0 promisc mode on [off]
Set multicasting mode [-]allmulti ifconfig eth0_on [off] allmulti [ifconfig eth0 - allmulti]
Enable [disable] [address] [-]pointopoint eth0_pointopoint ifconfig_point-to-point address 10.10.10.20 [ifconfig eth0 pointopoint_10.10.10.20]

The ifconfig man page shows other options that enable your machine to interface with a number of network types such as AppleTalk, Novell, IPv6, and others. Again, read the man page for details on these network types.

NOTE

Promiscuous mode causes the NIC to receive all packets on the network. It is often used to sniff a network. Multicasting mode enables the NIC to receive all multicast traffic on the network.

If no argument is given, ifconfig displays the status of active interfaces. For example, the output of ifconfig, without arguments and one active and configured NIC, looks similar to this:

ifconfig
eth0 Link encap:Ethernet HWaddr 00:30:1B:0B:07:0D
     inet addr:192.168.0.7 Bcast:192.168.0.255 Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:127948 errors:0 dropped:0 overruns:0 frame:0
     TX packets:172675 errors:0 dropped:0 overruns:0 carrier:0
     collisions:7874 txqueuelen:100
     RX bytes:19098389 (14.2 Mb) TX bytes:73768657 (70.3 Mb)
     Interrupt:11 Base address:0x2000
lo   Link encap:Local Loopback
     inet addr:127.0.0.1 Mask:255.0.0.0
     UP LOOPBACK RUNNING MTU:16436 Metric:1
     RX packets:215214 errors:0 dropped:0 overruns:0 frame:0
     TX packets:215214 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0
     RX bytes:68739080 (65.5 Mb) TX bytes:68739080 (65.5 Mb)

The output is easily understood. The inet entry displays the IP address for the interface. UP signifies that the interface is ready for use, BROADCAST denotes that the interface is connected to a network that supports broadcast messaging (ethernet), RUNNING means that the interface is operating, and LOOPBACK shows which device (lo) is the loopback address. The maximum transmission unit (MTU) on eth0 is 1500 bytes. This determines the size of the largest packet that can be transmitted over this interface (and is sometimes "tuned" to other values for performance enhancement). Metric is a number from 0 to 3 that describes how much information from the interface is placed in the routing table. The lower the number, the smaller the amount of information.

The ifconfig command can be used to display information about or control a specific interface using commands as listed in Table 14.1. For example, to deactivate the first ethernet device on a host, use the ifconfig command, the interface name, and the command down, as follows:

ifconfig eth0 down

You can also configure and activate the device by specifying a hostname or IP address and network information. For example, to configure and activate ("bring up") the eth0 inter face with a specific IP address, use the ifconfig command like this:

ifconfig eth0 192.168.0.9 netmask 255.255.255.0 up

If you have a host defined in your system's /etc/hosts file (see the section "Network Configuration Files" later in this chapter), you can configure and activate the interface according to the defined hostname, like this:

# ifconfig eth0 dogdog.hudson.com up

Read the next section to see how to configure your system to work with your LAN.

/sbin/route

The second command used to configure your network is the route command. It is used to build the routing tables (in memory) implemented for routing packets as well as displaying the routing information. It is used after ifconfig has initialized the interface. The route command is normally used to set up static routes to other networks via the gateway or to other hosts. The command configuration is like this:

# route [options] [commands] [parameters]

To display the routing table, use the route command with no options. The display will look similar to this:

route
Kernel IP routing table
Destination   Gateway       Genmask         Flags Metric Ref Use Iface
149.112.50.64 *             255.255.255.192 U     0      0   0   eth0
208.59.243.0  *             255.255.255.0   U     0      0   0   eth0
127.0.0.0     *             255.0.0.0       U     0      0   0   lo
default       149.112.50.65 0.0.0.0         UG    0      0   0   eth0

In the first column, Destination is the IP address (or, if the host is in /etc/hosts or /etc/networks, the hostname) of the receiving host. The default entry is the default gateway for this machine. The Gateway column lists the gateway through which the packets must go to reach their destination. An asterisk (*) means that packets go directly to the host. Genmask is the netmask. The Flags column can have several possible entries. In our example, U verifies that the route is enabled and G specifies that Destination requires the use of a gateway. The Metric column displays the distance to the Destination. Some daemons use this to figure the easiest route to the Destination. The Ref column is used by some UNIX flavors to convey the references to the route. It isn't used by Linux. The Use column indicates the number of times this entry has been looked up. Finally, the Iface column is the name of the interface for the corresponding entry.

Using the -n option to the route command gives the same information but substitutes IP addresses for any names and asterisks (*) and looks like this:

# route -n
Kernel IP routing table
Destination   Gateway       Genmask         Flags Metric Ref Use Iface
149.112.50.64 0.0.0.0       255.255.255.192 U     0      0   0   eth0
208.59.243.0  0.0.0.0       255.255.255.0   U     0      0   0   eth0
127.0.0.0     0.0.0.0       255.0.0.0       U     0      0   0   lo
0.0.0.0       149.112.50.65 0.0.0.0         UG    0      0   0   eth0

The route command can add to the table by using the add option. With the add option, you can specify a host (-host) or a network (-net) as the destination. If no option is used, the route command assumes that you are configuring the host issuing the command. The most common uses for the route command are to add the default gateway for a host, for a host that has lost its routing table, or if the gateway address has changed. For example, to add a gateway with a specific IP address, you could use the following:

route add default gw 149.112.50.65

Note that you could use a hostname rather than an IP address if desired. Another common use is to add the network to the routing table right after using the ifconfig command to configure the interface. Assuming that the 208.59.243.0 entry from the previous examples was missing, replace it using the following command:

route add -net 208.59.243.0 netmask 255.255.255.0 dev eth0

You also can use /sbin/route to configure a specific host for a direct (point-to-point) connection. For example, suppose that you have a home network of two computers. One of the computers has a modem through which it connects to your business network. You typically work at the other computer. You can use the route command to establish a connection through specific hosts by using the following command:

route add -host 198.135.62.25 gw 149.112.50.65

The preceding example makes the computer with the modem the gateway for the computer you are using. This type of command line is useful if you have a gateway or fire wall connected to the Internet. There are many additional uses for the route command, such as manipulating the default packet size. See the man page for those uses.

/bin/netstat

The netstat command is used to display the status of your network. It has several para meters that can display as much or as little information as you prefer. The services are listed by sockets (application-to-application connections between two computers). You can use netstat to display the information in Table 14.2.

TABLE 14.2 netstat Options

Option Output
-g Displays the multicast groups configured
-i Displays the interfaces configured by ifconfig
-s Lists a summary of activity for each protocol
-v Gives verbose output, listing both active and inactive sockets
-c Updates output every second (good for testing and troubleshooting)
-e Gives verbose output for active connections only
-C Displays information from the route cache and is good for looking at past connections

Several other options are available for this command, but they are used less often. As with the /sbin/route command, the man page can give you details about all options and para meters.

Îãëàâëåíèå êíèãè


Ãåíåðàöèÿ: 5.629. Çàïðîñîâ Ê ÁÄ/Cache: 3 / 0
ïîäåëèòüñÿ
Ââåðõ Âíèç