ubuntu networking 与 network-manager
刚遇到的坑,因为操作不当导致网络中断,于是手动配置了/etc/network/interfaces , 修复了系统之后发现ubuntu-desktop中的有线链接不见了,百度了一下说是networking服务和network-manger服务会起冲突。
======================
【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管理网络连接的有两个东西,图形化的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
转自:http://blog.csdn.net/anhuidelinger/article/details/17584299
=====================================
上面是从网上转的博客,如果是想要解决问题的话没有问题,但并没有说到实质问题的根源。在我手动配置了/etc/networking/interfaces后去重启 networking服务时会报错:ubuntu RTNETLINK answers: File exists,错误显示网络设备文件已经创建了,也就是说两个服务起冲突的原因是都会去创建网络设备文件。
ubuntu networking 与 network-manager的更多相关文章
- 解决面板里没有network manager图标的问题 ,也就是在桌面环境下,没有那个网络图标
在安装好了桌面之后,竟然发现没有那个连接网络的图标,本来想连接无限网络.可是.......如果去手动命令行下去配置这个连接wifi有些麻烦,所以我还是去找解决办法了 我执行了一条命令就解决了 gcon ...
- A start job is running for Network Manager wait online (29s / no limit) 等待30s解决办法
电脑安装openSUSE42.3和 Ubuntu16.04 双系统,当电脑插上网线后开机会出现A start job is running for Network Manager wait onlin ...
- Ubuntu中Android SDK Manager无法更新解决办法
Ubuntu中Android SDK Manager无法更新解决办法http://hi.baidu.com/petercao2008/item/d7a64441f04668e81e19bc1a
- Ubuntu下安装PAC Manager
在Windows下习惯使用XShell.PAC Manager其实就是一个在Linux系统类似XShell的工具. 下载地址: https://sourceforge.net/projects/pac ...
- Ubuntu下安装Kafka Manager
参考 : kafka管理器kafka-manager部署安装 下载Kafka Manager,并进行打包,由于Kafka manager是由scala写的,所以需要由sbt的支持 git clone ...
- ubuntu 中启动SDK manager
Android SDK安装后,目录结构如下: root@localhost:/home/ranxf/Android/Sdk/android-sdk-linux# ll 总用量 drwxrwxr-x r ...
- ubuntu下使用sdk manager 安装sdk 其他版本
在终端运行SDK Manager 的脚本 sdk目录下的tools目录下的 android 脚本 就能打开sdk manager界面进行选择安装了.
- Ubuntu中清理Network下Connect to Server的入口
转自:http://blog.csdn.net/maxilbert/article/details/51126467 connect to server入口列表文件以xml格式存放在 ~/.confi ...
- NetworkManager的坑(如何让network manager不去管理网络端口)
在CentOS上,有时你需要停止并禁用 NetworkManager.但这样做了之后,其实NetworkManager还在影响着你的端口. 比如你有端口配置如下: [root@compute02 ~] ...
随机推荐
- input输入框中list属性不能没有效果
网页代码入下,就是出不来效果. 人物:zslsww 解决办法: 将option中的value属性去掉: 张山李四王五爪留 显示效果,问题得到解决.
- HP-UNIX平台修改Oracle processes参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302
OS 版本 :HP-UX B.11.31Oracle版本:11.2.0.4 (RAC) (一)问题描述 最近发现无法连接上数据库,报错信息为“ORA-00020:maximum number ...
- luajit 64位 for cocos2dx 编译ios解决方法
最近luajit发布了64位beta版,由于appstore上线必须是64位的应用,而且我的游戏项目用到lua脚本,所以必须要用到64位的luajit来编译lua脚本. 方法如下: 在luajit官网 ...
- 第一次使用mpvue的小记
昨晚睡前打开了半个月没打开的知乎, 看到了一个专栏文章再见jquery,我的老朋友,突然想到之前github传出,github已经彻底删除jquery,这似乎标志着前端已经完全进入了一个新的时代, ...
- Apache 错误:httpd: Could not open configuration file
神奇的事件,折磨我 电脑关机重启了一下关机之前正常的状态没有任何的异常出现,过了一会开机准备工作.神奇的事情tmd出现了!!!! 打开phpstudy 启动... 嗯?apache亮红报错?? 第一反 ...
- Js 手指事件
1.Touch事件简介 pc上的web页面鼠标会产生onmousedown.onmouseup.onmouseout.onmouseover.onmousemove的事件,但是在移动终端如ipho ...
- Python 1.1数字与字符基础
一. 基础数字操作 1.加减乘除以及内置函数: min(), max(), sum(), abs(), len() math库: math.pi math.e, math.si ...
- Vue 生产环境部署
简要:继上次搭建vue环境后,开始着手vue的学习;为此向大家分享从开发环境部署到生产环境(线上)中遇到的问题和解决办法,希望能够跟各位VUE大神学习探索,如果有不对或者好的建议告知下:*~*! 一. ...
- Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数
Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...
- 教你阅读MSDN英文文档,迅速提升编程能力
在教大家阅读英文文档之前,首先给大家明确一个概念.C#和.NET的区别? 有一定编程经验的同学应该多多少少知道这方面的概念,但是可能模糊,理解的不一定深刻.我在这里简单给出两者的基本定义: C#:仅仅 ...