Ubuntu中启用关闭Network-manager网络设置问题!

【Server版本】

在UbuntuServer版本中,因为只存有命令行模式,所以要想进行网络参数设置,只能通过修改/etc/network/interfaces。具体设置方法如下:

(1) UbuntuServer 修改 IP地址

打开/etc/network/interfaces

sudo vim/etc/network/interfaces

加入以下语句:

auto eth0

iface eth0inet static

addressxxx.xxx.xxx.xxx #IP地址

netmaskxxx.xxx.xxx.xxx #子网掩码

gatewayxxx.xxx.xxx.xxx #网关

(2) UbuntuServer 修改 DNS

打开/etc/resolv.conf

sudo vim/etc/resolv.conf

改为如下内容:

searchlocaldomain #如果本Server为DNS服务器,可以加上这一句,如果不是,可以不加

nameserver172.16.3.4 #希望修改成的DNS

nameserver172.16.3.3 #希望修改成的DNS

(3) UbuntuServer 最后一步,也是最重要的一步

  在rc.local里加入这个重启网络配置的命令:

sudo/etc/init.d/networking restart

【Desktop版本】

在Desktop版本中,除了可以修改/etc/network/interfaces来进行配置以外;还可以直接在network-manager中配置。通过 interfaces修改的方法参照Server版本。network-manager的配置和直观,按照提示一步一步操作即可,有兴趣的朋友,可以自行Google或者Baidu。

但如果修改了interfaces,又配置了network-manager(以下简称nm),你就会发现出现了一些莫名其妙的问题:

1,interfaces和 nm中的网络设置不一样,系统实际的IP是哪个?

2,有时候莫名其妙的,界面右上角的网络连接图标就丢失了。

3,明明在nm中配置了正确的网络设置,为什么就上不了网呢?

其实,我们要知道 interfaces和 nm之间的关系,这些问题就不难解释了。

首先,当系统内没有第三方网络管理工具(比如nm)时,系统默认使用interfaces文件内的参数进行网络配置。(就像Server版本一样)

接着,当系统内安装了 nm之后,nm默认接管了系统的网络配置,使用nm 自己的网络配置参数来进行配置。

但是,如果用户在安装nm之后(Desktop版本默认安装了nm),自己手动修改了interfaces 文件,那nm 就自动停止对系统网络的管理,系统改使用interfaces 文件内的参数进行网络配置。

此时,再去修改nm 内的参数,不影响系统实际的网络配置。若要让nm 内的配置生效,必须重新启用nm 接管系统的网络配置。

现在知道了两者之间的工作关系,再看上面的三个问题:

1,要看nm是否接管,如果没有接管,系统实际的IP设置以interfaces 中的为准。反之,以nm 中的为准。

2,当nm 停止接管的时候,网络连接图标就丢失了。

3,同样是接管的问题。

如果用户希望在Desktop版本中,直接使用interfaces 进行网络配置,那最好删除network-manager 。

如果在出现上述问题之后,希望能继续使用nm 来进行网络配置,则需要进行如下操作:

sudo servicenetwork-manager stop # 停止 nm服务

sudo rm/var/lib/NetworkManager/NetworkManager.state # 移除nm 的状态文件

sudo gedit/etc/NetworkManager/nm-system-settings.conf # 打开nm 的配置文件

##里面有一行:managed=true

## 如果你手工改过/etc/network/interfaces,nm会自己把这行改成:managed=false

## 将false 修改成true

sudo servicenetwork-manager start


Debian/Ubuntu的Network-Manager

Debian/Ubuntu的Network-Manager

    debian/ubuntu管理网络连接的有两个东西,图形化的NetworkManager和文字的 ifup/ifdown,如果在 /etc/network/interfaces里设置了网卡信息,那么NetworkManager就不会接管该网卡,如果没有设置NetworkManager默认是会接管网卡的。
    NetworkManager最方便的地方是个人电脑用无线连网的时候,因为文字界面的 iwlist wlan0 scan 并不是非常好用,而NetworkManger可以像windows那样列出所有可用的wifi热点,如果有中文乱码的,也一样可以连接,但如果你的机子是用来做服务器的,或者是在办公室里使用,有固定的路由环境,一般来说,也会有固定的ip,因为这样可以方便内网共享资源。总之不是个人用的,而且不用移来移去的话,最好是关掉这个NetworkManager,当然如果你经常带着本子跑,想去咖啡馆蹭网的话,就一定要打开这个NetworkManager,自动搜索无线非常方便了。
    下面来说说这两种情况:
    1,使用NetworkManger来联网,这个时候,如果使用了无线连接路由,而在/etc/network/interfaces里配置了有线连接的eth0的话,就会发生一个超级诡异的问题:可以访问外网,但不能访问内网,比如无线路由ip 192.168.0.1,ping该地址,会显示有线网卡的ip地址无法ping通,而不是无线!证明在设置了有线eth0的时候,会优先采用,但奇怪的是,外网连接正常,所有我怀疑这可能是debian的一个bug。所以当使用 NetworkManager的时候,可以注释掉所有/etc/network/interfaces 里的内容,仅仅保留本地回环网络:
        auto lo
        iface lo inet loopback
    这两句。设置固定ip,可以在NetworkManager图形界面里配置。
    2,关闭NetworkManager,关闭命令:sudo /etc/init.d/network-manager stop 取消开机启动:chkconfig network-manager off 重启网络:/etc/init.d/networking restart
    修改 /etc/network/interfaces 文件,
    系统配置部分:本地回环网络。
        auto lo
        iface lo inet loopback
    有线配置部分:
        auto eth0
        #iface eth0 inet dhcp # 如果你不想用固定ip的话,推荐用固定ip,这样可以省去请求路由分配的时间
        iface eth0 inet static
        netmask 255.255.255.0
        gateway 192.168.0.1      #gateway 0.0.0.0 # 拨号上网请把 gateway全部设置为0
        address 192.168.0.112
    无线配置部分:
        auto wlan0
        iface wlan0 inet static
        netmask 255.255.255.0
        gateway 192.168.0.1
        address 192.168.0.113
        pre-up ip link set wlan0 up
        pre-up iwconfig wlan0 essid ssid
        wpa-ssid TP-Link # 这里的ssid为路由里设置的无线名称
        wpa-psk 12345678 # 无线密码
    adsl拨号上网:
        auto dsl-provider
        iface dsl-provider inet ppp # dsl-provider 为之前配置好的拨号名称
        provider dsl-provider