• [administrative][CentOS][NetworkManager] networkmanager (二)


    [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-0638-4db8-b818-d6ff50f901af  802-3-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-4821-4139-95f5-9cba4035ee08) successfully added.
    [root@D128 j]# nmcli connection 
    NAME     UUID                                  TYPE            DEVICE  
    ens33    e4672331-0638-4db8-b818-d6ff50f901af  802-3-ethernet  ens33   
    tap-nlb  b3e1db65-4821-4139-95f5-9cba4035ee08  tun             tap-nlb 
    [root@D128 j]# 

    生成的配置文件在这里:

    [root@D128 j]# cat /etc/NetworkManager/system-connections/tap-nlb 
    [connection]
    id=tap-nlb
    uuid=b3e1db65-4821-4139-95f5-9cba4035ee08
    type=tun
    interface-name=tap-nlb
    permissions=
    
    [tun]
    mode=2
    
    [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-4821-4139-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-0638-4db8-b818-d6ff50f901af  802-3-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
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-ext state UP mode DEFAULT qlen 1000
        link/ether 00:0c:29:2f:cf:32 brd ff:ff:ff:ff:ff:ff
    3: br-ext: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT qlen 1000
        link/ether 00:0c:29:2f:cf:32 brd ff:ff:ff:ff:ff:ff
    [root@D128 ~]# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-ext state UP qlen 1000
        link/ether 00:0c:29:2f:cf:32 brd ff:ff:ff:ff:ff:ff
    3: br-ext: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
        link/ether 00:0c:29:2f:cf:32 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/64 scope link 
           valid_lft forever preferred_lft forever
    [root@D128 ~]# brctl show
    bridge name    bridge id        STP enabled    interfaces
    br-ext        8000.000c292fcf32    yes        ens33

    另外:

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

  • 相关阅读:
    中小企业发展环境十强
    asp.net发送邮件时报:无法从传输连接中读取数据: net_io_connectionclosed。
    .netCore学习一
    Python项目打包
    Linux中安装JMeter并执行压测
    用Python生成随机长度的字符串和随机长度的数字
    用Python将内容输出到文档的两种方式
    Python学习系列之项目打包成可执行exe文件(三十五)
    Python学习系列之Python中的包(三十一)
    Python学习系列之以主程序形式运行(三十)
  • 原文地址:https://www.cnblogs.com/hugetong/p/8780424.html
Copyright © 2020-2023  润新知