不同的linux distribution一塊網卡配置多個IP的方法基本相同,只不過編輯的檔案不同。
1. Ubuntu 配置多個IP
編輯/etc/network/interfaces: sudo vi /etc/network/interfaces, 然後按照interfaces上邊eth0配置,在interfaces中添加eth0:0即可。例如:
原來的interfaces為:
auto eth0
iface eth0 inet static
name Ethernet Lan card
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
編輯後的interfaces為:
auto eth0
iface eth0 inet static
name Ethernet Lan card
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
auto eth0:0
iface eth0:0 inet static
name Ethernet
address 192.168.2.2
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1
2. 國產linux(red hat ,Centos等)
編輯/etc/sysconfig/network-scripts/ifcfg-eth0:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0,然後按照ifcfg-eth0上邊eth0配置,在ifcfg-eth0中添加eth0:0即可。例如:
編輯前的ifcfg-eth0為:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.4.255
HWADDR=xx:xx:xx:xx:xx:xx
IPADDR=192.168.4.2
NETMASK=255.255.255.0
NETWORK=192.168.4.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.4.1
DNS1=192.168.0.20
DNS2=192.168.0.21
編輯後的ifcfg-eth0為:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.4.255
HWADDR=xx:xx:xx:xx:xx:xx
IPADDR=192.168.4.2
NETMASK=255.255.255.0
NETWORK=192.168.4.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.4.1
DNS1=192.168.0.20
DNS2=192.168.0.21
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=xx:xx:xx:xx:xx:xx
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.1.1
DNS1=192.168.0.20
DNS2=192.168.0.21
【注】:1.國產linux中要是配置後的多個IP生效,每次啟動系統之後都必須重啟網路,而且需要將能上網的IP編輯到最後,上面的例子中就應該寫到eth0:0裡,ubuntu沒出現類似問題。
2.如果安裝的是案頭版的linux,則設定上述的設定檔會和案頭環境下配置的IP衝突,而且案頭環境下無法給一塊網卡配置多個IP,即使配置了也只有最前面的生效,因此我們建議使用設定檔的方式實現一塊網卡多個IP的配置,而且為了防止衝突需要在配置前將linux的運行模式轉換為mode 3,即執行#init 3,然後重啟網路,通過設定檔配置的IP就會生效。但是轉換linux運行模式會將gnome 或kde進程殺掉,所以案頭環境就不能使用了,所以還是建議安裝伺服器版linux。