centOS7网络配置(nmcli,bonding,网络组)

时间:2021-07-11 17:17:09

关于网络接口命名

CentOS 6之前,网络接口使用连续号码命名: eth0、 eth1等,当增加或删除网卡时,名称可能会发生变化。CentOS 7使用基于硬件,设备拓扑和设置类型命名。

网卡命名机制

systemd对网络设备的命名方式

  (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1

  (b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1

  (c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0

  (d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56

  (e) 上述均不可用时,则使用传统命名机制

网卡名称

(1)基于BIOS支持启用biosdevname软件

  内置网卡: em1,em2

  pci卡: pYpX Y: slot ,X:port

(2) 名称组成格式

  en: Ethernet 有线局域网

  wl: wlan 无线局域网

  ww: wwan无线广域网

    名称类型:

  o<index>: 集成设备的设备索引号

  s<slot>: 扩展槽的索引号

  x<MAC>: 基于MAC地址的命名

  p<bus>s<slot>: enp2s1

网卡设备的命名过程

第一步:

  udev, 辅助工具程序/lib/udev/rename_device

  /usr/lib/udev/rules.d/60-net.rules

第二步:

  biosdevname 会根据/usr/lib/udev/rules.d/71-biosdevname.rules

第三步:

  通过检测网络接口设备,根据

  /usr/lib/udev/rules.d/75-net-description

  ID_NET_NAME_ONBOARD

  ID_NET_NAME_SLOT

  ID_NET_NAME_PATH

采用传统命名方式

(1) 编辑/etc/default/grub配置文件

  GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"

  或:修改/boot/grub2/grub.cfg(不建议)

(2) 为grub2生成其配置文件

  grub2-mkconfig -o /etc/grub2.cfg

(3) 重启系统

CentOS 7网络配置工具

centOS7主机名

配置文件:/etc/hostname ,默认没有此文件, 通过DNS反向解析获取主机名, 主机名默认为: localhost.localdomain

显示主机名信息

  hostname

  hostnamectl status(显示更全的信息)

[root@CT731 ~]#hostnamectl status
Static hostname: CT731
Icon name: computer-vm
Chassis: vm
Machine ID: 618d3baeb5754f7092242f811c7aa740
Boot ID: 3e2702fde99242248e0f20c0b7c5c19c
Virtualization: vmware
Operating System: CentOS Linux (Core)
CPE OS Name: cpe:/o:centos:centos:
Kernel: Linux 3.10.-.el7.x86_64
Architecture: x86-

设置主机名

  hostnamectl set-hostname centos7(即时生效,直接写入配置文件)

  删除文件/etc/hostname, 恢复主机名localhost.localdomain

CentOS 7网络配置工具nmcli

由于这个工具是centOS7上面的新工具,不仅大而且选项很多,但是工具很强大,我们就学习它的一部分功能。

地址配置工具: nmcli

nmcli [ OPTIONS ] OBJECT { COMMAND | help }

device - show and manage network interfaces

connection - start, stop, and manage network connections

nmcli connection/device help 查看帮助

修改IP地址等属性

nmcli connection modify IFACE [+|-]setting.property value

setting.property:

  ipv4.addresses

ipv4.gateway

  ipv4.dns1

  ipv4.method manual/auto

[root@CT731 ~]#nmcli connection modify eth2 autoconnect no
[root@CT731 ~]#nmcli connection modify eth2 ipv4.method auto
[root@CT731 ~]#nmcli connection modify eth2 +ipv4.addresses 192.168.111.122/
[root@CT731 ~]#nmcli connection modify eth2 +ipv4.dns 8.8.8.8

DNS设置,存放在/etc/resolv.conf文件中

PEERDNS=no 表示当IP通过dhcp自动获取时, dns仍是手动设置,不自动获取。等价于下面命令:

nmcli con mod "system eth0" ipv4.ignore-auto-dns yes

修改配置文件执行生效

  systemctl restart network

  nmcli connection reload

[root@CT731 ~]#nmcli connection reload 

网络接口的启用与停用:

  nmcli connection down eth0

  nmcli connection up eth0

[root@CT731 ~]#nmcli connection down eth2
Connection 'eth2' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/)
[root@CT731 ~]#nmcli connection up eth2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/)

显示网络接口

显示所有包括不活动连接

  nmcli connection show

[root@CT731 ~]#nmcli connection show
NAME UUID TYPE DEVICE
eth0 c96bc909-188e-ec64-3a96-6a90982b08ad --ethernet eth0
eth1 94aea789-efb3-ef4c-81b0-e8b18ecc9797 --ethernet eth1
eth2 3a73717e-65ab-93e8-b518-24f5af32dc0d --ethernet eth2

显示所有活动连接

  nmcli connection show --active

显示网络连接配置

  nmcli connection show eth0

[root@CT731 ~]#nmcli connection show eth2
connection.id: eth2
connection.uuid: 3a73717e-65ab-93e8-b518-24f5af32dc0d
connection.stable-id: --
connection.interface-name: eth2
... ...
--ethernet.wake-on-lan: (default)
--ethernet.wake-on-lan-password: --
ipv4.method: auto
ipv4.dns: 8.8.8.8
ipv4.dns-search:
ipv4.dns-options: (default)
ipv4.dns-priority:
ipv4.addresses: 192.168.111.160/, 192.168.111.122/
ipv4.gateway: --
... ...
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/
GENERAL.SPEC-OBJECT: /
GENERAL.MASTER-PATH: --
IP4.ADDRESS[]: 192.168.111.122/
IP4.ADDRESS[]: 192.168.111.160/
IP4.ADDRESS[]: 192.168.111.143/
IP4.GATEWAY:
IP4.DNS[]: 192.168.111.1
IP4.DNS[]: 8.8.8.8
IP4.DOMAIN[]: localdomain
DHCP4.OPTION[]: requested_domain_search =
DHCP4.OPTION[]: requested_time_offset =
DHCP4.OPTION[]: requested_domain_name =
DHCP4.OPTION[]: requested_rfc3442_classless_static_routes =
... ...

显示设备状态

  nmcli device status

[root@CT731 ~]#nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
eth1 ethernet connected eth1
eth2 ethernet connected eth2
lo loopback unmanaged --

显示网络接口属性

  nmcli device show eth0

[root@CT731 ~]#nmcli device show eth2
GENERAL.DEVICE: eth2
GENERAL.TYPE: ethernet
GENERAL.HWADDR: :0C::::C8
GENERAL.MTU:
GENERAL.STATE: (connected)
GENERAL.CONNECTION: eth2
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[]: 192.168.111.122/
IP4.ADDRESS[]: 192.168.111.160/
IP4.ADDRESS[]: 192.168.111.143/
IP4.GATEWAY:
IP4.DNS[]: 192.168.111.1
IP4.DNS[]: 8.8.8.8
IP4.DOMAIN[]: localdomain
IP6.ADDRESS[]: fe80::bd9a:88f7:695e:fdce/

创建新的网络接口(存在未使用的网卡)

创建新连接default, IP自动通过dhcp获取

nmcli connection add con-name eth0 type Ethernet ifname eth0

创建新连接static ,指定静态IP,不自动连接

[root@CT731 ~]#nmcli connection add con-name eth4 ifname eth4 autoconnect no type Ethernet ipv4.address 172.25.12.10/ ipv4.gateway 172.25.12.254
Connection 'eth4' (403fe692-04cd-4a01-b8bb-7e2bb468daf1) successfully added.

删除连接

[root@CT731 ~]#nmcli connection delete eth4
Connection 'eth4' (403fe692-04cd-4a01-b8bb-7e2bb468daf1) successfully deleted

nmcli命令与配置文件对应关系

centOS7网络配置(nmcli,bonding,网络组)

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

关闭并删除bond

nmcli con down mybond0

rm –f /etc/sysconfig/network-scripts/ifcfg-*bond*

nmcli connection reload

网络组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接口的加入

创建网络组接口

命令:

  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

我们创建的接口就是对外的连接口,是用于让服务器以外的主机进行访问的,在创建接口的同时,我们可以直接在创建的同时设置IP地址,如果我们不设置IP地址,它会采用DHCP的方式寻求DHCP服务器给分配一个IP地址

创建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接口

创建port其实就是将原来存在的网卡加入到网络组中,使用统一的网址进行访问,通过不同的模式使用网卡,可实现负载均衡,高可用性等。

启用网络接口

先启用port接口(逐个启用)

  nmcli connection up team-slave-eth*

再启用网络接口

  nmcli connection up con-team0

完成后就可以访问了。

查看网络组网卡状态

  teamdctl team0 state

关闭网络组

首先,我们要down掉网络组,命令:

  nmcli connection up con-team0

然后删除相关配置文件:

  rm /etc/sysconfig/network-scripts/ifcfg-*team*

最后重新加载网络

  nmcli connection reload

管理网络组配置文件

我们使用nmcli设置网络组,实际上就是直接操作的配置文件,我们可以对关于网络组的一些配置文件做一个了解。

/etc/sysconfig/network-scripts/ifcfg-con-team0

  DEVICE=team0

  TEAM_CONFIG="{\"runner\":{\"name\":\"roundrobin\"}}"

  BOOTPROTO=none

  DEFROUTE=yes

  NAME=con-team0

  ONBOOT=yes

  DEVICETYPE=Team

  IPADDR=192.168.111.100

  PREFIX=24

/etc/sysconfig/network-scripts/ifcfg-team-slave-eth1

  NAME=team-slave-eth1

  UUID=af7e25aa-6a08-4fda-a33d-3a9de62b6f66

  DEVICE=eth1

ONBOOT=yes

  TEAM_MASTER=team0

  DEVICETYPE=TeamPort

网桥的软实现

桥接:把一台机器上的若干个网络接口"连接"起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。

主机A发送的报文被送到交换机S1的eth0口,由于eth0与eth1、 eth2桥接在一起,故而报文被复制到eth1和eth2,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C、 D。

centOS7网络配置(nmcli,bonding,网络组)

创建软件网桥

创建接口

  nmcli con add type bridge con-name br0 ifname br0

设置IP(不设置则DHCP分配)

nmcli connection modify br0 ipv4.addresses 192.168.74.100/24 ipv4.method manuall

向往桥中添加网卡(一般添加两个以上)

  nmcli con add type bridge-slave [con-name br0-port0] ifname eth0 master br0

启动网桥

  nmcli connection up br0-port0

关闭并取消网桥设置

先down掉网桥

nmcli connection down br0

在删除设置

nmcli connection delete bridge-slave-eth1

nmcli connection delete br0

重新加载网络

nmcli connection reload

扩展

网络测试工具

测试网络连通性

ping

[root@CT731 network-scripts]#ping 172.17.0.1
PING 172.17.0.1 (172.17.0.1) () bytes of data.
bytes from 172.17.0.1: icmp_seq= ttl= time=1.27 ms
bytes from 172.17.0.1: icmp_seq= ttl= time=0.849 ms
bytes from 172.17.0.1: icmp_seq= ttl= time=0.662 ms

mtr

       My traceroute  [v0.]
CT731 (0.0.0.0) Thu Sep ::
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
. 172.17.0.1 0.0% 1.0 0.8 0.5 1.0 0.0
. ???

显示正确的路由表

ip route

[root@CT731 network-scripts]#ip route
default via 172.17.0.1 dev eth0 proto static metric
172.17.0.0/ dev eth0 proto kernel scope link src 172.17.254.57 metric
192.168.111.0/ dev eth1 proto kernel scope link src 192.168.111.120 metric
192.168.111.0/ dev eth2 proto kernel scope link src 192.168.111.122 metric

确定名称服务器使用:

nslookup

nslookup命令是常用域名查询工具,就是查DNS信息用的命令。 nslookup4有两种工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。而在“非交互模式”下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息。 进入交互模式,直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个dns地址)。或者输入nslookup -nameserver/ip。进入非交互模式,就直接输入nslookup 域名就可以了。

[root@CT731 network-scripts]#nslookup www.sina.com
Server: 172.17.0.1
Address: 172.17.0.1# Non-authoritative answer:
www.sina.com canonical name = us.sina.com.cn.
us.sina.com.cn canonical name = wwwus.sina.com.
Name: wwwus.sina.com
Address: 66.102.251.33

host

host命令是常用的分析域名查询工具,可以用来测试域名系统工作是否正常。

[root@CT731 network-scripts]#host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 111.13.100.92
www.a.shifen.com has address 111.13.100.91

dig

dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常

[root@CT731 ~]#dig www.baidu.com

; <<>> DiG 9.9.-RedHat-9.9.-.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL:

跟踪路由

traceroute

[root@CT691 ~]#traceroute www.baidu.com
traceroute to www.baidu.com (14.215.177.38), hops max, byte packets
172.17.0.1 (172.17.0.1) 2.929 ms 2.823 ms 2.779 ms
* * *
* * *

tracepath

[root@CT691 ~]#tracepath www.baidu.com
?: [LOCALHOST] pmtu
: 172.17.0.1 (172.17.0.1) .707ms
: 172.17.0.1 (172.17.0.1) .648ms
: no reply

网络客户端工具

ftp

下载命令 get,mget

查看 ls

帮助 help ?

!ls 看本机的文件列表

lftp

比ftp更好用

lftpget URL直接下载,非交互(下载ftp服务上的文件,也支持http协议)

wget [option] [url] 非交互式的下载文件

-q:静默模式

-c:断点续传

-O:保存位置

-P:指定下载到某个目录

--limit-rate= :指定传输速率,单位K,M等。

links URL字符界面的浏览器

--dump 显示页面文字

--source 查看源码

centOS7网络配置(nmcli,bonding,网络组)的更多相关文章

  1. VMware网络配置三种网络模式(桥接、NAT、Host-only)

    VMware网络配置三种网络模式(桥接.NAT.Host-only) 一.虚拟安装后三种网络模式显示 当安装好后,的“虚拟网络编辑器”中也存在三种模式,分别对应:桥接-VMnet0.Host-only ...

  2. 为RAC私有网络配置网卡Bonding

    在RAC的安装部署过程中.并不不过简单的安装完毕了事.整个安装过程要考虑可能出现的单点问题,当中比較重要的是私有网络. 私有网络是RAC节点间通信的通道.包含节点间的网络心跳信息.Cache fusi ...

  3. 网络配置之基本网络配置(cenos6)

    目录: 关于IP的管理 Linux网卡的卸载与装载 配置网络接口 网络IP配置文件路由管理 路由管理命令 配置动态路由(简介) route的配置文件netstat命令IP命令 ip link 查看网络 ...

  4. VMware网络配置 - 三种网络模式简介

    安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍 选择虚拟机网络模 式方法如下 ...

  5. linux网络配置详解

    一:相关网络配置的文件 1.网卡名配置相关文件 网卡名命名规则文件: /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x8086:0x1 ...

  6. Linux网络基本网络配置

    Linux网络基本网络配置方法介绍 网络信息查看 设置网络地址: cat /etc/sysconfig/network-scripts/ifcfg-eth0 你将会看到: DEVICE=eth0 BO ...

  7. 最基本的CentOS 网络配置

    一般CentOS 网络配置是根据自己的需求来设定的.但是,对于一些不经常用CentOS的用户来说,不知道基本的CentOS 网络配置.如果你没有特别的要考虑的设置,那么就可以考虑下我推荐的这种Cent ...

  8. 【转】Linux - CentOS 7网络配置

    Linux - CentOS 7网络配置 https://blog.csdn.net/J080624/article/details/78083988   安装完VM后,需要进行网络配置.第一个目标为 ...

  9. linux网络管理----Linux网络配置

    1.1 linux配置IP地址 1️⃣ ifconfig命令临时配置IP地址 能不能自动获取IP地址和DNS地址,要看有没有DHCP服务器 win10上,输入ipconfig /all 会看到是否有D ...

  10. Solaris11&period;1网络配置&lpar;Fixed Network&rpar;

    Solaris11的网络配置与Solaris10有很大不同,Solaris11通过network configuration profiles(NCP)来管理网络配置. Solaris11网络配置分为 ...

随机推荐

  1. AFNetworking 3&period;0 源码解读(六)之 AFHTTPSessionManager

    AFHTTPSessionManager相对来说比较好理解,代码也比较短.但却是我们平时可能使用最多的类. AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilit ...

  2. 【APP自动化测试】Monkey的测试原理和方法

    参考资料:http://blog.csdn.net/io_field/article/details/52189972 一.Monkey测试原理:Monkey是Android中的一个命令行工具,可以运 ...

  3. 强连通分量的一二三 &vert; &vert; JZOJ【P1232】 &vert; &vert; 我也不知道我写的什么

    贴题: 在幻想乡,上白泽慧音是以知识渊博闻名的老师.春雪异变导致人间之里的很多道路都被大雪堵塞,使有的学生不能顺利地到达慧音所在的村庄.因此慧音决定换一个能够聚集最多人数的村庄作为新的教学地点.人间之 ...

  4. 【Alpha版本】冲刺阶段——Day 8

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  5. Java使用JDBC连接MySQL数据库

    1.引用 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写 ...

  6. python&plus;图像分割seg

    好痛苦 1.目前思路为HOG+SVM 提取HOG时候发现,包装的lib cv2 里有hog算子,但是函数是指针形式.不会用了.. 现在改用推荐的scikits.image , from skimage ...

  7. Linux中的元字符和转义符 单引号 硬引号 双引号 软引号

    Linux中的元字符和转义符  单引号  硬引号  双引号  软引号 Linux就这个范儿 Linux就这个范儿 P182单引号:硬引号,所有元字符特殊意义都会关掉双引号:软引号,只允许出现特定元字符 ...

  8. JDK&lowbar;Proxy&lowbar;InvocationHandler&lowbar;动态代理

    本文用jdk动态代理模拟了spring的AOP的实现技术 AOP面向切面编程,可用于权限验证,效率检查,事务,异常管理等 JDK的动态代理主要涉及到java.lang.reflect包中的两个类:Pr ...

  9. 开发神器之--Sublime Text

    原来还有这么个神器啊,忍痛丢掉了notepad++,投入她的怀抱!! 使用和介绍就不写了,大牛们已经整理了. 官网:http://www.sublimetext.com/ 入门及心得:http://w ...

  10. JS、C&num;编码解码

    escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@ ...