[administrative][CentOS][NetworkManager] 万恶的NetworkManager到底怎么用

工程文档:

https://wiki.gnome.org/Projects/NetworkManager

RH admin 手册:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/

nmcli使用手册:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-network_config_using_nmcli

基本理解之后,直接看help。主要是理解connect,device,等这些概念。

[root@D128 j]# nmcli help

接下来,做一个例子试一下:

增加一个tap设备:

[root@D128 j]# nmcli connection
NAME UUID TYPE DEVICE
ens33 e4672331--4db8-b818-d6ff50f901af --ethernet ens33
[root@D128 j]# nmcli connection add type tun mode tap ifname tap-nlb con-name tap-nlb autoconnect yes save yes
Connection 'tap-nlb' (b3e1db65---95f5-9cba4035ee08) successfully added.
[root@D128 j]# nmcli connection
NAME UUID TYPE DEVICE
ens33 e4672331--4db8-b818-d6ff50f901af --ethernet ens33
tap-nlb b3e1db65---95f5-9cba4035ee08 tun tap-nlb
[root@D128 j]#

生成的配置文件在这里:

[root@D128 j]# cat /etc/NetworkManager/system-connections/tap-nlb
[connection]
id=tap-nlb
uuid=b3e1db65---95f5-9cba4035ee08
type=tun
interface-name=tap-nlb
permissions= [tun]
mode= [ipv4]
dns-search=
method=auto [ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto

修改禁用tap的DHCP:

[root@D128 ~]# nmcli connection modify tap-nlb ipv4.method link-local

删除tap连接设备:

[root@D128 ~]# nmcli connection delete tap-nlb
Connection 'tap-nlb' (b3e1db65---95f5-9cba4035ee08) successfully deleted.

连接在up/down的时候会自动增加或删除设备,可以用nmcli device 查看。

再来个例子,增加一个对外的网桥:

1。加网桥:

[root@D128 ~]# nmcli connection add type bridge ifname br-ext autoconnect yes save yes
Connection 'bridge-br-ext' (e886ae77-3a2c-4c93-aee0-4dea8b4d12a8) successfully added.
[root@D128 ~]# nmcli connection show
NAME UUID TYPE DEVICE
bridge-br-ext e886ae77-3a2c-4c93-aee0-4dea8b4d12a8 bridge br-ext
ens33 e4672331--4db8-b818-d6ff50f901af --ethernet ens33
[root@D128 ~]# nmcli device
DEVICE TYPE STATE CONNECTION
ens33 ethernet connected ens33
br-ext bridge connecting (getting IP configuration) bridge-br-ext
lo loopback unmanaged --

2. 增加slave

[root@D128 ~]# nmcli connection add type bridge-slave ifname ens33 master br-ext

3. 切换连接,从网卡到bridge

[root@D128 j]# nmcli connection down ens33
[root@D128 j]# nmcli connection up bridge-slave-ens33

4.  删掉原理的connect

[root@D128 j]# nmcli connection delete ens33 

5. reboot 测试

6 成功。networkmanager学会了还是蛮好用的

[root@D128 ~]# ip link
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN mode DEFAULT qlen
link/loopback ::::: brd :::::
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast master br-ext state UP mode DEFAULT qlen
link/ether :0c::2f:cf: brd ff:ff:ff:ff:ff:ff
: br-ext: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UP mode DEFAULT qlen
link/ether :0c::2f:cf: brd ff:ff:ff:ff:ff:ff
[root@D128 ~]# ip addr
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast master br-ext state UP qlen
link/ether :0c::2f:cf: brd ff:ff:ff:ff:ff:ff
: br-ext: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UP qlen
link/ether :0c::2f:cf: brd ff:ff:ff:ff:ff:ff
inet 192.168.50.128/24 brd 192.168.50.255 scope global dynamic br-ext
valid_lft 1771sec preferred_lft 1771sec
inet6 fe80::1ecf:c3cc:4ff6:ef29/ scope link
valid_lft forever preferred_lft forever
[root@D128 ~]# brctl show
bridge name bridge id STP enabled interfaces
br-ext .000c292fcf32 yes ens33

另外:

  nmcli加的tap设备,在nmtui中是看不见的。也不能编辑。所以首选还是nmcli。

[administrative][CentOS][NetworkManager] networkmanager (二)的更多相关文章

  1. [administrative][CentOS][NetworkManager] 万恶的NetworkManager到底怎么用

    这好像是第三次不得不去学会NetworkManager的用法,可是它真的很难用.社区里无人不吐槽. 然而,还是要用! 这次从redhat的文档入手,也许可以成功 --! https://access. ...

  2. CentOS 7 NetworkManager Keeps Overwriting /etc/resolv.conf

    In CentOS or Red Hat Enterprise Linux (RHEL) 7, you can find your /etc/resolv.conf file, which holds ...

  3. CentOS使用手册(二)

    前言: 本篇目录: 1.Linux软件安装调试 2.Linux内存.CPU.进程.端口.硬盘管理 3.Linux systemctl管理服务.防火墙firewalld以及SELinux配置 Linux ...

  4. centos 安装qrcode  二维码

    先安装yum install  mingw64-pkg-config.x86_64 yum install cairo-devel 然后报错,好像是gcc版本有点低,现在的版本是4.4.7 那么接下来 ...

  5. Win7+CentOS双系统(二)

    在之前的文章中我们实现了Win7+CentOS6.3双系统的安装和使用,不过比较不幸的是在CentOS6.4版本时其安装文件大小已经超过了FAT文件系统所能容纳的单个文件大小4G.我们使用FAT文件系 ...

  6. [administrative][CentOS] 新装系统时如何正确精准的选择基础环境和软件包

    出于不同的目的,在进行全新CentOS安装的时候,我们到底应该如何作出选择. 是mininal,base server, base web server, 还是啥? 答案在这里: https://ac ...

  7. .Net Core 项目发布到Linux - CentOS 7(二)用Supervisor守护netcore进程

    简介 supervisor可以保证程序崩溃后,可以重新把程序启动起来等相关功能. 安装 yum install -y supervisor 安装好后在/etc/会生成一个supervisord.con ...

  8. CentOS 笔记(二) 端口占用,进程查看

    ①查看当前端口情况 netstat -nultp ②查看当前进程情况 ps -ef ps -ef|grep dotnet ③强制kill 进程 kill -9 [PIN]

  9. NetworkManager

    网络管理器(NetworManager)是检测网络.自动连接网络的程序.无论是无线还是有线连接,它都可以令您轻松管理.对于无线网络,网络管理器优先连接已知的网络并可以自动切换到最可靠的无线网络.利用网 ...

随机推荐

  1. What-is-DevOps

    https://www.quora.com/What-is-DevOps https://neoteric.eu/blog/devops-a-culture-of-getting-things-don ...

  2. 转载 :配置ssh密钥认证自动登录

    原文地址 :https://segmentfault.com/a/1190000000481249 在客户端来看,SSH提供两种级别的安全验证.[摘自wikipedia] 第一种级别(基于密码的安全验 ...

  3. Java知多少(45)未被捕获的异常

    在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public static void ma ...

  4. Async Performance: Understanding the Costs of Async and Await

    Stephen Toub Download the Code Sample Asynchronous programming has long been the realm of only the m ...

  5. NoSuchMethodError: ... addOnCompleteCallback

    问题描述: 使用ES 2.3.1和Spark streaming 2.1时,出现以上报错信息. 原因: addOnCompleteCallback方法在spark2.0中移除了 The addOnCo ...

  6. tronado学习

    请求处理程序和请求参数: 原创首发:http://www.cnblogs.com/zxlovenet/p/4128644.html 程序将URL映射到tornado.web.RequestHandle ...

  7. Scala学习笔记——函数和闭包

    1.本地函数 可以在一个方法内再次定义一个方法,这个方法就是外部方法的内部私有方法,省略了private关键字 2.头等函数 var increase = (x: Int) => x + 1 S ...

  8. swoole webSocket服务

    socket.php <?php //创建websocket服务器对象,监听0.0.0.0:9502端口 $ws = ); //监听WebSocket连接打开事件 (刚打开的时候会给客户端发送 ...

  9. [JS] ECMAScript 6 - Destructuring

    C#里没有这种变态的方法. 虽然变态,但看起来不错的样子. 变量的解构赋值 完全解构:本质上,这种写法属于“模式匹配”,: 不完全解构:同时支持“不完全解构” let [x, y] = [1, 2, ...

  10. ASP.NET MVC 4 - 上传图片到数据库

    这里演示如何在MVC WEB应用程序如何上传图片到数据库以及如何在WEB页面上显示图片.数据库表对应整个Model类,不单图片数据一个字段,我们从数据表的定义开始: CREATE TABLE [dbo ...