Chinaunix首页 | 论坛 | 博客
  • 博客访问: 534678
  • 博文数量: 184
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 2490
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:34
文章分类

全部博文(184)

文章存档

2011年(1)

2010年(2)

2009年(12)

2008年(169)

我的朋友

分类: LINUX

2008-06-15 11:49:15

linux网络配置、测试及故障诊断方法和工具

介绍了ifconfigping traceroute 的用法。

一、网络调试工具;

如果我们把一台机器接入网络中,通过网络配置工具的配置这时就要用到网络调试工具,目的是判断机器是否已经接入到网络以及网络连接是否正常。我们常用的在各个发行版通用的网络配置工具是ifconfignetconfig ADSL猫的拔号工具rp-pppoe,普通猫的拔号工具kpppwvdial当然Linux各大发行版本又有自己的配置工具,这些特定发行版特别的配置工具是非常有效的,大多是图形界面的,操作也非常之简单。

1 关于网络接口及配置工具;

网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用 ethX,是由0开始的正整数,比如eth0eth1...... ethX。而普通猫和ADSL的接口是 pppX,比如ppp0等;

Linux操作系统中配置网络接口,一般是通过网络配置工具实现的,但最终目的还是通过网络配置工具来达到修改与网络相关的配置文件而起作用的。

由此说来,我们配置网络可以直接修改配置文件。比如网络网络接口(网卡)的IP地址、子掩码、网关,在 Redhat/Fedora 等或以Redhat/Fedora 为基础的发行版中,一般要涉及到好几个文件,比如包括 /etc/sysconfig/network-scripts/ifcfg-eth0等。

了解Linux网络配置文件是极为重要的,我们通过工具修改了什么,是怎么生效的,只有了解网络配置文件才能搞清楚。

由于Linux存在很多的发行和版本,大多发行版本都有自己的专用配置工具。主要是为了方便用户配置网络;但也有通用的配置工具,比如 ifconfig ifupifdown

2 关于网络硬件设备的驱动

网络硬件,比如网卡(包括有线、无线),猫包括普通猫和ADSL猫等,都是需要内核支持的,所以我们首先得知道自己的网络设备是不是已经被硬内核支持了。如果不支持,我们得找驱动(或通过内核编译)来支持它,常见的通过安装驱动就可以解决,尤其是常用的网络硬件设备,现在发行的linux发行版几乎都支持;

3ifconfig 配置网络接口的工具介绍;

ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。比如我们可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。

ifconfig 查看网络接口状态;

ifconfig 如果不接任何参数,就会输出当前网络接口的情况;

[root@localhost]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:C0:9F:94:78:0E

          inet addr:192.168.1.88  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::2c0: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:0x3000

 

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: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)

eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址, inet addr 用来表示网卡的IP地址;

lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口;

如果我们想知道主机所有网络接口的情况,请用下面的命令;

[root@localhost]# ifconfig -a

如果我们想查看某个端口,比如我们想查看eth0 的状态,就可以用下面的方法;

[root@localhost]# ifconfig eth0

 

ifconfig 配置网络接口;

ifconfig 可以用来配置网络接口的IP地址、掩码、网关、物理地址等;

ifconfig 为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。

如果您想把网络接口的IP地址固定下来,目前有三个方法:

一是通过各个发行和版本专用的工具来修改IP地址;

二是直接修改网络接口的配置文件;

三是修改特定的文件,加入ifconfig 指令来指定网卡的IP地址,比如在redhatFedora中,把ifconfig 的语名写入/etc/rc.d/rc.local文件中;

ifconfig 配置网络端口的方法:

ifconfig 工具配置网络接口的方法是通过指令的参数来达到目的的,我们只说最常用的参数;

ifconfig 网络端口 IP地址 hw MAC地址 netmask 掩码地址 broadcast 广播地址 [up/down]

实例一:
比如我们用ifconfig 来调试 eth0网卡的地址

[root@localhost]# ifconfig eth0 down
[root@localhost]# ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0
[root@localhost]# ifconfig eth0 up
[root@localhost]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:11:00:00:11:11
          inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
          UP BROADCAST MULTICAST MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
          Interrupt:11 Base address:0x3400

第一行:ifconfig eth0 down 表示如果eth0是激活的,就把它DOWN掉。此命令等同于 ifdown eth0
第二行:用ifconfig 来配置 eth0IP地址、广播地址和网络掩码;
第三行:用ifconfig eth0 up 来激活eth0 此命令等同于 ifup eth0
第四行:用 ifconfig eth0 来查看 eth0的状态;

当然您也可以用直接在指定IP地址、网络掩码、广播地址的同时,激活网卡;要加up参数;比如下面的例子;

[root@localhost]# ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up

实例二:设置网卡的物理地址(MAC地址);

比如我们设置网卡eth1IP地址、网络掩码、广播地址,物理地址并且激活它;

[root@localhost]# ifconfig eth1 192.168.1.252 hw ether 00:11:00:00:11:11 netmask 255.255.255.0 broadcast 192.168.1.255 up

[root@localhost]# ifconfig eth1 hw ether 00:11:00:00:11:22
[root@localhost]# ifconfig eth1 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up

其中 hw 后面所接的是网络接口类型, ether表示以太网, 同时也支持 ax25 ARCnetnetrom等;

如何用ifconfig 来配置虚拟网络接口;

虚拟网络接口指的是为一个网络接口指定多个IP地址,虚拟接口是这样的 eth0:0 eth0:1eth0:2 ... .. eth1N

其实用ifconfig 为一个网卡配置多个IP地址比较简单;看下面的例子;

[root@localhost]# ifconfig eth1:0 192.168.1.251 hw ether 00:11:00:00:11:33 netmask 255.255.255.0 broadcast 192.168.1.255 up

注意:指定时,要为每个虚拟网卡指定不同的物理地址;

Redhat/Fedora 或与Redhat/Fedora类似的系统,您可以把配置网络IP地址、广播地址、掩码地址、物理地址以及激活网络接口同时放在一个句子中,写入/etc/rc.d/rc.local中。

 

如何用ifconfig 来激活和终止网络接口的连接;

激活和终止网络接口的用 ifconfig 命令,后面接网络接口,然后加上 downup参数,就可以禁止或激活相应的网络接口了。当然也可以用专用工具ifupifdown 工具;

[root@localhost]# ifconfig eth0 down
[root@localhost]# ifconfig eth0 up
[root@localhost]# ifup eth0
[root@localhost]# ifdown eth0

对于激活其它类型的网络接口也是如此,比如 ppp0wlan0等;不过只是对指定IP的网卡有效。

Redhat/Fedora网络接口配置工具

由于 ifconfig 用起来比较麻烦,而且是用来测试网络之用,但这个工具并不能修改网络接口的相应配置文件。虽然也能通过把ifconfig配置网络接口的语句写入类似/etc/rc.d/rc.local 文件中,但相对来说还是写入关于网络接口的配置文件中更为安全和可靠;但对于虚拟网络接口写入类似/etc/rc.d/rc.local 中还是可以的;

网络接口配置文件

Redhat/Fedora 中,与以太网卡相关的配置文件位于 /etc/sysconfig/network-scripts目录中,比如 ifcfg-eth0ifcfg-eth1 .... ....

比如在Fedora 5.0中,ifcfg-eth0

如果您用DHCP服务器来自动获取IP的,一般情况下ifcfg-eth0的内容是类似下面这样的;

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Ethernet

如果您是指定IP,一般内容是类似下面的;

DEVICE=eth0 注:网络接口
ONBOOT=yes 注:开机引导时激活
BOOTPROTO=static 注:采用静态IP地址;
IPADDR=192.168.1.238 注:IP地址
NETMASK=255.255.255.0 注:网络掩码;
GATEWAY=192.168.1.1 注:网关;

下面的几个选项也可以利用;

HOSTNAME=linux 注:指定主机名;
DOMAIN=localdomain 注:指定域名;
HWADDR=00:00:11:22:00:aa 注:指定网卡硬件地址 (MAC地址), 也可以省略,不过这在这里来更改MAC地址一般是不能生效的。还是通过前面所说的ifconfig的办法来更改吧;
阅读(589) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~