注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

淘尽网 官方博客

淘尽网http://www.tao3w.com做最好的比价网站

 
 
 

日志

 
 
关于我

淘尽网 http://www.tao3w.com 做最好的比价网站,做最好的数据抓取专家。

网易考拉推荐

Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS  

2012-06-02 23:54:44|  分类: LINUX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://hi.baidu.com/new/41202197514?page=2

静态IP的配置方法可参考如下

这里主要解决一个问题,那就是每次重启计算机之后resolv.conf 里面配置的域名地址 也就是nameserver DNS的信息被清空,网上查了查才知道是network manager 搞得鬼;

网上有两种解决办法:

一:禁用network manager 就是下面第一种:

      停止network manager服务,防止其在启动时重写/etc/resolv.conf文件

      sudo service network-manager stop

      sudo /etc/init.d/network-manager stop

      这种办法不能完全解决resolv.conf被覆盖的问题。所以我们可以禁止network manager启动,如下:

      sudo vi /etc/init/network-manager.conf

二:在启动文件里执行脚本,重新写resolv.conf 里面的内容(个人推荐):

vim /etc/rc.local

     在exit 0 之前加入

     echo "nameserver IP_ADDR" >>/etc/resolv.conf 

     echo "nameserver IP_ADDR" >>/etc/resolv.conf 

     echo "nameserver IP_ADDR" >>/etc/resolv.conf

最多只能三条

重启没问题了

 

出处:http://lichuanbao.iteye.com/blog/1528592

 

配置静态IP地址的路径 Java代码 Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS - jjdoor - 淘尽网 官方博客
  1. /etc/network/interfaces
/etc/network/interfaces配置如下: Java代码 Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS - jjdoor - 淘尽网 官方博客
  1. auto eth0//使用第一个网卡
  2. iface eth0 inet static//静态分配IP
  3. address172.16.21.234//要使用的IP地址
  4. gateway 172.16.21.1//网关
  5. netmask 255.255.255.0//子网掩码
  6. network 172.16.21.0//这个还没明白什么意思
  7. broadcast 172.16.21.255//广播地址
auto eth0//使用第一个网卡iface eth0 inet static//静态分配IPaddress 172.16.21.234//要使用的IP地址gateway 172.16.21.1//网关netmask 255.255.255.0//子网掩码network 172.16.21.0//这个还没明白什么意思broadcast 172.16.21.255//广播地址 

然后重启一下网络服务 Java代码 Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS - jjdoor - 淘尽网 官方博客
  1. /etc/init.d/networking restart
/etc/init.d/networking restart这样配置后就可以联通统一网段的内网机器了。 

如果要链接外网,还需要配置DNS的信息。需要在 Java代码 Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS - jjdoor - 淘尽网 官方博客
  1. /etc/resolv.conf
/etc/resolv.conf中配置DNS服务器的信息。如下示例,直接在文件中删除以前的配置,添加下面的配置即可 Java代码 Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS - jjdoor - 淘尽网 官方博客
  1. nameserver 172.16.24.12//这里要填写实际的DNS的IP地址
nameserver 172.16.24.12//这里要填写实际的DNS的IP地址
然后再次重启网卡使配置生效 Java代码 Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS - jjdoor - 淘尽网 官方博客
  1. /etc/init.d/networking restart
/etc/init.d/networking restart这样有个缺点,/etc/resolv.conf文件当每次重启时,系统会根据DHCP分配的信息重写这个文件,以前内容会被覆盖。因此这个方法治标不治本。 

网上有很多防止/etc/resolv.conf被覆盖的方法,比如在启动时停止网络服务自动启动。我在实际使用中这些配置都没有起到作用,每次重启我的配置依然被重写掉。
===================================================================== 
于是我想到了linux开机自启动的服务,如果在开机启动时,让脚本自动将DNS信息写入/etc/resolv.conf文件中,那么每次重启机器不就不用再手动填写了吗?说干就干,网上查到/etc/rc.local脚本是每次启动时最后执行的一个脚本,查看这个脚本的内容,除了注释,只有一个正常的退出语句 Java代码 Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS - jjdoor - 淘尽网 官方博客
  1. exit 0
exit 0于是,我在这个退出语句之前添加了输入DNS配置到/etc/resolv.conf的命令 Java代码 Ubuntu Linux 配置静态 固定IP 重启 resolv.conf 清空 域名 DNS - jjdoor - 淘尽网 官方博客
  1. echo "nameserver 172.16.xxx.xxx">>/etc/resolv.conf
echo "nameserver 172.16.xxx.xxx">>/etc/resolv.conf,然后重启,查看/etc/resolv.conf,果然,DNS配置信息已经配置好了。现在每次重启就不用再手动配置DNS就可以正常访问外网了。这里的DNS服务器地址你要根据你的实际情况配置,比如是使用你们公司内网的DNS还是公网的DNS,知道了地址,替换掉上面代码中的nameserver的值就可以了。

解决办法一:出处:http://www.linuxso.com/linuxrumen/17387.html

ubuntu 设置静态IP网上的文章很多,这里不做缀述,只记录一下主要的过程:

1. sudo vi /etc/network/interfaces

auto lo
iface lo inet loopback

#static
auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx

:wq

2. sudo vi /etc/resolv.conf

# Generated by NetworkManager
nameserver 10.1.8.33 DNS

3.停止network manager服务,防止其在启动时重写/etc/resolv.conf文件

sudo service network-manager stop

sudo /etc/init.d/network-manager stop

这种办法不能完全解决resolv.conf被覆盖的问题。所以我们可以禁止network manager启动,如下:

sudo vi /etc/init/network-manager.conf

注释掉start on 的部分

4. sudo reboot

至此,静态IP配置过程完毕。

 

解决办法二: 出处:http://blog.csdn.net/gudaoqianfu/article/details/7335077

virtualbox中安装ubuntu虚拟机之后,启动ubuntu,在virtualbox的“设备→分配网络连接→连接方式”中选择bridged adapter,这样设置之后虚拟机便有独立的局域网ip。

但可能是由于本人安装了多个虚拟机,且虚拟机多次开启和关闭,有时一个虚拟机启动后自动分配的ip地址会不一样,所以需要使用下面的方法来配置静态ip地址。
一、启动虚拟机,查看当前网络配置信息命令行执行ifconfig,结果为:tigerchan@tigerchan-VirtualBox:~$ ifconfig eth1      Link encap:以太网  硬件地址 08:00:27:e0:0a:ff            inet 地址:192.168.1.115  广播:192.168.1.255  掩码:255.255.255.0          UP BROADCAST RUNNING MULTICAST  MTU:576  跃点数:1          接收数据包:2583 错误:0 丢弃:0 过载:0 帧数:0          发送数据包:2235 错误:0 丢弃:0 过载:0 载波:0          碰撞:0 发送队列长度:1000           接收字节:980042 (980.0 KB)  发送字节:262630 (262.6 KB)
lo        Link encap:本地环回            inet 地址:127.0.0.1  掩码:255.0.0.0          inet6 地址: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:16436  跃点数:1          接收数据包:242 错误:0 丢弃:0 过载:0 帧数:0          发送数据包:242 错误:0 丢弃:0 过载:0 载波:0          碰撞:0 发送队列长度:0           接收字节:292381 (292.3 KB)  发送字节:292381 (292.3 KB)
目前已配置了网卡eth1。好吧,那此次配置的静态ip就用192.168.1.115。
二、修改配置文件ubuntu网络配置文件为:/etc/network/interfacesDNS配置文件为:/etc/resolv.conf
下面介绍设置DHCP(设置之后,ip地址仍不固定)和静态ip两种方法。1、DHCP配置方式编辑配置文件:tigerchan@tigerchan-VirtualBox:~$ sudo vi /etc/network/interfaces auto loiface lo inet loopback
在文件中追加一下内容:auto eth1
iface eth1 inet dhcp重启网络使配置生效:sudo /etc/init.d/networking restart重启之后网络及DNS均能正常使用。
2、配置静态ip地址编辑配置文件,修改内容为:tigerchan@tigerchan-VirtualBox:~$ sudo vi /etc/network/interfaces auto loiface lo inet loopback
auto eth1iface eth1 inet staticaddress 192.168.1.115gateway 192.168.1.1netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255
当然,地址、网关、掩码、子网、广播地址根据自己的需要进行配置。此时,重启网络之后执行ping 119.75.218.70(百度)能ping通,而执行ping www.baidu.com不能ping通,因为没有设置DNS服务器。
3、配置DNS修改DNS配置文件:tigerchan@tigerchan-VirtualBox:~$ sudo vi /etc/resolv.conf nameserver x.x.x.xnameserver x1.x1.x1.x1x.x.x.x为首选DNS服务器地址,x1.x1.x1.x1为备用DNS服务器地址。可以设置一个或多个。
保存后重启:sudo /etc/init.d/networking restart
完成配置静态ip地址。但是还有一个问题,每次重启ubuntu,DNS配置会被清除,必须重新配置才能使用DNS。于是,期望在网上寻求答案。但是,很遗憾,搜索到的几个方法根本行不通,而且同一篇文章被转发了无数次,却有一些人在ubuntu和chinaunix的论坛上抱怨网上的方法根本不起作用,不知那些转发文章的人是否自己验证过或者去寻求正确的答案。于是,自己想了一个简单的方法解决问题,即是在启动脚本/etc/rc.local中将DNS服务器地址写入/etc/resolv.conf:tigerchan@tigerchan-VirtualBox:~$ sudo vi /etc/rc.local  #!/bin/sh -e## rc.local## This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.## In order to enable or disable this script just change the execution# bits.## By default this script does nothing.
echo "nameserver x.x.x.x" >/etc/resolv.confecho "nameserver x1.x1.x1.x1" >>/etc/resolv.conf
exit 0
在文件中添加了两行echo,保存并关闭文件。重启系统后,DNS也可以正常使用了。够简单吧。
不过,当然,你要保证/etc/rc.local可执行并且执行正确。我曾遇到这样的问题:按照上面的过程配置了,但是启动后并没有执行两条echo命令。检查rc.local权限发现所有用户具有可执行权限。之后发现,rc.local的第一行是#!/bin/sh -e,其中-e选项表示只要任何一条命令出错,脚本就会停止执行。哦,原来是在两条echo命令前的一条命令执行出错了!解决方法有两种,一是删除-e,二是将两条echo命令移到执行错误的命令之前。配置终于perfect了!
最后,如果安装ubuntu后无法连网,可以使用上述DHCP和静态ip地址的方法。无论对于实机安装还是虚拟机安装,上述两种方法均成立。

 

  评论这张
 
阅读(2413)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017