eth0 eth0:1和eth0.1三者的关系对应于物理网卡、子网卡、虚拟VLAN网卡的关系:
物理网卡 :物理网卡这里指的是服务器上实际的网络接口设备,这里我服务器上双网卡,在系统中看到的2个物理网卡分别对应是etho和eth1这两个网络接口。
子网卡 :子网卡在这里并不是实际上的网络接口设备,但是可以作为网络接口在系统中出现,如eth0:1、eth1:2这种网络接口。它们必须要依赖于物理网卡,虽然可以与物理网卡的网络接口同时在系统中存在并使用不同的IP地址,而且也拥有它们自己的网络接口配置文件。但是当所依赖的物理网卡不启用时(Down状态)这些子网卡也将一同不能工作。
虚拟VLAN网卡 :这些虚拟VLAN网卡也不是实际上的网络接口设备,也可以作为网络接口在系统中出现,但是与子网卡不同的是,他们没有自己的配置文件。他们只是通过将物理网加入不同的VLAN而生成的VLAN虚拟网卡。如果将一个物理网卡通过vconfig命令添加到多个VLAN当中去的话,就会有多个VLAN虚拟网卡出现,他们的信息以及相关的VLAN信息都是保存在/proc/net/vlan/config这个临时文件中的,而没有独自的配置文件。它们的网络接口名是eth0.1、eth1.2这种名字。
注意 :当需要启用VLAN虚拟网卡工作的时候,关联的物理网卡网络接口上必须没有IP地址的配置信息,并且,这些主物理网卡的子网卡也必须不能被启用和必须不能有IP地址配置信息。这个在网上看到的结论根据我的实际测试结果来看是不准确的,物理网卡本身可以绑定IP,并且给本征vlan提供通信网关的功能,但必须是在802.1q下。
ifcfg-10是本地回环接口,相当于127.0.0.1 ifcfg-10:0是在回环接口上再添加一个网络接口,一般用于配置虚拟IP
/sbin/ifconfig查看、配置、启用或禁用网络接口(网卡)的工具
ifconfig是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。比如我们可以用这个工具来配置网卡的IP地址、MAC地址、掩码、广播地址等。值得一说的是用ifconfig为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果您想把网络接口的IP地址固定下来,目前有三个方法:
一是通过各个发行和版本专用的工具来修改IP地址;
二是直接修改网络接口的配置文件;
三是修改特定的文件,加入ifconfig指令来指定网卡的IP地址,比如在redhat或Fedora中,把ifconfig的语名写入/etc/rc.d/rc.local文件中;
/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-etho

在线配置虚拟IP
bash
ifconfig eth0:1 192.168.109.108 netmask 255.255.255.0
查看新增加的子接口配置信息是否正确.主要是看IP与子网掩码
bash
ifconfig eth0:1
# ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:45:62:3B
inet addr:192.168.109.108 Bcast:192.168.109.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2000 Memory:d8920000-d8940000
启动网卡eth0的子接口
bash
ifconfig eht0:1 up
查看IP是否可以联通
bash
ping -c 3 192.168.109.108
# ping -c 3 192.168.109.108
PING 192.168.109.108 (192.168.109.108) 56(84) bytes of data.
64 bytes from 192.168.109.108: icmp_seq=1 ttl=64 time=0.032 ms
64 bytes from 192.168.109.108: icmp_seq=2 ttl=64 time=0.053 ms
64 bytes from 192.168.109.108: icmp_seq=3 ttl=64 time=0.036 ms
--- 192.168.109.108 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.032/0.040/0.053/0.010 ms
修改配置文件,使配置在主机重启后自动生效
bash
cd /etc/sysconfig/network-script/
cp ifcfg-eth0 ifcfg-eth0:1
vi ifcfg-eth0:1
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0:1 ---->子接口名
HWADDR=00:0C:29:45:62:3B
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.109.108
NETMASK=255.255.255.0
对于要切换主机IP与应用IP的情可以做如下处理
如 下面的例子:主机IP是192.168.109.105 应用IP是192.168.109.108
我们要将IP做对调,
192.168.109.108给主机使用
192.168.109.105给应用使用
配置前的信息:
bash
#ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:45:62:3B
inet addr:192.168.109.105 Bcast:192.168.109.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe45:623b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20340 errors:0 dropped:0 overruns:0 frame:0
TX packets:16678 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1800154 (1.7 MiB) TX bytes:2438822 (2.3 MiB)
Base address:0x2000 Memory:d8920000-d8940000
# ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:45:62:3B
inet addr:192.168.109.108 Bcast:192.168.109.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0x2000 Memory:d8920000-d8940000
修改eth0:1的网卡配置信息:
bash
# vi ifcfg-eth0:1
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0:1 ---->子接口名
HWADDR=00:0C:29:45:62:3B
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.109.105
NETMASK=255.255.255.0
修改eth0的网卡配置信息:
bash
#vi ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
HWADDR=00:0C:29:45:62:3B
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.109.108
NETMASK=255.255.255.0
重启网络生效
bash
nohup service network restart &
在日常linux管理工作中,需要为应用配置单独的IP地址,以达到主机与应用的分离,在应用切换与迁移过程中可以做到动态切换,特别是在使用HA的时候,这种方案可以保证主机与应用的隔离,对日常的运维有很大的益处.