这里基于Redhat和Debian来进行进行讲解。
RedHat下:
1.进入目录:
[root@Linuxsir root]# cd /etc/sysconfig/network-scripts/
2:ifcfg-eh0:0中的eh0:0是网卡的代号,当然你也可以用eh0:1之类的,随你喜欢怎么弄,但在eh0:X之前必须有ifcfg,也就是下面这种形式的,我们以eh0:0为例。
[root@Linuxsir root]#cp ifcfg-eth0 ifcfg-eth0:0
3,编辑ifcfg-eth0:0
[root@Linuxsir root]# vi ifcfg-eth0:0
ifcfg-eth0:0里面有这样的内容,你可以这样设置,然后IP可以自己设置了。象我这样设置也一样。
# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.
USERCTL='no'
NETMASK='255.255.255.0' -》子掩码
BOOTPROTO='static' -》协议
DEVICE='eth0:0' -》虚拟网卡的代号
IPADDR='192.168.0.9' -》我自己设定的IP
TYPE='Ethernet'
ONBOOT='yes' -》是否开机激活
NETWORK='192.168.0.0' -》网域
BROADCAST='192.168.0.255' -》广播
4.保存退出,然后运行如下的命令,来激活虚拟的网卡。
[root@Linuxsir root]# ifup eh0:0
5.我们来查看我们虚拟的网卡是不是激活了,用ifconfig,也就是下面这样的。
[root@Linuxsir network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:4C:00:C9:05
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:180 (180.0 b) TX bytes:7157 (6.9 Kb)
Interrupt:11 Base address:0x2000
eth0:0 Link encap:Ethernet HWaddr 00:E0:4C:00:C9:05
inet addr:192.168.0.9 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:11 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:846 (846.0 b) TX bytes:846 (846.0 b)
6.ping一下IP,就能知道我们做的是不是成功了。
[root@Linuxsir network-scripts]# ping 192.168.0.9
PING 192.168.0.9 (192.168.0.9) from 192.168.0.9 : 56(84) bytes of data.
64 bytes from 192.168.0.9: icmp_seq=1 ttl=255 time=0.097 ms
64 bytes from 192.168.0.9: icmp_seq=2 ttl=255 time=0.043 ms
64 bytes from 192.168.0.9: icmp_seq=3 ttl=255 time=0.043 ms
64 bytes from 192.168.0.9: icmp_seq=4 ttl=255 time=0.044 ms
64 bytes from 192.168.0.9: icmp_seq=5 ttl=255 time=0.043 ms
--- 192.168.0.9 ping statistics ---
14 packets transmitted, 14 received, 0% loss, time 12996ms
rtt min/avg/max/mdev = 0.039/0.046/0.097/0.016 ms
[root@Linuxsir network-scripts]# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) from 192.168.0.1 : 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=0.069 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=0.042 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=255 time=0.040 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=255 time=0.042 ms
--- 192.168.0.1 ping statistics ---
7 packets transmitted, 7 received, 0% loss, time 5995ms
rtt min/avg/max/mdev = 0.040/0.046/0.069/0.009 ms
Debian和Redhat、Fedora不太一样,它把interface的信息写到了/etc/network/interfaces文件中了。以18为例,给一个网卡配双IP如下
# The primary network interface
auto eth0 eth0:0
iface eth0 inet static
address 202.118.250.18
netmask 255.255.255.0
network 202.118.250.0
broadcast 202.118.250.255
gateway 202.118.250.30
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 202.118.250.101
iface eth0:0 inet static
address 173.26.100.102
netmask 255.255.255.0
network 173.26.100.0
broadcast 173.26.100.255
gateway 173.26.100.46
重起服务:/etc/init.d/network restart
后记:
单网卡绑定多IP地址,术语IP别名。
一个网络接口最多可以设置256个IP别名,在linux-2.6.30中定义如下:
/usr/include/linux/if.h
#define IFALIASZ 256
#define IFNAMSIZ 16