一、网卡命名
CentOS 7使用基于硬件,设备拓扑和设置类型命名;
网卡命名机制
1.主板上集成的设备(内置):eno1
2.PCI-E扩展槽(外置):ens1
3.硬件接口的物理位置:enp2s0
4.MAC地址:enx2387a1dc56
5.上述均不可用时,则使用传统命名机制;
命名机制基于BIOS,支持启用biosdevname软件;
内置网卡:em1,em2;
pci卡:pYpX Y(slot插槽)、X(port);
名称组成格式
en:Ethernet——有线局域网;
wl:wlan——无线局域网;
ww:wwan——无线广域网;
名称类型
o<index>:集成设备的设备索引号
s<slot>:扩展槽的索引号
x<MAC>:基于MAC地址的命名
p<bus>s<slot>:enp2s1
企业标准化管理,回归传统网卡名称;传统命名方式
方法一
/etc/grub2.cfg(软链接)---/boot/grub2/grub.cfg(真正的文件)
vim /boot/grub2/grub.cfg
Paste_Image.png
方法二
1.编辑文件/etc/default/grub
vim /etc/default/grub
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
grub2-mkconfig文件自动被更改;
2.重定向
grub2-mkconfig -o /etc/grub2.cfg
3.重启系统
Paste_Image.png
hostnamectl
systemctl status
hostnamectl status(centos6无、centos7有)
hostnamectl set-hostname centos8.fgq.com 更改主机名
此一条命令可以同时:写文件(文件自动生成)+ 改内存;
exit 即可生效;
注意:更改主机名后,一定要把新主机名添加到文件/etc/hosts中;
hostname centos8.fgq.com 只改内存
nm-connection-editor
nmtui
nmcli(NetworkManage)
nm-connection-editor 图形界面
nmtui 文字界面
nmtui
nmtui-connect
nmtui-edit
nmtui-hostname
nmcli 文字界面
centos6:写文件 + 改内存——不同的命令;
centos7:写文件 + 改内存——1条命令即可(方便);
nmcli [选项] [工具] [cmd]
nmcli connection show = nmcli con sh 显示信息
nmcli connection modify = nmcli con mod 更改信息
nmcli connectioni delete = nmcli con del 删除信息
Paste_Image.png
更改链接名(NAME:配置文件名)
nmcli con modify Wired\ connection\ 1 \connection.id eth1-office
nmcli con modify Wired\ connection\ 1 connection.id eth1
nmcli con modify eth1-office connection.id eth0
相当于
vim ifcfg-ens33;NAME=eth1-office;(更改配置文件)
Wired\ connection\ 1 注意中间有空格
nmcli con del ens1 删除ens1对应的配置文件
Paste_Image.png
TAB键补全,可以查找更改的选项命令
Paste_Image.png
不同环境,不同链接(机房、办公室、家);添加
nmcli con add con-name eth1-lan type ethernet ifname eth1 添加链接名(后面可以加IP)
con-name 链接名 = 配置文件名
ifname eth1 设备接口/网卡名
cat ifcfg-eth1-lan 查看文件信息的格式
nmcli con modify eth1-lan connection.autoconnection yes ipv4.method manual ipv4.gateway 172.17.0.1 ipv4.dns 172.17.0.1
ipv4.method manual 这个命令必须加,否则IP不会生效
connection.autoconnection = "ONBOOT=yes" 名字长,TAB键自动补全;yse不能丢;
ipv4.method manual = "BOOTPROTO=static" 手工配置IP
结果未生效
nmcli con show eth1-office(链接名,不是接口名) 查询详细信息
使结果生效
nmcli con up eth1-lan 启用配置
nmcli con up eth1
cp ifcfg-eth1(原文件) ifcfg-eth1-home(新文件)
vim ifcfg-eth1-home 新文件的配置更改;以下三个必须改,其他可以不改
UUID=... 删除即可
NAME=eth1-home
IPADDR=172.12.100.12(可不改)
cp命令不会马上生效
nmcli con reload 重读加载新文件,使之生效
nmcli con delete eth1-home
卸载虚拟化网卡(虚拟化使用)
cdnet;
rpm -qa libvirt*;
yum remove libvirt-daemon;
reboot 使之生效;
Paste_Image.png1个网卡——增加多个IP
正常情况下,一个主机——两个网卡eth0和eth1;
eth1增加多个IP
nmcli con modify eth1 +ipv4.adress 6.6.6.6 +ipv4.dns 8.8.8.8
在原来的基础上增加IP地址,+ipv4....(TAB键补全,很多选项)
nmcli connection show eth1(链接名,不是设备名)
cat ifcfg-eth1 查看文件信息格式
nmcli con down eth1
nmcli con up eth1
稳妥:先down,再up;
nmcli con modify eth1 +ipv4.adress 7.7.7.7
cat ifcfg-eth1 新增一个IP,观察文件的格式的变化;更改时,可按照此格式;
nmcli con up eth1 生效
删除
删除:"+ipv4" 变为 "-ipv4"
nmcli con modify eth1 -ipv4.adress 7.7.7.7
nmcli con up eth1 生效
ip a 显示新更改的信息
nmcli con = ip addr
nmcli device show = ip link
nmcli device disconnect eth1 网络层失效;IP失效
nmcli device connect eth1
nmcli device show eth0/eth1
nmcli con mod ~ ficfg-* 文件
Paste_Image.png作业1:nmcli——bonding(多网卡~1个IP)
网络配置文件
/etc/sysconfig/network-scripts/ifcfg-<name>
帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt
实验
centos7:设置仅主机模式(两块网卡)
centos6:ping 192.168.8.100
centos7上操作
(1)创建bond0
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
nmcli con mod bond0 ipv4.method manual ipv4.address 192.168.8.100/24
两条命令可以合在一起
nmcli con up bond0
centos6上,可以ping通;
(2)关联物理网卡与bond0
nmcli con add type bond-slave ifname eth1/0 master bond0
bond-slave-eth0/1 文件自动生成
nmcli con up bond-slave-eth0/1 关联(启用)
cat bond-slave-eth0/1 查看文件信息格式
(3)删除
nmcli con down bond0 文件ifcfg-bond-slave-eth0/1自动失效
nmcli con del bond0
rm -f ifcfg-bond*
nmcli con reload
nmcli con show
作业2:Network Teaming(网络组)
网络组:是将多个网卡聚合在一起,从而实现冗错和提高吞吐量;
网络组不同于旧版中bonding技术,提供更好的性能和扩展性;
网络组由内核驱动和teamd守护进程实现;
1.安装
yum install kernel-doc -y
kernel-doc ~ bonding
2.创建Team设备:
nmcli con add type team con-name team0 ifname team0 [configJSON]
[config JSON] 配置方式;JSON指定runner方式;
格式:'{"runner": {"name": "METHOD"}}'
METHOD可以是broadcast,roundrobin,activebackup,loadbalance,lacp;
nmcli con add type team con-name team0 ifname team0 '{"runner":{"name":"activebackup"}}'
nmcli con modify team0 ipv4.method manual ipv4.address 192.168.8.0/24
nmcli con up team0
team0配置文件
/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
3.关联物理网卡与Team设备
nmcli con add type team-slave ifname eth0/1 master team0 con-name... (con-name不写,会默认生成)
nmcli con up team-slave-eth0/1 生效
team0-eth0/1配置文件
/etc/sysconfig/network-scripts/ifcfg-team0-eth1/0
DEVICE=eth1
DEVICETYPE=TeamPort(*)
TEAM_MASTER=team0(*)
NAME=team0-eth1(*)
ONBOOT=yes
4.禁用Team网络接口
teamdctl team0 state 看状态信息
nmcli con down team0 禁用网络组接口会自动禁用网络组中的port接口
5.更改模式mode
vim ifcfg-team0 把runner中的activebackup改为broadcast(mode=3)
nmcli con reload
6.生效(启用)
nmcli con up team0 启动网络组接口不会自动启动网络组中的port接口
team0:网络组接口
team-slave-eth0/1:网络组中的port接口=链接名
nmlci con up team-slave-eth0/1 一个一个启动网络组中的port接口
teamdctl team0 state 查看Team0的信息
启动网络组接口中的port接口总会自动启动网络组接口 ;(断开/连接port接口,观察是否能ping通);
没有port接口的网络组接口可以启动静态IP连接;
启用DHCP连接时,没有port接口的网络组会等待port接口的加入;
7.删除
nmcli con down team0
nmcli con down team-slave-eth0/1
nmcli con del team0
nmcli con del team-slave-eth0/1
相当于删除文件:ifcfg-team0、ifcfg-team-slave-eth0/1
ping -I team0 192.168.0.254 测试用
网桥(=交换机):MAC表(MAC地址~port)
桥接:把一台机器上的若干个网络接口“连接”起来;
原理
(1)一个网口收到的报文会被复制给其他网口并发送出去;以使得网口之间的报文能够互相转发;
(2)网桥:有若干个网口,并且这些网口是桥接起来的;
(3)与网桥相连的主机就能通过交换机的报文转发而互相通信;
图解
(1)主机A发送的报文被送到交换机S1的eth0口;
(2)eth0与eth1、eth2桥接在一起,故而报文被复制到eth1和eth2;
(3)eth2发送出去,然后被主机B和交换机S2接收到;
(4)S2又会将报文转发给主机C、D;
Paste_Image.png
centos7操作:eth0和eth1共用一个地址,关联到br0
1.创建br0
nmcli con add type bridge con-name br0 ifname br0 ipv4.method manual ipv4.address 192.168.8.100/24
nmcli con 显示信息
2.关联物理网卡与br0
nmcli con add type bridge-slave ifname eth1/0 master br0 (con-name不用写,默认自动生成)
nmcli con up bridge-slave-eth1/0 关联到br0
3.查询信息
cat ifcfg-br0 文件里有IP
cat ifcfg-bridge-slave-eth1/0 文件无IP
brctl show 显示桥接信息
桥接是虚拟化网卡;不同于eth0/1;STP协议(防止交换机/生成数回环)
```
```
4.删除
nmcli con down bridge0
rm -f ifcfg-b*
nmcli con reload
```
网友评论