如何在Ubuntu Server 12.04中设置静态IP?


32
sudo apt-get update 
sudo apt-get upgrade
  1. ifconfig

  2. sudo nano /etc/network/interfaces

    auto eth0
    iface eth0 inet static
    address 192.168.1.150
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.1.255
    gateway 192.168.2.1
    safe
    
  3. sudo nano /etc/resolv.conf

    Do not edit this file by hand --your changes will be overwritten
    # I add this 
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
  4. sudo apt-get remove dhcp-client

  5. sudo /etc/init.d/networking restart

    *Running /etc/init.d/networking restart is deprecated because it may 
    not enable again some interfaces
    *Reconfiguring network interfaces...
    ssh stop/waiting
    ssh start/running,process 1438
    

错误在哪里?我不懒。我用Google搜索了3天,但没有结果。我尝试了一切。

重新启动后,/etc/resolv.conf文件将闪烁到原始状态。


知道为什么您不只是在/ etc / network / interfaces配置文件夹中做所有事情,例如:draalin.com/setting-up-a-static-ip-address-in-ubuntu还是更有意义像在resolv.conf和interfaces配置文件夹中所做的那样实际拆分内容?

我做到了直接转至网络选项卡,然后手动编辑它
poorva

Answers:


16

这有两个独立的问题:

resolv.conf 重新启动后重置条目

/etc/resolv.conf工作方式已在Ubuntu 12.04中更改。这是因为实施了https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolvingfoundations-p-dns-resolving 所描述的内容, 以克服static的某些限制。resolv.conf

在这里您可以获取更多详细信息:http : //www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

您可以通过删除符号链接/etc/resolv.conf并在其中创建一个文件来覆盖新功能/etc/resolv.conf。但是在进行此操作之前,请先参考我上面给出的链接,然后查看为什么强烈建议不要这样做。

IP地址与网络和网关冲突(设置静态IP) 此外,正如pgschk所指出的,您的IP地址与网关和网络条目不匹配。但这不是导致/etc/resolv.conf进入原始状态的原因,而是我上面提到的原因。


请写我有2个服务器时出现错误,请尽可能删除符号链接/etc/resolv.conf并在其中创建一个名为/etc/resolv.conf的文件。我从没做过。请
bemonolit 2012年

我建议您先检查一下stgraber.org链接中列出的其他解决方法(除去删除符号链接)是否对您有用。但是,如果您仍然想删除该链接,则可以使用“ mv /etc/resolv.conf /etc/resolv.conf.ori”或“ rm /etc/resolv.conf”之类的常用命令,然后创建一个新的/ etc / resolv.conf使用您喜欢的文本编辑器(如vi或nano)。
詹姆士

我希望您打算在上述问题中使用/etc/resolv.conf,而不是/etc/resolv.config
Jamess,2012年

我在线上,这只是一个bug。谢谢,关于删除链接> resolvconfig:错误/etc/resolv.conf不是符号链接,什么也不做。
2012年

6

您的网关地址与本地IP地址位于不同的子网中:

地址192.168。1 .150网关192.168。2 .1

另外,网络地址也在.2子网中指定:

网络192.168。2 .0

您使用的是192.168.1 / 24还是192.168.2 / 24子网?

编辑: 关于您的resolv.conf:该文件主要由不同的软件包更新(取决于您的设置)。尝试在/ etc / network / interfaces文件中指定名称服务器:

dns-nameservers 8.8.8.8 8.8.4.4


sudo nano / etc / network / interfaces#主网络接口自动eth0地址192.168.1.13网络掩码255.255.255.255网关192.168.1.1网络192.168.1.0广播192.168.1.225 dns-nameservers 8.8.8.8 8.8.4.4 dns-search mydomaine google。 com
bemonolit 2012年

相同的问题*不建议再运行/etc/init.d/networking resrtart,因为它可能无法再次启用某些接口*重新配置网络接口...
bemonolit 2012年

*不建议运行/etc/init.d/networking resrtart,因为它可能无法再次启用某些接口*重新配置网络接口...
bemonolit 2012年

1

您可以尝试以下选项:

  • 删除/etc/resolv.conf,然后创建一个新的resolv.conf

  • sudo nano /etc/resolv.conf 之后添加标志:

  • sudo chattr +i /etc/resolv.conf-使用此+i标志,即使root用户也无法触摸此文件。但是,如果要更改名称服务器,请将标志更改为:

  • sudo chattr -i /etc/resolv.conf然后添加新的nameserver

然后尝试重新启动,看看会发生什么:)。

我希望这能解决您的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.