码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-09-07 21:29:32      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:reg   net   建议   --   otp   script   wlan   ast   eth1   

关于网络接口命名

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(显示更全的信息)

设置主机名

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

nmcli con modify eth1 autoconnect no

nmcli con modify eth1 ipv4.dns 172.25.X.254

nmcli con modify eth1 +ipv4.dns 8.8.8.8

nmcli con modify eth1 -ipv4.dns 8.8.8.8

nmcli con modify eth1 ipv4.addresses 172.25.X.10/24

    nmcli con modify static +ipv4.addresses 10.10.10.10/16

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

网络接口的启用与停用:

nmcli connection down eth0

nmcli connection up eth0

显示网络接口

显示所有包括不活动连接

nmcli connection show

显示所有活动连接

nmcli connection show --active

显示网络连接配置

nmcli connection show eth0

显示设备状态

nmcli device status

显示网络接口属性

nmcli dev show eth0

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

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

nmcli connection add con-name eth0 type Ethernet ifname eth0

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

nmcti connection add con-name eth0 ifname eth0 autoconnect no type Ethernet ipv4.address 172.25.X.10/24 ipv4.gateway 172.25.X.254

删除连接

nmcli connection delete eth1(连接名)

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

技术分享

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。

技术分享

创建软件网桥

创建接口

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

mtr

显示正确的路由表

ip route

确定名称服务器使用:

nslookup

host

dig

跟踪路由

traceroute

tracepath

网络客户端工具

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,网络组)

标签:reg   net   建议   --   otp   script   wlan   ast   eth1   

原文地址:http://www.cnblogs.com/duzhaoqi/p/7491761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!