昨天同学的ubuntu怎么也上不去网了,后来分析是由于电脑换了主板,mac地址变动的原因,跟着帮忙在网上搜了很多解决方案,折腾了一天,最后终于弄好了,具体一步一步怎么弄好的也不清楚,各种方法不停的试不停的找,下面总结一下用到的关于ubuntu网络配置的知识。
1、Linux是用/etc/network/interfaces这个配置文件来载入网卡的。默认配置中,它指示Linux会自动寻找eth0网卡,并自动分配IP。每刷新一次mac地址,就生成一个新的eth。可以使用ifconfig -a查看所有网络接口信息。
2、由于更换了主板,mac地址也变动了,所以同学遇到的情况就是找不到eth0,只有eth1和lo接口。解决办法:在Linux中,还有一个配置文件:/etc/udev/rules.d/70-persistent-net.rules,打开这个配置文件后,会发现里面列出了所有Linux找到的网卡,包括历史的。因此,解决无法加载网卡的问题就有两个解决办法:
一是修改interfaces配置文件,使其使用最新的eth网卡——这样做有个不好的地方,很多其他配置都是默认使用eth0的,所以如果把它变动了,很多配置文件都有改,而且有人说很多软件默认使用的也是eth0,eth1对他们来说无效。
二是删除.rules文件,让linux重新将网卡认为是eth0——这个方案成功的找回了eth0,但是系统却没有自动生成.rules文件。
“网卡MAC地址改变之后,在Linux中找到网卡,新的网卡会被识别为eth1或者更为靠后的网卡写入到/etc/udev/rules.d/70-persistent-net.rules这个文件中,修改/etc/udev/rules.d/70-persistent-net.rules这个文件,将eth0的MAC地址修改为改变后的地址就可以。“——所以后来我们又把原来文件修改之后拷贝了回去
3、说一下interfaces这个文件,我们的系统中这个文件只有lo的信息,没有eth的信息,所以我们尝试了如下方案(结果还是不能上网,有人建议如果里面只有lo的话就不要修改interfaces文件,所以这里我也不建议大家修改,只是把内容贴出来看看)
配置sudo vi /etc/network/interfaces,添加内容如下:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
保存后,重启eth0:
sudo ifconfig eth0 down
sudo ifconfig eth0 up
执行完毕后发现可以ping通8.8.8.8,却无法通过域名ping通www.baidu.com,查看/etc/resolv.conf (若无此文件则创建:sudo vi /etc/resolv.conf,chmod 644 /etc/resolv.conf ),并添加内容如下:
nameserver 8.8.8.8
4、最后再附上某位大神的帖子,专门对Ubuntu的网络配置进行了研究
Ubuntu10.10的网络配置
有一阵子着实对Ubuntu的网络配置很迷惑,耐下心来仔细上网找了找,有点小心得,总结一下。
先说下大概的配置过程,再去细究一些情况。
一、配置大概分三类:通过配置文件配置、通过命令配置、通过图形化的网络连接菜单配置。
拨号无线等的没条件实验,不涉及。
主要文件:/etc/network/interfaces,这里是IP、网关、掩码等的一些配置;/etc/resolv.conf这个文件保存DNS的有关信息
主要命令:sudo /etc/init.d/networking restart重启网络,使配置文件的配置失效;sudo route add default gw <IP地址>,设置网关。
二、配置方法
1、通过命令配置
如果你只是想暂时性的修改IP地址,可以选择这种方法。重启网络后会丢失。
1)sudo ifconfig eth0 <IP地址> netmask <子网掩码> up
eth0是网卡。最后的up表示开启网卡,可以不加。
2) sudo route add default gw <网关IP>
设置网关
3) 设置DNS,这个必须去配置文件修改,同第二种
4)配置主机名称
命令:sudo /bin/hostname <主机名>
但是系统启动时,会从/etc/hostname来读取主机的名称。
2、通过配置文件配置
1)配置IP网关:sudo gedit /etc/network/interfaces 里面添加
dhcp的:
auto loiface lo inet loopback
auto eth0iface eth0 inet dhcp
静态IP的:
auto loiface lo inet loopback#上面的是回环
#网卡eth0的配置auto eth0#staic 静态IP
iface eth0 inet staticaddress 192.168.1.5netmask 255.255.255.0gateway 192.168.1.1#network 192.168.3.0 #broadcast 192.168.3.255 #后面两条是网络号和广播号,这个可以由其它信息计算,因此无需设置
这里还可以配置第二IP(虚拟IP)
auto eth0:1iface eth0:1 inet staticaddress 192.168.1.60netmask 255.255.255.0#network x.x.x.x#broadcast x.x.x.xgateway x.x.x.x
2)配置DNS: sudo gedit /etc/resolv.conf
nameserver 202.107.117.11
3)主机名:sudo gedit /etc/hostname 里面输入主机名。默认有个主机名,因此这个不是必须的。
4)重启网络:sudo /etc/init.d/networking restart
也可以重启网卡:
sudo ifconfig eth0 down sudo ifconfig eth0 up
重启网卡对别的网卡无影响,更推荐一些。
3、通过图形化的网络连接菜单配置
这个在系统-首选项里,也叫做network manager,通过右上角面板里的网络管理小程序可以启用它的配置。
这个有点问题:它和第二种方法共用配置文件,所以会导致种种冲突,使用时要注意。
不如,这两种方法都做了配置,sudo /etc/init.d/networking restart启用的是第二种方法的配置,而点击桌面面板上的网络管理小程序中的auto eth0启用的是第三种的配置。