Êíèãà: 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.
- Using Network Configuration Tools
- 9.9.1 Configuration Mode
- IP Configuration Options
- Remote Command-Line Interface (RCLI)
- 5.4.3 Host Configuration
- QLineEdit
- Chapter 15. Graphical User Interfaces for Iptables
- Appendix A. Detailed explanations of special commands
- Basics of the iptables command
- Commands
- Configuration options
- Creating CDs from the Command Line