CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,当 增加或删除网卡时,名称可能会发生变化
CentOS 7使用基于硬件,设备拓扑和设置类型命名:
(1) 网卡命名机制 systemd对网络设备的命名方式
(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信 息可用,且可预测则根据此索引进行命名,例如eno1
(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息 可用,且可预测,则根据此索引进行命名,例如ens1
(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命 名,例如enp2s0
(d) 如果用户显式启动,也可根据MAC地址进行命名, enx2387a1dc56
(e) 上述均不可用时,则使用传统命名机制
一.CentOS 7网络属性配置
(一)网卡名称命名
使用传统命名方式:
(1) 编辑/etc/default/grub配置文件 GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg 或是grub2-mkconfig > /etc/grub2.cfg
(1)vim /boot/grub2/grub.cfg
(3) 重启系统
或采用对/boot/grub2/grub.cfg来实现修改
步骤:
(2) cdnet ——cd /etc/sysconfig/network-scripts来修改配置文件
vim ifcfg-ens33
(3)保存后。重启使其生效
(二) CentOS7主机名
(1)配置文件:/etc/hostname ,默认没有此文件,通过DNS反向解 析获取主机名,主机名默认为:localhost.localdomain——cat /etc/hostname
(2)显示主机名信息 hostname hostnamectl status
区别于centos6,采用上述命令后会自动生成,且自动写入配置文件中
(3)设置主机名 hostnamectl set-hostname centos7.magedu.com
(4)删除文件/etc/hostname,恢复主机名localhost.localdomain
CentOS 7网络配置工具
图形工具:nm-connection-editor
字符配置tui工具:nmtui
(三)nmcli命令
(1)命令行工具:nmcli——有很多的子命令
通过 nmcli connection help来熟悉相关命令
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
- device - show ——相当于ip link,查看数据链路层信息
- nmcli connection show ——相当于ip addr查看网络层信息
(2)修改IP地址等属性nmcli connection modify ens33 connection.id eth0——将name=ens33改为eth0
cat /etc/sysconfig/network-scripts/ifcfg-ens33
nmcli con reload:重新加载,作用是使配置文件生效在eth1网卡上新增一个网卡
ls /etc/sysconfig/network-scripts/ifcfg-home-eth1
nmcli connection add con-name home-eth1 ethernet ifname eth1
此时让该网卡生效作用在eth1中:nmcli connection uo home-eth1,原来的网卡被挤掉,使用新配置的网卡,因为该网卡的BOOTPROTO是dhcp类型的,所以会自动获取新的网址
如果想将自动获取方式改为手动获取方式,则通过:nmcli connection modify home-eth1 ipv4.method manual ipv4.addresses 3.3.3.3/24 ipv4.gateway 3.3.3.1 ipv4.dns 2.2.2.2
然后nmcli connection up home-eth1来使其生效
删除新增网卡:
nmcli connection down home-eth1
nmcli connection del home-eth1
nmcli connection show来查看是否删除
(3)修改配置文件执行生效
systemctl restart network 或是 nmcli con reload
nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0
(四)使用nmcli配置网络
NeworkManager是管理和监控网络设置的守护进程
设备即网络接口,连接是对网络接口的配置。
一个网络接口 可有多个连接配置,但同时只有一个连接配置生效
- 显示所有包括不活动连接
nmcli con show - 显示所有活动连接
nmcli con show --active - 显示网络连接配置
nmcli con show "System eth0“ - 显示设备状态
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 ip4 172.25.X.10/24 gw4 172.25.X.254
(五)nmcli实现bonding
添加bonding接口
(1)nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup
(2)添加从属接口 nmcli con add type bond-slave ifname ens7 master mybond0 nmcli con add type bond-slave ifname ens3 master mybond0
注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
(3)要启动绑定,则必须首先启动从属接口 nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth1
(4) 启动绑定 nmcli con up mybond0
以实验来验证:
步骤:
(1)首先将两个网卡都在设定在一个网段(都是仅主机模式)
开始配置 ncmli connection add type bond con-name bond0 ifname bond0 mode active-backup(主备模式)
(2)使bond0生效——nmcli connection up bond0
(3)nmcli connection show——查看是否启用该配置网卡
(4)关联两个slave网卡——
nmcli connection add con-name bond0-slave1 type bond-slave ifname eth0 master bond0
nmcli connection add con-name bond0-slave2 type bond-slave ifname eth1 master bond0
(5)使网卡生效——nmcli connection up bond0-slave1 nmcli connection up bond0-slave2
完成设置
cat /proc/net/bonding/bond0 来查看具体哪个网卡生效
删除bond0网卡方法
(1)禁用网卡 nmcli connection down bond0
nmcli connection delete bond0
nmcli connection show-来查看是否删除
nmcli connection delete bond0-slave1
nmcli connection delete bond0-slave2
nmcli connection reload——同步
nmcli connection show-做最后的确认
(六)网络组Network Teaming
(1)网络组:是将多个网卡聚合在一起方法,从而实现冗错和提 高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现.
多种方式runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control Protocol)
(2)启动网络组接口不会自动启动网络组中的port接口 ——nmcil connection up team0时,网络组中的port接口没有启动
启动网络组接口中的port接口总会自动启动网络组接口 ——nmcli connection up team-slave-eth0,此时网络组接口也会启动
禁用网络组接口会自动禁用网络组中的port接口——nmcli connectiion down team0,网络组的port接口也会被禁用
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接 口的加入
(3)创建网络组接口
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
(4)创建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接口
(5)网络组示例
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
实验:创建网络组
ip link nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
nmcli con mod team0 ipv4.addresses '192.168.0.100/24'
nmcli con mod team0 ipv4.method manual
nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0 nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0 teamdctl team0 state
ping -I team0 192.168.0.254
nmcli dev dis eno1
teamdctl team0 state
nmcli con up team0-port1
nmcli dev dis eno2
teamdctl team0 state
nmcli con up team0-port2
teamdctl team0 state
(5)管理网络组配置文件/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
/etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
## 实验练习
创建一个网络组,runner方式为broadcast,手动添加网址
步骤
nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"broadcast"}}'
nmcli conection modify team0 ipv4.adresses 192.168.136.176/24 ipv4.method manual
添加port接口
nmcli connection add type team-salve con-name team-slave0-eth1 ifname team-slave-eth1 master team0
nmcli connection add type team-salve con-name team-slave0-eth0 ifname team-slave-eth0 master team0
ping 192.168.136.176
teamdctl team0 state
删除网络组
nmcli connection down team0
nmcli connection delete team0
nmcli connection delet team-slave0-eth1
nmcli connection delet team-slave0-eth0
nmcli connection reload
二.网桥
(1)概念:
桥接:把一台机器上的若干个网络接口“连接”起来。其结 果是,其中一个网口收到的报文会被复制给其他网口并发送 出去。以使得网口之间的报文能够互相转发。网桥就是这样 一个设备,它有若干个网口,并且这些网口是桥接起来的。 与网桥相连的主机就能通过交换机的报文转发而互相通信。
主机A发送的报文被送到交换机S1的eth0口,由于eth0与 eth1、eth2桥接在一起,故而报文被复制到eth1和eth2,并 且发送出去,然后被主机B和交换机S2接收到。而S2又会将 报文转发给主机C、D。
(2)配置实现网桥
配置原理和bonding和网络组的创建类似,具体配置过程如下:
nmcli connection add type briage con-name brg0 ifname brg0
nmcli connection modify br0 ipv4.addresses 192.168.38.100/24
ipv4.method manuall
nmcli con add type bridge-slave con-name br0-slave0-eth1 ifname eth1 master br0
nmcli con add type bridge-slave con-name br0-slave0-eth0 ifname eth10master br0
查看配置情况
cat /etc/sysconfig/network-scripts/ifcfg-br0
cat /etc/sysconfig/network-scripts/ifcfg-br0-port0
brctl show
删除网桥
首先禁用网卡,然后删除网卡brctl delbr br0
删除网桥中网卡 brctl delif eth0
注意:NetworkManager只支持以太网接口接口连接到网桥,不支 持聚合接口
三测试网络工具
(1)在命令行下测试网络的连通性
显示主机名 hostname
测试网络连通性 ping mtr
显示正确的路由表 ip route
确定名称服务器使用: nslookup host dig
跟踪路由 • traceroute • tracepath
(2)网络客户端工具
ftp,lftp
子命令:get、 mget、ls、help
lftp [-p port] [-u user[,password]] SERVER
lftpget URL
wget [option]... [URL]...
-q: 静默模式 -c: 断点续传 -O: 保存位置 --limit-rate=: 指定传输速率,单位K,M等 links URL --dump --source