精华--CentOS多网卡配置
2015-10-26 10:00
281 查看
事情是这样的,我之前在windows用vmware建了一个centos,现在ubuntu开发,要用到之前的虚拟机,所以下了个vmware10, 因为文件格式来自于同一款软件,所以ubuntu下可以使用windows创建的虚拟机。顺利开机让我略感兴奋,当我配置完ssh后发现ip地址变了,然后我决定配置为静态的ip,重启网络时报错:没有找到合适的设备,没有找到可用于连接‘Auto_eth0'的设备
当时我就不高兴了,用ifconfig一看,发现跟本就没有eth0,只有eth1, 然后
cd /etc/sysconfig/network-scripts/
发现有Auto_eth0的配置文件,然后
cd /etc/sysconfig/networking/devices/
发现有Auto_eth0这个设备
但是找不到eth1!!!而且有eth0,配置也是完整的,为什么报错!!!
事情是这样的:在linux下一切皆文件,我们可以这样理解,linux要上网必须要网卡,那么网卡就对应着一些配置文件,其中
/etc/sysconfig/networking/devices/ 下对应的是网卡
/etc/sysconfig/network-scripts/ 下对应的是网卡的配置文件
网络启动时会在配置文件目录下找网卡配置,比如ifcfg-Auto_eth0
因为虚拟机是借助于主机的网卡,所以不同的主机给出的网卡硬件地址也不一样,可以用ifconfig查看
如果我们把虚拟机整个移到另外的系统或者重装了vmware但是虚拟机文件还在,那么下次打开时虚拟机的网卡硬件地址和之前会不一样,但是你又找不到配置文件,所以我们需要自己根据以前的网卡配置新建对应的配置文件,具体过程如下:
cd /etc/sysconfig/networking/devices/
cp ifcfg-Auto_eth0 ifcfg-Auto_eth1
vi ifcfg-Auto_eth1
HWADDR换成ifconfig中eth1的硬件地址,DEVICE换成Auto_eth1,NAME换成"Auto eth1"
cd /etc/sysconfig/network-scripts/
cp ifcfg-Auto_eth0 ifcfg-eth1
vi ifcfg-eth1
HWADDR换成ifconfig中eth1的硬件地址,DEVICE换成Auto_eth1,NAME换成"eth1",IPADDR和GATEWAY换成ifconfig中eth1的ip和网关
两个文件的配置差不多,但是意义不一样,前者是设备,后者是配置
总结:如果你有多张网卡,配置的套路是一样的,先在 /etc/sysconfig/networking/devices/ 下补全设备,然后在 /etc/sysconfig/network-scripts/ 下补全对应的配置,最后记得执行 service network restart
注意事项:如果你的虚拟机是经过迁移的(系统或者软件环境变化),那么可能原先的网卡已经不存在,无法使用,但是配置文件还在,这时需要把没用的网卡配置文件移除:这里我假设是 Auto_eth0网卡不见了:
cd /etc/sysconfig/network-scripts/
mv ifcfg-Auto_eth0 ifcfg-Auto_eth0.bak
这里不删除文件的原因主要是如果以后还会在原来的环境下使用这个虚拟机则这里的Auto_eth0就得用上,那我们配置的其它网卡就得移除(网卡对应的设备文件不用动,只需要删配置文件)
当时我就不高兴了,用ifconfig一看,发现跟本就没有eth0,只有eth1, 然后
cd /etc/sysconfig/network-scripts/
发现有Auto_eth0的配置文件,然后
cd /etc/sysconfig/networking/devices/
发现有Auto_eth0这个设备
但是找不到eth1!!!而且有eth0,配置也是完整的,为什么报错!!!
事情是这样的:在linux下一切皆文件,我们可以这样理解,linux要上网必须要网卡,那么网卡就对应着一些配置文件,其中
/etc/sysconfig/networking/devices/ 下对应的是网卡
/etc/sysconfig/network-scripts/ 下对应的是网卡的配置文件
网络启动时会在配置文件目录下找网卡配置,比如ifcfg-Auto_eth0
因为虚拟机是借助于主机的网卡,所以不同的主机给出的网卡硬件地址也不一样,可以用ifconfig查看
如果我们把虚拟机整个移到另外的系统或者重装了vmware但是虚拟机文件还在,那么下次打开时虚拟机的网卡硬件地址和之前会不一样,但是你又找不到配置文件,所以我们需要自己根据以前的网卡配置新建对应的配置文件,具体过程如下:
cd /etc/sysconfig/networking/devices/
cp ifcfg-Auto_eth0 ifcfg-Auto_eth1
vi ifcfg-Auto_eth1
HWADDR换成ifconfig中eth1的硬件地址,DEVICE换成Auto_eth1,NAME换成"Auto eth1"
cd /etc/sysconfig/network-scripts/
cp ifcfg-Auto_eth0 ifcfg-eth1
vi ifcfg-eth1
HWADDR换成ifconfig中eth1的硬件地址,DEVICE换成Auto_eth1,NAME换成"eth1",IPADDR和GATEWAY换成ifconfig中eth1的ip和网关
两个文件的配置差不多,但是意义不一样,前者是设备,后者是配置
总结:如果你有多张网卡,配置的套路是一样的,先在 /etc/sysconfig/networking/devices/ 下补全设备,然后在 /etc/sysconfig/network-scripts/ 下补全对应的配置,最后记得执行 service network restart
注意事项:如果你的虚拟机是经过迁移的(系统或者软件环境变化),那么可能原先的网卡已经不存在,无法使用,但是配置文件还在,这时需要把没用的网卡配置文件移除:这里我假设是 Auto_eth0网卡不见了:
cd /etc/sysconfig/network-scripts/
mv ifcfg-Auto_eth0 ifcfg-Auto_eth0.bak
这里不删除文件的原因主要是如果以后还会在原来的环境下使用这个虚拟机则这里的Auto_eth0就得用上,那我们配置的其它网卡就得移除(网卡对应的设备文件不用动,只需要删配置文件)
相关文章推荐
- linux服务器安全运维
- 企业日志分析之linux系统message收集展示
- Linux编译内核提示'make menuconfig' requires the ncurses libraries错误
- linux终端的拷贝命令
- linux 检查并锁定可疑用户,然后T下线
- Linux查找/扫描局域网打印机IP
- 每天一个linux命令(22):find 命令的参数详解
- 基于Linux下的GCC编译器的内部预宏定义与__attribute__属性
- Linux学习笔记<tar和zip命令>
- 【鸟哥的linux私房菜-学习笔记】档案与文件系统的压缩与打包
- Linux生成生成公钥和私钥 QT环境
- 老照片:Linux 的 24 年历史,一步一个脚印
- Linux Eclipse代码提示功能设置(Java & C/C++)
- Linux/Ubuntu 怎么设置打开远程桌面登录连接
- 10 个给 Linux 用户的有用工具
- Linux回收站管理
- LINUX设备驱动程序的注意事项(两)建设和执行模块
- Linux 中 df 命令的11个例子
- Linux 中 df 命令的11个例子
- control + D 退出linux 当前命令(行)