linux网络配置相关命令、虚拟网络接口eth0:0
网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0、eth1......ethX。而普通猫和ADSL的接口是pppX,比如ppp0等;
机器中所有可用网卡、名字、配置文件:
- dmesg|grepeth:可以看到系统启动时,网卡启动的信息及相应网卡的名字,然后就可以手动添加相应的/etc/sysconfig/network-scripts/ifcfg-ethX文件对网卡进行配置
- ifconfig-a:查看所有处于激活状态和终止状态的网卡及相应信息
- cat/proc/net/dev:查看所有虚拟的eth文件
- /dev/eth0,/dev/eth1之类的文件在dev目录下找不到:在很多Unix操作系统中个,网络设备会出现在/dev目录下。但是在Linux下不是这样的。在Linux中,网络设备是被动态创建的,并不需要在/dev目录下生成设备文件。大部分的网络设备都是在初始化和加载硬件的时候被设备驱动程序自动创建。比如:ethernet设备驱动器在加载ethernet硬件的时候按顺序创建eth[0..n]网卡接口,第一个ethernet卡变成eth0,第二个ethernet卡变成eth1。这在Redhat6.0安装盘的/doc/HOWTO目录下的NET-3-HOWTO中定义。可以通过虚拟文件:/proc/net/dev来查看被配置好的ethernet设备属性。InmanyUnixoperatingsystemsthenetworkdeviceshaveappearancesinthe/devdirectory.ThisisnotsoinLinux.InLinuxthenetworkdevicesarecreateddynamicallyinsoftwareanddonotrequiredevicefilestobepresent.Inthemajorityofcasesthenetworkdeviceisautomaticallycreatedbythedevicedriverwhileitisinitializingandhaslocatedyourhardware.Forexample,theethernetdevicedrivercreateseth[0..n]interfacessequentiallyasitlocatesyourethernethardware.Thefirstethernetcardfoundbecomeseth0,thesecondeth1etc."ThiswasquotedfromNET-3-HOWTOinthe/doc/HOWTOdirectoryofmyRH6.0Installcdrom.Youcanseethesettingsforconfiguredethernetdevicesinthe/proc/net/dev'pseudofile
网络配置相关命令:
- /bin/hostname显示主机名
- /etc/rc.d/init.d/network网络服务启动脚本(servicenetworkrestart)
- /sbin/ifconfig查看、配置、启用或禁用网络接口(网卡)的IP地址、MAC地址、掩码、广播地址,if是网络接口(interface)的简写
- /sbin/ifupifdown激活或者终止网络接口
/etc/init.d/network网络服务启动脚本
Servicenetworkstart|stop|reload|restart|status|force-reload
/sbin/ifconfig查看、配置、启用或禁用网络接口(网卡)的工具
ifconfig是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。比如我们可以用这个工具来配置网卡的IP地址、MAC地址、掩码、广播地址等。值得一说的是用ifconfig为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果您想把网络接口的IP地址固定下来,目前有三个方法:一是通过各个发行和版本专用的工具来修改IP地址;二是直接修改网络接口的配置文件;三是修改特定的文件,加入ifconfig指令来指定网卡的IP地址,比如在redhat或Fedora中,把ifconfig的语名写入/etc/rc.d/rc.local文件中;
ifconfig配置网络接口语法:
ifconfig网络端口IP地址hwMAC地址netmask掩码地址broadcast广播地址[up/down]
ifconfig常用用法:
- ifconfig:查看主机激活状态的网络接口情况;输出结果中:lo是表示主机的回坏地址,eth0表示第一块网卡,其中HWaddr表示网卡的物理地址(MAC地址);inetaddr用来表示网卡的IP地址,Bcast表示广播地址,Mask表示掩码地址
- ifconfig-a:查看主机所有(包括没有被激活的)网络接口的情况
- ifconfigeth0:查看特定网络接口的状态
- ifconfigeth0down=ifupeth0:如果eth0是激活的,就把它终止掉。此命令等同于ifdowneth0;
- ifconfigeth0up=ifdowneth0:激活eth0;此命令等同于ifupeth0
- ifconfigeth0192.168.1.99broadcast192.168.1.255netmask255.255.255.0:配置eth0的IP地址、广播地址和网络掩码;
- ifconfigeth0192.168.1.99broadcast192.168.1.255netmask255.255.255.0up:配置IP地址、网络掩码、广播地址的同时,激活网卡eth0
- ifconfigeth1hwether00:11:00:00:11:22:设置网卡的物理地址(MAC地址)。其中hw后面所接的是网络接口类型,ether表示以太网,同时也支持ax25、ARCnet、netrom等,详情请查看manifconfig;
用ifconfig来配置虚拟网络接口:
有时我们为了满足不同的需要还需要配置虚拟网络接口,比如我们用不同的IP地址来架运行多个HTTPD服务器,就要用到虚拟地址;这样就省却了同一个IP地址,如果开设两个的HTTPD服务器时,要指定端口号。
虚拟网络接口指的是为一个网络接口指定多个IP地址,虚拟接口是这样的eth0:0、eth0:1、eth0:2.....eth1N。当然您为eth1指定多个IP地址,也就是eth1:0、eth1:1、eth1:2......以此类推;
ifconfigeth1:0192.168.1.250hwether00:11:00:00:11:44netmask255.255.255.0broadcast192.168.1.255up
ifconfigeth1:1192.168.1.249hwether00:11:00:00:11:55netmask255.255.255.0broadcast192.168.1.255up
注意:指定时,要为每个虚拟网卡指定不同的物理地址;
关联:Name-basedVirtualHostSupport-Apache基于域名的虚拟主机设置(1个IP,多种服务)