Linux 网络接口配置文件及相关工具
上一篇 / 下一篇 2007-10-13 13:14:24 / 个人分类:Linux系统配置
作者:北南南北
8D}1S2I;W-~
X0来自:LinuxSir.Org
1、 关于网络接口及配置工具说明;
网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用 ethX51Testing软件测试网,d1? YKjT^y
,是由0开始的正整数,比如eth0、eth1...... ethX。而普通猫和ADSL的接口是 pppX,比如ppp0等;
在Linux操作系统中配置网络接口,一般是通过网络配置工具实现的,但最终目的还是通过网络配置工具来达到修改与网络相关的配置文件而起作用的。由此说来,我们配置网络可以直接修改配置文件。比如网络网络接口(网卡)的IP地址、子掩码、网关,在Slackware 中只需修改一个配置文件就行了 /etc/rc.d/rc.inet1 ,而在 Redhat/Fedora 等或以Redhat/Fedora 为基础的发行版中,一般要涉及到好几个文件,比如包括 /etc/sysconfig/network-scrīpts/ifcfg-eth0在内等。
3KvD3g(?"nzWe&A7D0了解Linux网络配置文件是极为重要的,我们通过工具修改了什么,是怎么生效的,只有了解网络配置文件才能搞清楚。做个不恰当的比喻:Linux 系统是一个透明的盒子,至于盒子里装的是什么都是一目了然的。而闭源操作系统,我们没有机会知道这些,更不知道他是怎么实现的。
#Afn3{-xK0对于复杂的网络模型,Linux 是有极大的优势,可能在我们看看man 和help,修改修改配置文件,在几分钟就可以搞定。但闭源图形界面的操作系统就没有这么幸运了,反复的点鼠标,点了几十次上百次也解决不了一个问题,这是极为常见的。
/w1t?UbI7a0由于Linux存在很多的发行和版本,大多发行版本都有自己的专用配置工具。主要是为了方便用户配置网络;但也有通用的配置工具,比如 ifconfig 、ifup、ifdown;
2Q)?\)Nh O|Qh02 关于网络硬件设备的驱动;
我在以前的文档中有写过,网络硬件,比如网卡(包括有线、无线),猫包括普通猫和ADSL猫等,都是
&N"sP(N3V0需要内核支持的,所以我们首先得知道自己的网络设备是不是已经被硬内核支持了。如果不支持,我们得51Testing软件测试网1E&Z,^wC
找驱动(或通过内核编译)来支持它;
3、ifconfig 配置网络接口的工具介绍;
ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。比如我们可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。也可以把它写入一个文件中(比如/etc/rc.d/rc.local),这样系统引导后,会读取这个文件,为网卡设置IP地址;不过这样做目前看来没有太大的必要。主要是各个发行版本都有自己的配置工具,无论如何也能把主机加入到网络中;51Testing软件测试网4NSf#xc+r
下面我们看看ifconfig 用法;51Testing软件测试网hd o:j#f8_
3.1 ifconfig 查看网络接口状态;51Testing软件测试网,i&q2Jo?cc`
ifconfig 如果不接任何参数,就会输出当前网络接口的情况;
t4p.~:zm}!k x0[root@localhost ~]#ifconfig
%WGW.N&\2~emUq3xl0eth0 Link encap:Ethernet HWaddr 00:C0:9F:94:78:0E
|$C8H4U+}6A0 inet addr:192.168.1.88 Bcast:192.168.1.255 Mask:255.255.255.0
de{[!`1Pg/g0 inet6 addr: fe80::2c0:9fff:fe94:780e/64 Scope:Link
9Jp k
[d He0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:151Testing软件测试网iGiM&h5g\
RX packets:850 errors:0 dropped:0 overruns:0 frame:051Testing软件测试网"]'wy2sO:v5yrr
TX packets:628 errors:0 dropped:0 overruns:0 carrier:051Testing软件测试网|v-Eo[ ?
collisions:0 txqueuelen:100051Testing软件测试网wTR&t,Ru?b6i
RX bytes:369135 (360.4 KiB) TX bytes:75945 (74.1 KiB)
L'Bg4jI.IZ0 Interrupt:10 Base address:0x3000
lo Link encap:Local Loopback51Testing软件测试网
P2m1O4N`P3f/i
inet addr:127.0.0.1 Mask:255.0.0.051Testing软件测试网 e.Cr,F%H'WZ
inet6 addr: ::1/128 Scope:Host51Testing软件测试网|fu7q3v,o
UP LOOPBACK RUNNING MTU:16436 Metric:1
'|p.h.H-gQI0 RX packets:57 errors:0 dropped:0 overruns:0 frame:051Testing软件测试网$h8c*J_m6t
TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
[e].rO'w0 collisions:0 txqueuelen:051Testing软件测试网p GTX Als
RX bytes:8121 (7.9 KiB) TX bytes:8121 (7.9 KiB)
YU dGoDk:Z0解说:51Testing软件测试网.NR3f
S7T/{-{,y
eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,我们可以看到目前这个网卡的物理地址(MAC地址)是 00:C0:9F:94:78:0E ; inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.1.88, 广播地址, Bcast:192.168.1.255,掩码地址Mask:255.255.255.051Testing软件测试网_|3ep&b#?K}
lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如我们把HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道;51Testing软件测试网!V-{JM0R NPD"N%R
如果我们想知道主机所有网络接口的情况,请用下面的命令;
&Y{A5B}x.a0[root@localhost ~]#ifconfig -a
Yt VZ1`7S["j']0如果我们想查看某个端口,比如我们想查看eth0 的状态,就可以用下面的方法;51Testing软件测试网,`,X"J9VS&R-G6[9h
[root@localhost ~]# ifconfig eth051Testing软件测试网0o |(b6Z;yA-Hp)m_,s
3.2 ifconfig 配置网络接口;51Testing软件测试网nfj-A!IFl
ifconfig 可以用来配置网络接口的IP地址、掩码、网关、物理地址等;值得一说的是用ifconfig 为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果您想把网络接口的IP地址固定下来,目前有三个方法:一是通过各个发行和版本专用的工具来修改IP地址;二是直接修改网络接口的配置文件;三是修改特定的文件,加入ifconfig 指令来指定网卡的IP地址,比如在redhat或Fedora中,把ifconfig 的语名写入/etc/rc.d/rc.local文件中;
J&l] Zy[_0Q h d n0ifconfig 配置网络端口的方法:51Testing软件测试网/_%?|'Dm
ifconfig 工具配置网络接口的方法是通过指令的参数来达到目的的,我们只说最常用的参数;51Testing软件测试网d u5l!W|D"N Ef9P G T
ifconfig 网络端口 IP地址 hw <HW> MAC地址 netmask 掩码地址 broadcast 广播地址 [up/down]51Testing软件测试网T'L)a}9{~
* 实例一:
l+^6Hp?{-m\0比如我们用ifconfig 来调试 eth0网卡的地址
[root@localhost ~]#ifconfig eth0 down
BW)Rh&\2BY0[root@localhost ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.051Testing软件测试网NNc|bw2vl|.y
[root@localhost ~]#ifconfig eth0 up
*|g9a2W|?0[root@localhost ~]#ifconfig eth051Testing软件测试网&s2@2sB.n"D
eth0 Link encap:Ethernet HWaddr 00:11:00:00:11:1151Testing软件测试网zQ'lf!CX` \z9[Z/_
inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
fO_+wp0 UP BROADCAST MULTICAST MTU:1500 Metric:1
l'k|B|*U2Y:C0 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
Y2[}NvC$^8i0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:051Testing软件测试网$vXI1Up7xC
collisions:0 txqueuelen:100051Testing软件测试网zi@R0V!j
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
9lnY0q6J0 Interrupt:11 Base address:0x340051Testing软件测试网'b!gp
T0TAqU
注解:上面的例子我们解说一下;51Testing软件测试网f9WA ?l?)R!K(z)l
第一行:ifconfig eth0 down 表示如果eth0是激活的,就把它DOWN掉。此命令等同于 ifdown eth0;
"|jM,{|x#A0第二行:用ifconfig 来配置 eth0的IP地址、广播地址和网络掩码;51Testing软件测试网m,g/| G:yXzAu
第三行:用ifconfig eth0 up 来激活eth0 ; 此命令等同于 ifup eth051Testing软件测试网OwznUFZBn-`
第四行:用 ifconfig eth0 来查看 eth0的状态;51Testing软件测试网 Rr2NVi1H(Mvfl
当然您也可以用直接在指令IP地址、网络掩码、广播地址的同时,激活网卡;要加up参数;比如下面的例子;51Testing软件测试网S8FE hGdwm@
[root@localhost ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up51Testing软件测试网c;|](A,u
* 实例二:在这个例子中,我们要学会设置网络IP地址的同时,学会设置网卡的物理地址(MAC地址);51Testing软件测试网{*sU+_ csnwQK3C v
比如我们设置网卡eth1的IP地址、网络掩码、广播地址,物理地址并且激活它;
PO#a+[#L"\0[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
fv-x?*g/PR0或51Testing软件测试网C K8p7r.D*HV
[root@localhost ~]#ifconfig eth1 hw ether00:11:00:00:11:2251Testing软件测试网:@zG8NmM
[root@localhost ~]#ifconfig eth1 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up
其中 hw 后面所接的是网络接口类型, ether表示乙太网, 同时也支持 ax25 、ARCnet、netrom等,详情请查看 man ifconfig ;
_$f0Z W~r,f8nh03.3 如何用ifconfig 来配置虚拟网络接口;
R wY;|z"`b0有时我们为了满足不同的需要还需要配置虚拟网络接口,比如我们用不同的IP地址来架运行多个HTTPD服务器,就要用到虚拟地址;这样就省却了同一个IP地址,如果开设两个的HTTPD服务器时,要指定端口号。