标题:
Ifconfig网络配置工具详解
[打印本页]
作者:
yuyang911220
时间:
2017-2-20 11:28
标题:
Ifconfig网络配置工具详解
无论是Linux自动安装还是我们手工安装,Linux都会向你询问有关网络的问题并配置相关的软件。这个用于配置
网卡的基本命令就是ifconfig。在执行ifconfig命令后,系统将在内核表中设置必要的参数,这样Linux就知道
如何与网络上的网卡通信。
Ifconfig网络配置工具详解
--------------------------------------------------------------------------------
ifconfig
无论是Linux自动安装还是我们手工安装,Linux都会向你询问有关网络的问题并配置相关的软件。这个用于配置
网卡的基本命令就是ifconfig。在执行ifconfig命令后,系统将在内核表中设置必要的参数,这样Linux就知道
如何与网络上的网卡通信。
ifconfig命令有以下两种格式:
※ifconfig [interface]
※ifconfig interface [aftype] option | address …
ifconfig的第一种格式(或使用不带任何参数的ifconfig命令)可以用来查看当前系统的网络配置情况。
在刚刚安装完系统之后,实际上是在没有网卡或者网络连接的情况下使用Linux,但通过ifconfig可以使
用回绕方式工作,使计算机认为自己工作在网络上。
现在我们运行一下ifconfig命令,不带参数的ifconfig命令可以显示当前启动的网络接口,其输出结果为:
-----------------------------------------------------------
[root@machine1 /sbin]#ifconfig
eth0 Link encap:Ethernet Hwaddr 52:54:AB
D:6F:61
inet addr:210.34.6.89 Bcast:210.34.6.127 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46299 errors:0 dropped:0 overruns:0 frame:189
TX packets:3057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xece0
lo Link encap
ocal Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
--------------------------------------------------------------------
其中以eth0为首的部分是本机的以太网卡配置参数,这里显示了网卡在系统下的设备名/dev/eth0和硬件的MAC
地址52:54:AB
D:6F:61,MAC地址是生产厂家定的,每个网卡拥有的唯一地址。
不过我们可以手工改动网卡的MAC地址,只要我们在/etc/rc.d/init.d/中的network中加入:
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
然后重启,此时再用ifconfig命令查看一下,我们就会发现网卡的MAC地址已经变成xx:xx:xx:xx:xx:xx了。
下一行显示本机的IP地址信息,分别是本机的IP地址,网络广播地址和子网掩码。必须确认这些信息都是正
确无误的,否则Linux服务器无法与其它网络设备建立连接。我们也可以手工实现IP与Mac地址的捆绑,命令是
arp -i eth0 -s xxx.xxx.xxx.xxx(IP) xx.xx.xx.xx.xx(MAC)
接下来显示的是设备的网络状态。MTU(最大传输单元)和Metric(度量值)字段显示的是该接口当前的M T U和
度量值的值。按照惯例,度量值供某些操作系统所用,用于计算一条路由的成本。再下来显示接口通信的网络统
计值。RX和TX分别表示接收和传送的数据包。如果你的网卡已经完成配置却还是无法与其它设备通信,那么
从RX和TX的显示数据上可以简单地分析一下故障原因。在这种情况下,如果你看到接收和传送的包的计数(packets)
增加,那有可能是系统的IP地址出现了混乱;如果你看到大量的错误(errors)和冲突(Collisions),那么这很有
可能是网络的传输介质出了问题,例如网线不通或hub损坏。
再下面的Interrupt:5 Base address:0xece0显示的是网卡的中断调用号和端口号,这是两个非常重要的硬
件配置信息。如果您的网卡是PCI的,那么Linux在引导时有可能会自动配置这些信息(也很有可能会让您手工配置)
但目前绝大多数网卡都是PnP的,这就需要我们进行手工配置了。如果您的网卡还没有配置好,那么运行:
[root@machine1 /sbin]#ifconfig
系统只会输出以lo为首的部分。lo是look-back网络接口,从IP地址127.0.0.1就可以看出,它代表"本机"。
无论系统是否接入网络,这个设备总是存在的,除非你在内核编译的时候禁止了网络支持,这是一个称为回送
设备的特殊设备,它自动由Linux配置以提供网络的自身连接。IP地址127.0.0.1是一个特殊的回送地址(即默认的本机地址),
您可以在自己的系统上用telnet对IP地址127.0.0.1进行测试。如果有inetd进程在运行的话您会从自己的机器上获得登录提示符。
Linux可以利用这个特征在进程与仿真网络之间进行通信。(您有兴趣的话还可以试试本机的实际IP地址,如这里的机器就
是210.34.6.89,或者试试"localhost",或者"127.0.0.1",同样可以模拟网络通信。这可是Linux一个非常突出的优点!)
如果你只是关心某个设备是否正常,可以在ifconfig后面加上接口名字:
[root@machine1 /sbin]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 52:54:AB
D:6F:61
inet addr:210.34.6.89 Bcast:210.34.6.127 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50568 errors:0 dropped:0 overruns:0 frame:198
TX packets:3200 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xece0
表示eth0设备已经正常工作。
有时需要为某个设备接口配置多个IP地址,办法是使用设备别名,例如,eth0设备可以有eth0,eth0:0,
eth0:1....多个别名,每个都可以有一个独立的IP地址:
ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
ifconfig eth0:0 210.34.6.88 netmask 255.255.255.128 broadcast 210.34.6.127
这样,210.34.6.89和210.34.6.88都会被绑定在eth0设备上,使用同样的网络设备,不同的IP地址。
如果你要暂停某个网络接口的工作,使用down参数:
ifconfig eth0 down
将取消eth0网络接口。与之对应的是有一个参数up,不过由于是缺省值,所以从来不用。
如果我们使用了带有参数的ifconfig命令,那就可以手动设置网卡的配置参数了。有效的ifconfig命令参数
及其意义为(选项对应的特性可以打开也可以取消,只在选项名前加一个破折号(-)即可):
Interface 网络设备名,如eth0就表示本机的第一块网卡。
up 标志接口处于" up"状态,也就是说, IP层可以对其进行访问。这个选项用于命令行上给出一个地址之时。
如果这个接口已被" down"选项临时性取消的话(与该选项对应的标记是UP RUNNING),还可以用于重新启用一
个接口。
down 标志接口处于" down"状态,也就是说, IP层不能对其进行访问。这个选项有效地禁止了IP通信流通这
个接口。注意,它并没有自动删除利用该接口的所有路由信息。如果永久性地取消了一个接口,就应该删除这些
路由条目,并在可能的情况下,提供备用路由。
netmask 标分配子网掩码,供接口所用。要么给一个前面是0x的32位十六进制号码,要么采用只适用于两台主机
所用的点分四段式号码。对SLIP和PLIP接口来说,这个选项是必须配置的。
address 设置指定接口设备的IP地址。
dstaddr adderss 为PPP设置远程IP地址,此关键字可用pointopoint代替。
irqaddress 设置指定接口设备使用的中断行。
pointtopoint address 该选项用于只涉及两台主机的点到点链接。对SLIP和PLIP接口来说,这个选项是必须配
置的(如果已经设置了一个点到点地址,ifconfig就会显示出POINTTPOINT标记)。
broadcast address 广播地址通常源于网络编号,通过设置主机部分的所有位得来。有的I P采用的方案有所
不同:这个选项可适用于某些奇怪的环境(如果已经设置了广播地址, ifconfig就会显示出一个BROADCAST标记)。
hw class addr 设置指定接口设备的MAC地址,关键字的后面必须跟硬件名或者与之等价的ASCII码。目前
支持的硬件类有ether, ax25, ARCnet和 netrom。
metric number 该选项可用于为接口创建的路由表分配度量值。路由信息协议( RIP)利用度量值来构建网络路
由表。ifconfig所用的默认度量值是0。如果不运行RIP程序,就没必要采用这个选项。如果要运行RIP程序,就
尽量不要改变这个默认的度量值。
mtu bytes 该选项用于设置最大传输单元,也就是接口一次能处理的最大字节数。对以太网接口来说, MTU的默
认设置是1500 个字节;对SLIP接口来说,则是296个字节。
arp 标这个选项专用于以太网或包广播之类的广播网络。它启用ARP(地址解析协议)来保护网络上各台主机的物
理地址。对广播网来说,默认设置是" on"(开)。
promisc 将接口置入promiscuous(混乱)模式。广播网中,这样将导致该接口接收所有的数据包,不管其目标是
不是另一台主机。该选项允许利用包过滤器和所谓的以太网窥视技术,对网络通信进行分析。通常情况下,这对揪
出网络故障的元凶来说,是相当有用的。但另一方面,如果有人蓄意攻击你的网络,也可浏览到s通信数据,进而
获得密码,破坏你的网络。一项重要的保证措施是杜绝任何人将他们的计算机接入你的以太网。另一个选项用于保
护某些身份验证协议的安全,比如Kerberos或SRA登录套件(该选项对应的标记是PROMISC)。
traIlers 开或关闭跟踪器。目前在某些Linux系统中还无法实现此功能。
allmulti 多播地址即是向不在同一个子网上的一组主机广播数据。多播地址尚未获得内核支持(该选项对应的标
记是ALLMULTI)
txqueuelen len 设置指定接口设备的发送队列长度。
由此可以看出有大量的参数可用于配置网卡,下面是在这台计算机上使用ifconfig命令的实例:
------------------------------------------------------------------------------
ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
------------------------------------------------------------------------------
该命令的作用是设置网卡eth0的IP地址,网络掩码和网络的本地广播地址。同样的方式可以用来配置eth1,eth2等
等,通常netmask和broadcast只要设置一个就可以了。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0