一、nmcli命令


1、地址配置工具:nmcli

• nmcli [ OPTIONS ] OBJECT { COMMAND | help }
     device - show and manage network interfaces
     nmcli device help
     connection - start, stop, and manage network connections
     nmcli connection help• 修改IP地址等属性:
     nmcli connection modify IFACE [+|-]setting.property value
         setting.property:
         ipv4.addresses ipv4.gateway
         ipv4.dns1 ipv4.method manual | auto• 修改配置文件执行生效:systemctl restart network
     nmcli con reload
• nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0

2、使用nmcli配置网络

  • NeworkManager是管理和监控网络设置的守护进程
  • 设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效
  • 显示所有包括不活动连接
         nmcli con show
  • 显示所有活动连接
         nmcli con show --active
  • 显示网络连接配置
    "
  • 显示设备状态
         nmcli dev status
  • 显示网络接口属性
         nmcli dev show eth0
  • 创建新连接default,IP自动通过dhcp获取
         nmcli con add con-name default type Ethernet ifname eth0
  • 删除连接
         nmcli con del default
  • 创建新连接static ,指定静态IP,不自动连接
         nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254
  • 启用static连接配置
         nmcli con up static
  • 启用default连接配置
         nmcli con up default
  • 查看帮助
         nmcli con add help
  • 修改连接设置
•      nmcli con mod "static" connection.autoconnect no
"static" ipv4.dns 172.25.X.254
"static"
"static"
"static"
"static"
  • DNS设置,存放在/etc/resolv.conf文件中PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取。等价于下面命令:
    "system eth0"

centos nm 命令 centos nc命令_配置文件

nmcli con mod

ifcfg-* 文件

ipv4.method manual

BOOTPROTO=none

ipv4.method auto

BOOTPROTO=dhcp

ipv4.addresses “192.0.2.1/24 192.0.2.254”

IPADDR0=192.0.2.1

PREFIX0=24

GATEWAY0=192.0.2.25

ipv4.dns 8.8.8.8

DNS0=8.8.8.8

ipv4.dns-search example.com

DOMAIN=example.com

ipv4.ignore-auto-dns true

PEERDNS=no

connection.autoconnect yes

ONBOOT=yes

connection.id eth0

NAME=eth0

connection.interface-name eth0

DEVICE=eth0

802-3-ethernet.mac-address . . .

HWADDR= . . .


3、网络配置文件及其他设置

  • 设备配置被保存在文本文件中
        /etc/sysconfig/network-scripts/ifcfg-<name>
         帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt

动态配置

静态配置

DEVICE=ethX 

HWADDR=0:02:8A:A6:30:45 

BOOTPROTO=dhcp 

ONBOOT=yes 

Type=Ethernet

DEVICE=ethX 

HWADDR=0:02:8A:A6:30:45 

IPADDR=192.168.0.123 

NETMASK=255.255.255.0 

GATEWAY=192.168.0.254 

ONBOOT=yes

Type=Ethernet

  • 修改连接配置后,需要重新加载配置
         nmcli con reload
    "system eth0"
    "system eth0"
         nmcli dev dis eth0 禁用网卡,访止被自动激活
  • 图形工具
        nm-connection-editor
  • 字符工具
         nmtui
         nmtui-connect
         nmtui-edit
         nmtui-hostname


配置不同的网卡配置文件环境



#查看由几个网卡
[root@Router~]#nmcli device 
DEVICE  TYPE      STATE   CONNECTION 
ens32   ethernet  connected  ens33      
ens33   ethernet  connected  ens34      
lo     loopback  unmanaged  -- 

#配置一个网卡环境
[root@Router~]#nmcli connection add con-name ens32-sc type ethernet ifname ens32 ipv4.method manual ipv4.addresses 172.18.68.200/16 ipv4.gateway 172.18.0.1 ipv4.dns 114.114.114.114
Connection 'ens32-sc' (e5740d61-6f39-4af1-81f2-b062cddbf202) successfully added.
[root@Router~]#nmcli connection show 
NAME      UUID                         TYPE       DEVICE 
ens33     c96bc909-188e-ec64-3a96-6a90982b08ad  802-3-ethernet  ens32  
ens34     94aea789-efb3-ef4c-81b0-e8b18ecc9797  802-3-ethernet  ens33  
ens32-sc   e5740d61-6f39-4af1-81f2-b062cddbf202  802-3-ethernet  --  

#切换网卡配置
[root@Router~]#nmcli connection up ens32-sc
Connection successfully activated (D-Bus active path:/org/freedesktop/NetworkManager/ActiveConnection/5)

#如果手动增加的配置文件,需要手动加载下配置文件
[root@Router~]#nmcli connection reload 

#逻辑上断开或连接网卡
[root@Router~]#nmcli device disconnect ens33
Device 'ens33' successfully disconnected

[root@Router~]#nmcli device connect ens33
Device 'ens33' successfully activated with 'a62b80b1-2533-4e38-84c4-bd690837adcc'







二、nmcli实现bonding


• 添加bonding接口
     nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup• 添加从属接口
     nmcli con add type bond-slave ifname ens7 master mybond0
     nmcli con add type bond-slave ifname ens3 master mybond0
     注:如无为从属接口提供连接名,则该名称是接口名称加类型构成• 要启动绑定,则必须首先启动从属接口
     nmcli con up bond-slave-eth0
     nmcli con up bond-slave-eth1• 启动绑定
     nmcli con up mybond0[root@Router~]#nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 172.18.0.200/16 ipv4.gateway 172.18.0.1 ipv4.dns 114.114.114.114

[root@Router~]#nmcli connection add con-name bond0-slave0 type bond-slave ifname ens33 master bond0
[root@Router~]#nmcli connection add con-name bond0-slave1 type bond-slave ifname ens33 master bond0
[root@Router~]#nmcli connection up bond0-slave0
[root@Router~]#nmcli connection up bond0-slave1

[root@Router~]#cat /proc/net/bonding/bond0





#Centos6实现网卡别名



#实现在一块网卡上有两个ip地址,一个动态获取、一个静态地址,服务器重启地址不丢失

[root@VSservernetwork-scripts]#cp ifcfg-eth1{,:1}
[root@VSservernetwork-scripts]#cp ifcfg-eth1{,:2}
[root@VSservernetwork-scripts]#vim ifcfg-eth1:1
DEVICE=eth1:1
IPADDR=172.18.0.6
PREFIX=16
GATEWAY=172.18.0.1
DNS1=114.114.114.114
DOMAIN=magedu.com
[root@VSservernetwork-scripts]#vim ifcfg-eth1:2
DEVICE=eth1:2
IPADDR=172.18.0.7
PREFIX=16
GATEWAY=172.18.0.1
DNS1=114.114.114.114
DOMAIN=magedu.com
[root@VSservernetwork-scripts]#vim ifcfg-eth1
DEVICE=eth1
BOOTPROTO=dhcp
GATEWAY=172.18.0.1
DNS1=114.114.114.114
DOMAIN=magedu.com
[root@VSservernetwork-scripts]#service network restart

#注意:别名不能自动获取ip地址,必须是静态地址







三、网络组Network Teaming及网桥


  • 网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
  • 网络组不同于旧版中bonding技术,提供更好的性能和扩展性
  • 网络组由内核驱动和teamd守护进程实现.
  • 多种方式(模式)runner
         broadcast
         roundrobin
         activebackup
         loadbalance
         lacp (implements the 802.3ad Link Aggregation Control Protocol)
  • 启动网络组接口不会自动启动网络组中的port接口
  • 启动网络组接口中的port接口总会自动启动网络组接口
  • 禁用网络组接口会自动禁用网络组中的port接口
  • 没有port接口的网络组接口可以启动静态IP连接
  • 启用DHCP连接时,没有port接口的网络组会等待port接口的加入


1、创建网络组接口

  • nmcli con add type team con-name CNAME ifname INAME [config JSON]
         CNAME 连接名,INAME 接口名
         JSON 指定runner方式
    格式:'{"runner": {"name": "METHOD"}}'
         METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp


2、创建port接口

  • nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
         CNAME 连接名
         INAME 网络接口名
         TEAM 网络组接口名
  • 连接名若不指定,默认为team-slave-IFACE
  • nmcli dev dis INAME
  • nmcli con up CNAME
         INAME 设备名 CNAME 网络组接口名或port接口


3、网络组示例

  • nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}'
  • nmcli con mod team0 ipv4.addresses 192.168.1.100/24
  • nmcli con mod team0 ipv4.method manual
  • nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
  • nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
  • nmcli con up team0
  • nmcli con up team0-eth1
  • nmcli con up team0-eth2
  • teamdctl team0 state; nmcli dev dis eth1


实验:创建网络组


[root@Router~]#ip link
[root@Router~]#nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
[root@Router~]#nmcli con mod team0 ipv4.addresses '172.18.0.123/16'
[root@Router~]#nmcli con mod team0 ipv4.method manual
[root@Router~]#nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0
[root@Router~]#nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
[root@Router~]#nmcli con up team0-port1
[root@Router~]#nmcli con up team0-port2
[root@Router~]#ping -I team0 172.18.68.100            #-I 是指定从哪个网卡往出ping
[root@Router~]#teamdctl team0 state
setup:
    runner: activebackup
ports:
    eth0
        link watches:
        link summary: up
        instance[link_wathc_0]
            name: ethtool
            link: up
            down count: 0
    eth1
        link watches:
        link summary: up
        instance[link_wathc_0]
            name: ethtool
            link: up
            down count: 0
runner:
    active port: eth0

[root@VSservernetwork-scripts]#nmcli connection delete team0
[root@VSservernetwork-scripts]#nmcli connection delete team0-slave0
[root@VSservernetwork-scripts]#nmcli connection delete team0-slave1





4、管理网络组配置文件



[root@Router~]#/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes

[root@Router~]#/etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes





5、删除网络组


[root@Router~]#nmcli connection down team0
[root@Router~]#teamdctl team0 state
[root@Router~]#nmcli connection show
[root@Router~]#nmcli connectioni delete team0-eth0
[root@Router~]#nmcli connectioni delete team0-eth1
[root@Router~]#nmcli connection show




6、网桥

  • 桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。
  • 主机A发送的报文被送到交换机S1的eth0口,由于eth0与eth1、eth2桥接在一起,故而报文被复制到eth1和eth2,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C、D。

centos nm 命令 centos nc命令_配置文件_02



#创建软件网桥
[root@Router~]#nmcli con add type bridge con-name br0 ifname br0
[root@Router~]#nmcli connection modify br0 ipv4.addresses 192.168.74.100/24 ipv4.method manuall
[root@Router~]#nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0

#查看网桥
[root@Router~]#cat /etc/sysconfig/network-scripts/ifcfg-br0
[root@Router~]#cat /etc/sysconfig/network-scripts/ifcfg-br0-port0
[root@Router~]#brctl show

#删除网桥 
[root@Router~]#brctl delbr br0

#删除网桥中网卡 
[root@Router~]#brctl delif eth0

#注意:NetworkManager只支持以太网接口接口连接到网桥,不支持聚合接口






四、测试网络工具

  • 在命令行下测试网络的连通性
  • 显示主机名
         hostname
  • 测试网络连通性
         ping
         mtr(跟踪路由器,动态跟踪)
  • 显示正确的路由表
         ip route
  • 确定名称服务器使用:
         nslookup
         host
         dig
  • 跟踪路由
         traceroute
         tracepath

五、网络客户端工具

  • ftp,lftp(带颜色并且支持命令补全)
         子命令:
             get(下载指定的一个文件)
             mget(下载多个文件)
             put(是上传)


             ls(看的是ftp服务器里的文件)
             !ls(看的是本机的文件)
             lcd(切换目录)
             help
             ?(是查看所能使用的命令)
  • lftp [-p port] [-u user[,password]] SERVER
[root@Router~]#yum install ftp lftp -y
[root@Router~]#ftp 172.18.0.1
ftp>pwd
257 "/"              #这个是指ftp服务器文件所在的根,不是当前系统的根
ftp>ls     
ftp>mget ubu*        #可以下载多个文件       

#实现自动上传文件或者下载文件
[root@Router~]#ftp -n <<EOF
>open 172.18.0.1
>user ftp
>password xxx
>get a
>EOF




  • lftpget URL
  • wget [option]... [URL]...
         -q: 静默模式
         -c: 断点续传
         -P:保存在指定目录
         -O: 保存为指定的文件名
    --limit-rate=: 指定传输速率,单位K,M等
  • links URL
         --dump(抓网页文字)
         --source(抓网页源码)




[root@Router~]#yum install elinks
[root@Router~]#links 192.168.1.100 --dump > a.tx




转载于:https://blog.51cto.com/exia00linux/2083048