Ubuntu(14.04) 基于NetworkManager网络管理工具下的网络管理

在命令行在进行多网络管理是源于我的一个特殊需求,但是由于种种原因,又不想换回network那种老方式去管理网络.

先说说这个特殊需求:

在笔记本上运行Ubuntu(虚拟机),系统带一个网站项目,因为既要在办公室和家里能同时通过外网调试项目,所以也集成了花生壳.在这种情况下因为家里和办公室的网络环境不一样,所以在Ubuntu用NetworkMangager做了两个配置文件,一个Office配置,一个Home配置,每次换环境时,在桌面用鼠标进行网络配置的切换.

当前的问题时,这个项目的的开发进入了另一个阶段,为了让其它开发人员也能访问,也要考虑节约内存的前提下,从虚拟机调低了Ubuntu的内存值,以后从命令行进行网络管理.

那么问题就来了,

1.两个配置文件都指定的静态Ip地址,所以NetworkManager会认为两个配置文件都可以用,不会通过智能检测进行网络切换;

2.在命令行下如何进行NetworkManager的手工切换.

你可能会说,把网络环境统一一下,家里和办公室的配置都可以用一个IP访问不就得了.这样一来,办公室去更换网络配置,肯定会影响其他同事,家里的更换网络环境,其它设备也要跟着换(手机,电视,盒子..)也是很麻烦的事情.

因为刚入手Ubuntu环境,高手应该有更好的办法,所以请高手勿喷:

先来看看NetworkManager的使用帮助:

Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }


OPTIONS
  -t[erse]                                   terse output
  -p[retty]                                  pretty output
  -m[ode] tabular|multiline                  output mode
  -f[ields] |all|common   specify fields to output
  -e[scape] yes|no                           escape columns separators in values
  -n[ocheck]                                 don't check nmcli and NetworkManager versions
  -v[ersion]                                 show program version
  -h[elp]                                    print this help


OBJECT
  nm              NetworkManager's status
  c[onnection]    NetworkManager's connections
  d[evice]        devices managed by NetworkManager


再来看看我的配置:

dinofish@ubuntu:~$ nmcli c 
名称                      UUID                                   类型              真实时间戳                        
Home                      626e0ddd-c03d-4138-8b67-13284c6427f6   802-3-ethernet    2014年08月04日 星期一 01时34分55秒
Office                    2de58f26-884d-43e9-a451-0ccb68892637   802-3-ethernet    2014年08月04日 星期一 01时15分34秒

一个Home配置一个Office配置


那么每次进行切换时,只需要运行如下命令即可:

dinofish@ubuntu:~$ nmcli c up id Office

或者

dinofish@ubuntu:~$ nmcli c up id  Home

你可能感兴趣的:(Ubuntu)