1. Trang chủ
  2. » Công Nghệ Thông Tin

Managing Network Connections

24 294 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Managing network connections
Trường học University of Information Technology
Chuyên ngành Computer Science
Thể loại Essay
Năm xuất bản 2007
Thành phố Ho Chi Minh City
Định dạng
Số trang 24
Dung lượng 276,77 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Managing Network ConnectionsConnecting to a network from Linux is often aseasy as attaching your computer’s network inter-face card to your ISP’s hardware such as a DSL or cable modem an

Trang 1

Managing Network Connections

Connecting to a network from Linux is often aseasy as attaching your computer’s network inter-face card to your ISP’s hardware (such as a DSL

or cable modem) and rebooting However, if yournetwork interface doesn’t come up or requiressome manual setup, there are many commandsavailable for configuring network interfaces,checking network connections, and setting upspecial routing

This chapter covers many useful commands forconfiguring and working with your networkinterface cards (NICs), such as ethtool, mii-tool, and ifconfig More specifically, it coversways of configuring wired Ethernet, wirelessEthernet, and modem network hardware Withyour hardware connected and network interfaces

in place, the chapter describes commands such asnetstat, dig, ip, and pingfor getting informa-tion about your network

Configuring Networks from the GUI

When you first install Ubuntu, the installer letsyou configure any wired Ethernet cards attached

to your computer, with the use of a DHCP serverdetected on your network Alternatively, you canset a static IP address, along with your hostnameand IP addresses for your gateway machine andname servers After installation, there are alsographical tools for configuring your networkinterfaces

IN THIS CHAPTER

Using ethtool and tool to work with net-work interface cardsGetting network statistics with netstatStarting networkdevices with service,chkconfig, ifup, andifdown

mii-Viewing Ethernet information with ifconfig and ipManaging wirelesscards with iwconfigConfiguring modemswith wvdialconf, stty,and minicom

Checking DNS nameresolution with dig,host, and hostnameChecking connectivitywith ping and arpTracing connectionswith traceroute, route,and ip

Watching the networkwith netstat, tcpdump,and nmap

Trang 2

The Network Configuration window (select System➪ Administration ➪ Network fromthe GNOME desktop) offers a GUI for configuring your network interface, networkhardware, DNS servers, host list, and even IPsec virtual private networks You can con-figure both dynamic (DHCP, bootp) and static IP addresses You can even set up staticnetwork routes.

In some cases, however, your network interfaces may not be working Likewise, theremay be ways you want to work with your network interfaces that are not supportedfrom the GUI For those cases, the following sections describe how to work with yournetwork interfaces from the command line

Managing Network Interface Cards

If the network hardware on your computer didn’t immediately come up and let youconnect to the Internet, there are some steps you should go through to troubleshootthe problem:

❑ Verify that your network interface card (NIC) is properly installed and that thecable is connected to your network (ISP’s CPE, switch, and so on)

❑ After the cable is connected, make sure you have a link with no speed or duplexmismatches

❑ If all else fails, consider replacing your NIC with known-good spare to isolate ahardware failure

To check your link from Linux, and to set speed and duplex, there are two commandsyou can use: the older mii-tool(net-tools package) and the newer ethtool(ethtoolpackage) Use ethtoolunless you have a very old NIC and NIC driver that is not com-patible with the ethtoolcommand

To view the syntax of the ethtool command, type the following:

$ ethtool -h | less View options to the ethtool command

The ethtoolcommand outputs its built-in help to stderr To be able to page throughthat help with less, we redirect stderr to stdout

To display settings for a specific Ethernet card, add the interface name to the command Forexample, to view card information for eth0, type:

$ sudo ethtool eth0 See settings for NIC at eth0

Settings for eth0:

Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full Supports auto-negotiation: Yes

Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Trang 3

Advertised auto-negotiation: Yes Speed: 100Mb/s

Duplex: Full Port: MII PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: g

Current message level: 0x00000007 (7) Link detected: yes

You will need root permissions to acquire information about the Ethernet interface,hence the use of the sudocommand in the previous example

To find out about the driver being used for a particular network card, use the -ioption:

$ sudo ethtool -i eth0 Display driver information for NIC

driver: e1000

version: 7.3.15-k2-NAPI

firmware-version: 0.5-7

bus-info: 0000:04:00.0

Use the -Soption to display detailed statistics for a NIC:

$ sudo ethtool -S eth0 Show statistics for NIC at eth0

NIC statistics:

rx_packets: 1326384 tx_packets: 773046 rx_bytes: 1109944723 tx_bytes: 432773480 rx_errors: 5 tx_errors: 2 rx_dropped: 0 tx_dropped: 0 multicast: 0 collisions: 0 rx_length_errors: 0 rx_over_errors: 0 rx_crc_errors: 5 rx_frame_errors: 0 rx_fifo_errors: 0 rx_missed_errors: 0 tx_aborted_errors: 0 tx_carrier_errors: 2

The ethtoolcommand can be used to change NIC settings as well as display them Toturn off auto-negotiation and hard-set the NIC to 100 Mpbs, full duplex, type this:

$ sudo ethtool -s eth0 speed 100 duplex full autoneg off Change NIC settings

Trang 4

To turn off auto-negotiation and hard-set the speed to 10 Mpbs, half-duplex, type this:

$ sudo ethtool -s eth0 speed 10 duplex half autoneg off Change NIC settings

The changes just made to your NIC settings are good for the current session Whenyou reboot, however, those setting will be lost To make these settings stick at the next reboot

or network restart, you need to create a new script to get executed at boot time The lowing steps describe how to do this

fol-1. Choose a name for your new script, such as eth_options, and then create thescript in the /etc/init.ddirectory:

echo -n “Setting $DEV options to $ETHTOOL_OPTS ”;

$ETHTOOL -s $DEV $ETHTOOL_OPTS;

ETHTOOL_OPTS=”speed 10 duplex half autoneg off”

You can also change the DEVvariable, which points to the first Ethernet

interface, eth0

4. Next, you need to set up the script as an executable file:

$ sudo chmod +x /etc/init.d/eth_options

5. Then, set up the symbolic links to run your new script under the different run levels:

$ sudo update-rc.d eth_options defaults

Adding system startup for /etc/init.d/eth_options

Trang 5

You can run your script with the following command:

$ sudo /etc/init.d/eth_options start

NOTE You can find tips similar to this at the nixCraft site, www.cyberciti.biz/tips/.

As mentioned earlier, ethtoolmay not work on some older NICs So if you have an olderNIC, try using mii-toolas follows:

$ sudo mii-tool Show negotiated speed and link status of old NIC

eth0: negotiated 100baseTx-FD flow-control, link ok

This example was taken from the same machine as the examples above, with the NICauto-negotiating at 1000 Mbps, full-duplex The mii-toolcommand is mis-readingthe speed setting This is why we recommend using mii-toolonly as a last resort ifethtooldoesn’t work with your old NIC

To display mii-tool output with more verbosity, use the -voption:

$ sudo mii-tool -v Show verbose output of settings for old NIC

eth0: negotiated 100baseTx-FD flow-control, link ok

product info: vendor 00:50:43, model 12 rev 2 basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

In the example just shown, you can see that each mode (100baseTx and 10baseT)supports both half-duplex (HD) and full duplex (FD) To disable auto-negotiation andforce a particular setting, use the -Foption as follows:

$ sudo mii-tool -F 10baseT-FD eth0 Force speed/duplex to 10baseT-FD

If you change your mind and later want to re-enable auto-negotiation, use the -roption:

$ sudo mii-tool -r eth0 Re-enable auto-negotiation for an old NIC

restarting autonegotiation

mii-tooldoes not provide a capability to save settings like ethtooldoes, so you have

to run it after every reboot This can be done by adding it at the end of /etc/rc.local.The netstatcommand provides another way to get network interface statistics:

$ netstat -i Get network interface statistics for eth0

Kernel Interface table

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 1757208 6 0 0 996834 4 0 0 BMRU

Trang 6

Use the -coption to get netstatto refresh network interface statistics every second:

$ netstat -ic Refresh network statistics every second

You can get cleaner (screen-oriented) refreshed output from netstatby combining it with thewatchcommand as follows:

$ watch netstat -i Refresh network statistics (screen oriented)

Every 2.0s: netstat -i Wed Aug 22 01:55:48 2007

Kernel Interface table

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 1757208 6 0 0 996834 4 0 0 BMRU

As the output indicates, the netstatstatistics are updated every 2.0 seconds

Managing Network Connections

Starting and stopping the network interfaces for your wired Ethernet connections toyour LAN or the Internet is usually handled automatically at the time you boot andshut down your Ubuntu system However, you can use the commands in /etc/init.d

to start and stop your network interfaces any time you want or update-rc.dto ure whether your network starts automatically

config-The ifconfigand ipcommands can also be used to configure, activate, and vate interfaces However, on Ubuntu and other Debian derivatives, the commands inthe /etc/init.ddirectory provide simpler tools to start and stop network interfaces.Therefore, in most cases, you should only use ifconfigand ipcommands to gatherinformation about your Ethernet interfaces and NICs (as shown later in this section).Starting and Stopping Ethernet ConnectionsThe reason that your wired Ethernet interfaces just come up in many cases when youboot Ubuntu is that the networkservice is set to be on when the system enters the com-mon boot run levels (run levels 3 and 5) There is a set of underlying configuration filesand scripts that make that happen and a few simple commands that let you control it.For Ubuntu, control scripts and configuration files are located in the /etc/network/directory NICs are configured by editing /etc/network//interfaces The file lookslike the following:

Trang 7

iface wlan0 inet dhcp

To get more information on this file, type the following:

$ less /usr/share/doc/network-manager/README.Debian

If you change the interfaces file, you need to run the following command:

$ sudo /etc/dbus-1/event.d/25NetworkManager restart

The script that starts the configured network-scriptsfiles is /etc/init.d/network

As with other Linux services, you can start and stop the networkservice using the/etc/init.d/networkingcommand

To take all NICs offline then bring them back online, allowing any change to the network scripts

to take effect, type the following:

$ sudo /etc/init.d/networking restart Shutdown and bring up network interfaces

* Reconfiguring network interfaces

There is already a pid file /var/run/dhclient.eth0.pid with pid 9242

killed old client process, removed PID file

Internet Systems Consortium DHCP Client V3.0.4

Copyright 2004-2006 Internet Systems Consortium.

All rights reserved.

For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth0/00:19:d1:5a:a9:e2

Sending on LPF/eth0/00:19:d1:5a:a9:e2

Sending on Socket/fallback

DHCPRELEASE on eth0 to 192.168.1.1 port 67

There is already a pid file /var/run/dhclient.eth0.pid with pid 134993416

Internet Systems Consortium DHCP Client V3.0.4

Copyright 2004-2006 Internet Systems Consortium.

[ OK ]

You may see errors for extra interfaces defined but not available on your system, such

as wireless interfaces You can ignore any error that refers to a networking device youhave not installed

Trang 8

Use the startand stopoptions to start and stop your network interfaces, respectively:

$ sudo /etc/init.d/networking stop Shutdown network interfaces

$ sudo /etc/init.d/networking start Bring up network interfaces

To check the status of your network interfaces, type the following:

$ ifconfig Check network interface status

eth0 Link encap:Ethernet HWaddr 00:19:D1:5A:A9:E2

inet addr:192.168.1.106 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::219:d1ff:fe5a:a9e2/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1

RX packets:14442 errors:0 dropped:0 overruns:0 frame:0

TX packets:13080 errors:0 dropped:0 overruns:0 carrier:0 collisions:434 txqueuelen:1000

RX bytes:3732823 (3.5 MiB) TX bytes:1142020 (1.0 MiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:35 errors:0 dropped:0 overruns:0 frame:0

TX packets:35 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0

RX bytes:2121 (2.0 KiB) TX bytes:2121 (2.0 KiB)

If you have multiple network interfaces, you may want to just bring one interface up ordown To do that, use the ifupand ifdowncommands:

$ sudo ifdown eth0 Take the eth0 network interface offline

$ sudo ifup eth0 Bring the eth0 network interface online

When your network interfaces are up, there are tools you can use to view informationabout those interfaces and associated NICs

Viewing Ethernet Connection Information

To view the media access control (MAC) address for your NIC and IP address for yourTCP/IP connections, you can use the ifconfigcommand The following commandline shows the address information and status of your eth0 Ethernet interface:

$ ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:D0:B7:79:A5:35

inet addr:10.0.0.155 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::2d0:b7ff:fe79:a535/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:1413382 errors:6 dropped:0 overruns:0 frame:6

TX packets:834839 errors:4 dropped:0 overruns:0 carrier:4 collisions:0 txqueuelen:1000

RX bytes:1141608691 (1.0 GiB) TX bytes:470961026 (449.1 MiB)

Trang 9

In this example, the eth0 interface is the first Ethernet interface on the computer.The MAC address (HWaddr) of the NIC is 00:D0:B7:79:A5:35 You can see eth0’s IPaddress (10.0.0.155), broadcast address (10.0.0.255), and subnet mask (255.255.255.0).Other information includes the number of packets received and transmitted, as well as problems (errors, dropped packets, and overruns) that occurred on the interface.

To get information on both active and inactive NICs, use the -aoption:

$ ifconfig -a

Instead of using ifconfig(and several other commands described in this chapter),you can use the newer ipcommand The ipcommand was made to show informa-tion about your network interfaces, as well as changing settings for network devices,routing, and IP tunnels Here the ipcommand is used to show information about the eth0interface:

$ ip addr show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:d0:b7:79:a5:35 brd ff:ff:ff:ff:ff:ff

inet 10.0.0.155/24 brd 10.0.0.255 scope global eth0 inet6 fe80::2d0:b7ff:fe79:a535/64 scope link valid_lft forever preferred_lft forever

The ipcommand allows for shorthand syntax If you’re familiar with the Cisco IOS command line interface, the ipcommand works the same way For example,instead of typing ip addr show, you could type the following to see information

on all interfaces:

$ ip a

The ipcommand can operate on multiple network components, known as objects

One of these objects is addr, which allows ipto configure network addresses We will cover other objects of the ipcommand below

To see how the ip command is used, use the helpoption Along with the helpoption, you can identify an ipobject to get information on using that object:

$ ip help View ip usage statement

Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }

ip [ -force ] [-batch filename where OBJECT := { link | addr | route | rule | neigh | ntable | tunnel|

maddr | mroute | monitor | xfrm } OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] |

-f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] | -t[imestamp] }

$ ip addr help View help for the addr object

$ ip route help View help for the route object

$ ip tunnel help View help for the tunnel object

Trang 10

Understanding subnetwork masks can be confusing if you’re not used to them Youmay find ipcalc(from the ipcalc package) useful to calculate a host computer’s netmaskfrom its CIDR IP address:

Hosts/Net: 30 Class C, Private Internet

In the example just shown, the netmask (which indicates which part of an IP addressrepresents the network and which represents the host) is 255.255.255.224 That wasderived from the /27 value at the end of the IP address 192.168.1.100

Using Wireless Connections

Setting up wireless connections in Linux has been tricky in the past, primarily due tothe fact that open source drivers have not been available for the vast majority of wire-less LAN cards on the market More recent releases of Ubuntu have shown a markedimprovement

Wireless configuration is an area where we would suggest you use the GUI tools (inparticular, the Network Configuration window described earlier in this chapter, orNetwork Manager) to do basic configuration You may need to add wireless toolspackages to get this to work, such as wireless-tools and bcm43xx-fwcutter packages,which are available from the Ubuntu repositories Likewise, you may need firmwarethat is available in the following packages: ipw2100-source, ipw2200-firmware, andzd1211-firmware packages

If you are not able to configure your wireless LAN card using the Network Configura tion window, you might be able to get your wireless card working using drivers andtools available from Atheros (www.atheros.com), the MadWifi (www.madwifi.org)project, or the Ndiswrapper project (ndiswrapper.sourceforge.net) Many pack-ages of software from those projects are available from the standard Ubuntu reposito-ries, described in Chapter 2

-If you need help determining exactly what wireless card you have, type the following:

$ lspci | grep -i wireless Search for wireless PCI cards

01:09.0 Network controller: Broadcom Corporation BCM4306 802.11b/g

Wireless LAN Controller (rev 03)

Trang 11

Assuming that your wireless card is up and running, there are some useful commands

in the wireless-tools package you can use to view and change settings for your wirelesscards In particular, the iwconfigcommand can help you work a with your wirelessLAN interfaces The following scans your network interfaces for supported wireless cards and liststheir current settings:

$ iwconfig

eth0 no wireless extensions.

eth1 IEEE 802.11-DS ESSID:”” Nickname:”HERMES I”

Mode:Managed Frequency:2.457 GHz Access Point: Not-Associated Bit Rate:11 Mb/s Tx-Power=15 dBm Sensitivity:1/3

Retry limit:4 RTS thr:off Fragment thr:off Encryption key:off

Power Management:off

Wireless interfaces may be named wlanX or ethX, depending on the hardware anddriver used You may be able to obtain more information after setting the link up onthe wireless interface:

$ ip link set eth1 up

$ iwconfig eth1

eth1 IEEE 802.11-DS ESSID:”” Nickname:”HERMES I”

Mode:Managed Frequency:2.457 GHz Access Point: None Bit Rate:11 Mb/s Tx-Power=15 dBm Sensitivity:1/3 Retry limit:4 RTS thr:off Fragment thr:off Encryption key:off

Power Management:off Link Quality=0/92 Signal level=134/153 Noise level=134/153

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0

The settings just shown can be modified in a lot of ways Here are some ways to useiwconfig to modify your wireless interface settings In the following examples, we operate on

a wireless interface named wlan0 These operations may or may not be supported,depending on which wireless card and driver you are using

$ sudo iwconfig wlan0 essid “MyWireless” Set essid to MyWireless

$ sudo iwconfig wlan0 channel 3 Set the channel to 3

$ sudo iwconfig wlan0 mode Ad-Hoc Change from Managed to Ad-Hoc mode

$ sudo iwconfig wlan0 ap any Use any access point available

$ sudo iwconfig wlan0 sens -50 Set sensitivity to –50

$ sudo iwconfig wlan0 retry 20 Set MAC retransmissions to 20

$ sudo iwconfig wlan0 key 1234-5555-66 Set encryption key to 1234-5555-66

The essidis sometimes called the Network Name or Domain ID Use it as the mon name to identify your wireless network Setting the channellets your wirelessLAN operate on that specific channel

Trang 12

com-With Ad-Hocmode, the network is composed of only interconnected clients with nocentral access point In Managed/Infrastructuremode, by setting apto a specificMAC address, you can force the card to connect to the access point at that address, oryou can set apto anyand allow connections to any access point.

If you have performance problems, try adjusting the sensitivity (sens) to either anegative value (which represents dBm) or positive value (which is either a percent-age or a sensitivity value set by the vendor) If you get retransmission failures, youcan increase the retryvalue so your card can send more packets before failing.Use the keyoption to set an encryption key You can enter hexadecimal digits (XXXX-XXXX-XXXX-XXXX or XXXXXXXX) By adding an s:in front of the key, you can enter

an ASCII string as the key (as in s:My927pwd)

Using Dial-up Modems

Although high-speed DSL, cable modem, and wireless LAN hardware have becomewidely available, there may still be times when a phone line and a modem are youronly way to get on the Internet Linux offers both graphical and command line toolsfor configuring and communicating with modems

As with other network connections in Ubuntu, dial-up modem connections can be figured using the Network Configuration window Most external serial modems willwork with Linux without any special configuration Most hardware PCI modems willalso work However, many software modems (also sometimes called Winmodems)often will not work in Linux (although some can be configured with special drivers,and are therefore referred to as Linmodems)

con-Instead of describing the contortions you must go through to get some Winmodemsworking in Linux, we recommend that you purchase either a modem that connects

to an external serial port or a hardware modem If you want to try configuring yourWinmodem yourself, refer to the Linmodems site (www.linmodems.org)

If you are not able to get your modem working from the Network Configuration dow, there are some commands you can try First try the wvdialconfcommand totry to scan any modems connected to your serial ports and create a configuration file:

win-$ sudo wvdialconf /etc/wvdial.conf Scan serial ports, create config file

Scanning your serial ports for a modem.

Ngày đăng: 29/09/2013, 22:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN