1、网络测试及故障诊断方法及工具linux网络配置、测试及故障诊断方法和工具介绍了ifconfig、ping 和traceroute 的用法。一、网络调试工具;如果我们把一台机器接入网络中,通过网络配置工具的配置这时就要用到网络调试工具,目的是判断机器是否已经接入到网络以及网络连接是否正常。我们常用的在各个发行版通用的网络配置工具是ifconfig和netconfig, ADSL猫的拔号工具rp-pppoe,普通猫的拔号工具kppp和wvdial,当然Linux各大发行版本又有自己的配置工具,这些特定发行版特别的配置工具是非常有效的,大多是图形界面的,操作也非常之简单。1、 关于网络接口及配置工具
2、;网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用 ethX,是由0开始的正整数,比如eth0、eth1. ethX。而普通猫和ADSL的接口是 pppX,比如ppp0等;在Linux操作系统中配置网络接口,一般是通过网络配置工具实现的,但最终目的还是通过网络配置工具来达到修改与网络相关的配置文件而起作用的。由此说来,我们配置网络可以直接修改配置文件。比如网络网络接口(网卡)的IP地址、子掩码、网关,在 Redhat/Fedora 等或以Redhat/Fedora 为基础的发行版中,一般要涉及到好几个文件,比如包括 /etc/sysconfi
3、g/network-scripts/ifcfg-eth0等。了解Linux网络配置文件是极为重要的,我们通过工具修改了什么,是怎么生效的,只有了解网络配置文件才能搞清楚。由于Linux存在很多的发行和版本,大多发行版本都有自己的专用配置工具。主要是为了方便用户配置网络;但也有通用的配置工具,比如 ifconfig 、ifup、ifdown;2 关于网络硬件设备的驱动;网络硬件,比如网卡(包括有线、无线),猫包括普通猫和ADSL猫等,都是需要内核支持的,所以我们首先得知道自己的网络设备是不是已经被硬内核支持了。如果不支持,我们得找驱动(或通过内核编译)来支持它,常见的通过安装驱动就可以解决,尤其
4、是常用的网络硬件设备,现在发行的linux发行版几乎都支持;3、ifconfig 配置网络接口的工具介绍;ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。比如我们可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。ifconfig 查看网络接口状态;ifconfig 如果不接任何参数,就会输出当前网络接口的情况;rootlocalhost# ifconfigeth0 Link encap:Ethernet HWaddr 00:C0:9F:94:78:0E inet addr: Bcast: Mask: inet6 addr: fe80:2c
5、0:9fff:fe94:780e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:850 errors:0 dropped:0 overruns:0 frame:0 TX packets:628 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:369135 (360.4 KiB) TX bytes:75945 (74.1 KiB) Interrupt:10 Base address:0x3
6、000lo Link encap:Local Loopback inet addr: Mask: inet6 addr: :1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:57 errors:0 dropped:0 overruns:0 frame:0 TX packets:57 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8121 (7.9 KiB) TX bytes:8121 (7.9 KiB)eth
7、0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址, inet addr 用来表示网卡的IP地址; lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口;如果我们想知道主机所有网络接口的情况,请用下面的命令;rootlocalhost# ifconfig -a如果我们想查看某个端口,比如我们想查看eth0 的状态,就可以用下面的方法;rootlocalhost# ifconfig eth0ifconfig 配置网络接口;ifconfig 可以用来配置网络接口的IP地址、掩码、网关、物理地址等;用if
8、config 为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果您想把网络接口的IP地址固定下来,目前有三个方法:一是通过各个发行和版本专用的工具来修改IP地址;二是直接修改网络接口的配置文件;三是修改特定的文件,加入ifconfig 指令来指定网卡的IP地址,比如在redhat或Fedora中,把ifconfig 的语名写入/etc/rc.d/rc.local文件中;ifconfig 配置网络端口的方法:ifconfig 工具配置网络接口的方法是通过指令的参数来达到目的的,我们只说最常用的参数;ifconfig 网络端口 IP地址 hw MAC地址 netma
9、sk 掩码地址 broadcast 广播地址 up/down 实例一:比如我们用ifconfig 来调试 eth0网卡的地址 rootlocalhost# ifconfig eth0 downrootlocalhost# ifconfig eth0 broadcast netmask rootlocalhost# ifconfig eth0 uprootlocalhost# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:11:00:00:11:11inet addr: Bcast: Mask:UP BROADCAST MULTICAST MT
10、U:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)Interrupt:11 Base address:0x3400第一行:ifconfig eth0 down 表示如果eth0是激活的,就把它DOWN掉。此命令等同于 ifdown eth0;第二行:用ifconfig 来配置 eth0
11、的IP地址、广播地址和网络掩码;第三行:用ifconfig eth0 up 来激活eth0 ; 此命令等同于 ifup eth0第四行:用 ifconfig eth0 来查看 eth0的状态;当然您也可以用直接在指定IP地址、网络掩码、广播地址的同时,激活网卡;要加up参数;比如下面的例子;rootlocalhost# ifconfig eth0 broadcast netmask up 实例二:设置网卡的物理地址(MAC地址);比如我们设置网卡eth1的IP地址、网络掩码、广播地址,物理地址并且激活它;rootlocalhost# ifconfig eth1 hw ether 00:11:0
12、0:00:11:11 netmask broadcast up或rootlocalhost# ifconfig eth1 hw ether 00:11:00:00:11:22rootlocalhost# ifconfig eth1 netmask broadcast up其中 hw 后面所接的是网络接口类型, ether表示以太网, 同时也支持 ax25 、ARCnet、netrom等;如何用ifconfig 来配置虚拟网络接口;虚拟网络接口指的是为一个网络接口指定多个IP地址,虚拟接口是这样的 eth0:0 、 eth0:1、eth0:2 . . eth1N; 其实用ifconfig 为一个
13、网卡配置多个IP地址比较简单;看下面的例子;rootlocalhost# ifconfig eth1:0 hw ether 00:11:00:00:11:33 netmask broadcast up注意:指定时,要为每个虚拟网卡指定不同的物理地址;在 Redhat/Fedora 或与Redhat/Fedora类似的系统,您可以把配置网络IP地址、广播地址、掩码地址、物理地址以及激活网络接口同时放在一个句子中,写入/etc/rc.d/rc.local中。如何用ifconfig 来激活和终止网络接口的连接;激活和终止网络接口的用 ifconfig 命令,后面接网络接口,然后加上 down或up参
14、数,就可以禁止或激活相应的网络接口了。当然也可以用专用工具ifup和ifdown 工具;rootlocalhost# ifconfig eth0 downrootlocalhost# ifconfig eth0 uprootlocalhost# ifup eth0rootlocalhost# ifdown eth0对于激活其它类型的网络接口也是如此,比如 ppp0,wlan0等;不过只是对指定IP的网卡有效。Redhat/Fedora网络接口配置工具;由于 ifconfig 用起来比较麻烦,而且是用来测试网络之用,但这个工具并不能修改网络接口的相应配置文件。虽然也能通过把ifconfig配置网
15、络接口的语句写入类似/etc/rc.d/rc.local 文件中,但相对来说还是写入关于网络接口的配置文件中更为安全和可靠;但对于虚拟网络接口写入类似/etc/rc.d/rc.local 中还是可以的;网络接口配置文件在Redhat/Fedora 中,与以太网卡相关的配置文件位于 /etc/sysconfig/network-scripts目录中,比如 ifcfg-eth0、ifcfg-eth1 . . 比如在Fedora 5.0中,ifcfg-eth0 ;如果您用DHCP服务器来自动获取IP的,一般情况下ifcfg-eth0的内容是类似下面这样的;DEVICE=eth0ONBOOT=yesB
16、OOTPROTO=dhcpTYPE=Ethernet如果您是指定IP的,一般内容是类似下面的;DEVICE=eth0 注:网络接口ONBOOT=yes 注:开机引导时激活BOOTPROTO=static 注:采用静态IP地址;IPADDR= 注:IP地址NETMASK= 注:网络掩码;GATEWAY= 注:网关;下面的几个选项也可以利用;HOSTNAME=linux 注:指定主机名;DOMAIN=localdomain 注:指定域名;HWADDR=00:00:11:22:00:aa 注:指定网卡硬件地址 (MAC地址), 也可以省略,不过这在这里来更改MAC地址一般是不能生效的。还是通过前面所
17、说的ifconfig的办法来更改吧;网络配置的工具在Redhat早期的版本中, 有linuxconf 、redhat-config-network 、netconfig 等工具;在Redhat/Fedora 最新的版本有 system-config-network-tui (文本模式的) 、system-config-network (图形模式的),netconfig(文本模式的)。这些工具都会直接修改Linux系统中关于网络接口的配置文件;这是 ifconfig 所不能比的;其中 redhat-config-network 和system-config-network工具不仅仅是配置网卡的工
18、具,还有配置ISDN和普通猫、ADSL的工具、网络硬件的添加、主机名字的配置、DNS各客户端的配置等。其实是一个工具组的集成;这些工具比较简单,以root权限运行命令就能调用,比如:rootlocalhost# /usr/sbin/system-config-networkrootlocalhost# system-config-networknetconfig 工具是一个在文本模式比较好的工具,推荐大家使用;理由是这个工具在文本模式下,也有一个简单的图形界面;还有命令模式;rootlocalhost# netconfig -d eth0 注:配置eth0rootlocalhost# netc
19、onfig -d eth1 注:配置eth1netconfig 的用法如下:rootlocalhost# netconfig -help 注:帮助;-bootproto=(dhcp|bootp|none) Boot protocol to use(-gateway=STRING Network gateway(指定网关)-ip=STRING IP address(指定IP地址)-nameserver=STRING Nameserver(指定DNS客户端)-netmask=STRING Netmask(指定网络掩码)-hostname=STRING Hostname( 指定主机名)-domain
20、=STRING Domain name(指定域名)-d, -device=STRING Network device (指定网络设备)-nodns No DNS lookups (没有DNS查询)-hwaddr=STRING Ethernet hardware address (指定网卡的物理地址)-description=STRING Description of the device (描述性文字)Help options: (帮助选项)-?, -help Show this help message-usage Display brief usage message设置网卡的DHCP模式
21、自动获得IProotlocalhost# netconfig -d eth0 -bootproto=dhcp手动设置网卡的IP等rootlocalhost# netconfig -d eth0 -ip= -netmask= -gateway=拔号工具;ADSL pppoe 拔号工具rp-pppoe;rp-pppoe 主页;/open_source_rp-pppoe.phprp-pppoe 目前在各大发行版本都是存在的,比如Redhat/Fedora、红旗、Slackware、Debian、SuSE等系统,都是采用这个拔号软件,所以您大可不必为下载源码编译安装。只需要在各大发行版的安装盘中就可以
22、找得到;请用各大发行版自带的软件包管理工具来安装此软件包;在Redhat/Fedora 中可以通过图形配置工具来完成,redhat-config-network 命令,调用配置网络,要通过XDSL来添加拔号,比较简单;所有发行版通用的方法是adsl-setup 命令来配置ADSL;rootlocalhost# adsl-setup 注:配置pppoe拔号,请文档下面,都差不多;rootlocalhost# adsl-start 注:启动拔号;rootlocalhost# adsl-stop 注:断开连接;普通猫的拔号工具;普通猫的拔号工具主要有kppp和wvdial;在Redhat/Fedor
23、a中,用system-config-network 或redhat-config-network 也能设置ppp拔号;在KDE桌面环境下,大家一般都用kppp拔号工具,点鼠标就可以完成;wvdial工具是文本的,几乎在各大发行版都有。wvdial的配置文件是/etc/wvdial.conf 。如果您的猫已经驱动好了,运行一下wvdialconf命令就生成了/etc/wvdial.conf了 。当然您得查看一下它的内容;rootlocalhost# wvdialconfrootlocalhost# more /etc/wvdial.conf无线网卡;Linux系统下无线网卡的安装和驱动,以及配置
24、还真的没来得及做关键是没有实验的设备和条件,下面的安装和配置是从网上找到的别人的操作,如有不合适之处还希望能够谅解,改天有机会实验了再贴一下!Linux无线网卡可以用三种方式驱动:1使用内核自带的网卡驱动程序;2为特定的网卡编译安装驱动模块;3使用NdisWrapper,利用面向Windows驱动程序驱动网卡。 现在市场上销售的绝大多数无线网卡都没有linux内核自带的驱动,所以第一种不予考虑;NdisWrapper软件并不编写linux驱动;而是通过内核模块来调用Windows下的Ndis驱动程序,从而解决无线网卡没有linux驱动问题,但它要求linux内核至少是,没有验证);所以我们考虑
25、采用第二种;Linux下比较常用的无线网卡驱动有:hostap driver和linux-wlan-ng,它们对Intersil Prism 2/2.5/3芯片有较好的支持。我们觉得USB接口的无线网卡用起来比较方便,而linux-wlan-ng对USB的支持好于hostap driver,所以就下载了linux-wlan-ng最新驱动无线网卡驱动的安装及其配置在配置无线网卡之前,必须确保内核设置中启动了无线局域网支持:#grep CONFIG_NET_RADIO /boot/config-uname r CONFIG_NET_RADIO=y若没有,重新配置、编译内核来启动“Wireless
26、Lan(non-hamradio)Drivers and Wireless Extensions”。(注:uname r 显示内核版本号)安装linux-wlan-ng-,内核必须用源码编译过接下来解压并安装:#tar -zxvf linux-wlan-ng-#cd linux-wlan-ng-#./Configure 或者 #make config- Linux WLAN Configuration Script -The default responses are correct for most users.Build Prism2.x PCMCIA Card Services (_cs
27、) driver? (y/n) y: nBuild Prism2 PLX9052 based PCI (_plx) adapter driver? (y/n) n: nBuild Prism2.5 native PCI (_pci) driver? (y/n) n: nBuild Prism2.5 USB (_usb) driver? (y/n) n: yLinux source directory /usr/src/linux:The kernel source tree is version Alternate target install root directory on host :
28、Module install directory /lib/modules/It looks like you have a System V init file setup.Prefix for build host compiler? (rarely needed) :Build for debugging (see doc/config.debug) (y/n) y:Configuration successful.#make all#make install然后修改相关文件:1 在/etc/wlan/wlan.conf里,设置自己的ssid;SSID_wlan0=mywlanENABL
29、E_wlan0=y2 创建一个wlancfg-mywlan文件;#cd /etc/wlan#cp wlancfg-DEFAULT wlancfg-mywlan并把里面的IS_ADHOC=n改成IS_ADHOC=y3 在/etc/modules.conf中加入一行:alias wlan0 prism2_usb在/etc/modprobe.conf中加入一行:alias wlan0 prism2_usb4 插上USB无线网卡,指示灯亮#ifconfig wlan0 up然后就可以给wlan0配置地址了#ifconfig wlan0 inet6 add fec0:106:2900:1/64#ifco
30、nfig wlan0#iwconfig wlan0:看无线网卡的一些信息(包括ssid等)三、要实现切换,需要在MN上做一些改进由于不能用ifconfig命令来修改无线网卡的相关参数,在其它节点(非MN)上要更改ssid,只需在/etc/wlan/wlan.conf中改SSID_wlan0=xxxxxx,然后运行:#/etc/init.d/wlan restart#ifconfig wlan0 up就可以了,不过地址得重新配置。Linux-wlan-ng驱动下可以用wlanctl-ng命令来配置和更改无线网卡的参数,对于MN如何切换到外地,可以在MN上配置脚本文件(命名为g2ar):#wlanctl-ng wlan0 lnxreq_ifstate ifstate=disable#wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable# wlanctl-ng wlan0 dot11req_start ssid=foreignwlan bsstype=independent beaconperiod=100 dtimperiod=3 cfpollable=false cfpollreq=false cfpperiod=3 cfpmaxduration=100 probedela
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1