ubuntu下设置网络

修改文件/etc/network/interfaces
命令:sudo vi /etc/network/interfaces 或 sudo gedit /etc/network/interfaces
我的配置如下:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#etho 网络配置
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
#网关
gateway 192.168.0.236
#dns域名服务器,开机启动,若在/etc/reslov.conf中配置,则重启网络会清空配置
dns-nameservers 114.114.114.114
#路由(开机启动)
up route add -net 172.16.0.0/16 gw 192.168.0.200
up route add -net 172.17.0.0/16 gw 192.168.0.79
up route add -net 192.168.1.0/24 gw 192.168.0.79


不知道Ubuntu从哪个版本开始不是由NetworkManager生成resolv.conf的了,至少在13.04下是这样的,因为resolv.conf开头写着这样一句话:


# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
说是由resolvconf生成,NetworkManager仍然存在,因为它是DHCP上网不可缺少的,但此时禁止NetworkManager启动 已经不管用了,因为resolv.conf已经不归它管了,我们试着看看resolv.conf与resolvconf有啥关系,查看:


hadoop@Master:~$ ll /etc/resolv.conf
lrwxrwxrwx 1 root root 29  9月 11  2013 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
说明/etc/resolv.conf 其实只是一个link,它实际上指向的是 /run/resolvconf/resolv.conf,这也就解释了为什么每次重启都会被重写的原因,你改的只是个link,对原文件没有影响,而每次重启这个link还得加载原文件的内容,所以对link的修改无效。


解决方法就是:修改真实的原文件,如下:


sudo vi /etc/resolvconf/resolv.conf.d/head
发现这个文件与/etc/resolv.conf文件一模一样,这就对了,在里面加入你自己的nameserver即可,这样每次重启就不会被重写了。


PS:网上也有人说修改/etc/resolvconf/resolv.conf.d/base这个文件也行,我没有亲自测试,感兴趣的可用自己测试。



说了这么多,各版本的差异看来挺麻烦的,不知道最新的版本或以后的版本会不会又变样了,其实这里有个更简单的与版本无关的方式能够防止resolv.conf文件被重写,那就是方法二。




方法二:与版本无关
前面提到固定IP的上网方式主要是修改/etc/network/interfaces这个文件,配置IP、网关什么的,其实这里面还有个参数可以配置,那就是DNS了,对应的参数名为dns-nameservers,这里设置的优先级比resolv.conf高,也就是网络会从这里读取DNS配置,如果没配置才去看resolv.conf里面的设置,因此在这里面配置DNS更简单。


# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0


iface eth0 inet static
address 192.168.1.151
netmask 255.255.255.0
gateway 192.168.1.2


dns-nameservers 202.38.64.1

####

方法一 通过/etc/network/interfaces,在它的最后增加一句:

dns-nameservers 8.8.8.8

8.8.8.8是Google提供的DNS服务,这里只是举一个例子,你也可以改成电信运营商的DNS。重启后DNS就生效了,这时候再看/etc/resolv.conf,最下面就多了一行:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8

方法二 通过修改:

/etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)

在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4

如果有多个DNS就一行一个

修改好保存,然后执行

resolvconf -u

再看/etc/resolv.conf,最下面就多了2行:

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4

可以看到我们的设置已经加上了,然后再ping一个域名,当时就可以解析了,无需重启。

附:CentOS下修改DNS则容易的多了,直接修改/etc/resolv.conf,内容是:
nameserver 8.8.8.8
nameserver 8.8.4.4

保存就生效了,重启也没问题。

###
主机名
主机名是由内核维护的。初始化脚本 /etc/init.d/hostname.sh 在系统启动的时候根据 /etc/hostname 中存储的名称设置主机名(使用 hostname 这个命令)。这个文件应该只包含系统的主机名,而不是完整的域名。


运行 hostname(不带任何参数)可以打印出当前的主机名。


重启虚拟机网络
配置完成后,重启网络即可,也有好几种方法:


sudo service networking restart 
或者
sudo /etc/init.d/networking restart
也可以重启网卡:


sudo ifconfig eth0 down 
sudo ifconfig eth0 up
重启网卡对别的网卡无影响,更推荐一些。


赶紧ping下www.baidu.com吧,应该可以上网了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值