Linux网络配置 ============================================================================================================================================== 1、Linux中客户端使用的随机端口 /proc/sys/net/ipv4/ip_local_prot_range 2、FIN_WAIT2 孤儿连接 处于FIN_WAIT_2 状态的客户端需要等待服务器发送结束报文段,才能转移至TIME_WAIT 状态,否则它将一直停留在 这个状态。如果不是为了在半关闭状态下继续接收数据,连接长时间地停留在FIN_WAIT_2状态并无益处。连接停留在 FIN_WAIT_2状态的情况可能发生在:客户端执行半关闭后,未等服务器关闭连接就强行退出了。此时客户端连接由内 核来接管,可称之为孤儿连接(和孤儿进程类似)。Linux 为了防止孤儿连接长时间存留在内核中,定义了两个内核 参数:  /proc/sys/net/ipv4/tcp_max_orphans 指定内核能接管的孤儿连接数目  /proc/sys/net/ipv4/tcp_fin_timeout 指定孤儿连接在内核中生存的时间 3、超时重传  /proc/sys/net/ipv4/tcp_retries1 ,指定在底层 IP 接管之前TCP 最少执行的重传次数,默认值是3  /proc/sys/net/ipv4/tcp_retries2 ,指定连接放弃前TCP最多可以执行的重传次数,默认值15(一般对应13 ~30min) 4、拥塞控制算法 /proc/sys/net/ipv4/tcp_congestion_control 常见的拥塞控制算法有:reno、vegas、cubic 5、Linux查看arp表 arp -n ip neigh 5、广播解析IP地址所对应的MAC地址 arping -I ens33 172.18.26.3 6、默认ttl值 /proc/sys/net/ipv4/ip_default_ttl 修改方式:/etc/sysctl.conf net.ipv4.ip_default_ttl = 128 7、跟踪路由信息 traceroute IP|www.abc.com mtr IP tracepath 选项: -n 不解析名称 8、忽略icmp协议的响应 /proc/sys/net/ipv4/icmp_echo_ignore_all=1 1 禁止 0 允许 9、忽略(不响应)网络中向广播中发送的数据包 /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts=1 1 禁止 0 响应 在某个网络中发送广播: ping -b 172.18.250.255 ping可以直接ping十进制数 ============================================================================================================================================== 一、路由 1、路由表 1、查看命令 route -n netstat -nr routel ip route list 2、路由表字段含义 对路由表先进行精确匹配。 Destination # 数据包的目的地址 Gateway # 网关 Genmask # 网络掩码 Flags # 标记 U — 路由是活动的 H — 目标是一个主机 G — 路由指向网关 R — 恢复动态路由产生的表项 D — 由路由的后台程序动态地安装 M — 由路由的后台程序修改 ! — 拒绝路由 Metric # 路由距离,到达指定网络所需的中转数 Ref Use Iface # 数据包发出的接口,主机将数据包从那个接口发出。即到达目标网络的路由出口 ============================================================================================================================================== 二、网络配置 1、网络配置工具 ifcfg ifconfig route netstat ip(工具集) ss tc system-config-network[-tui](图形化配置) setup(图形化配置) CentOS7 网络配置工具: nmcli mmtui(图形化配置) nm-connection-editor 2、网卡名称 /etc/udev/rules.d/70-persistent-net.rules # 每个网卡设备对应一条记录,记录的 [NAME] 字段定义网卡名称 修改网卡名称生效问题: dmesg # 查看 /var/log/dmesg 日志文件,保存的是内核启动日志文件。可查看网卡驱动模块 ethtool -i eth1 # 查看网卡信息 lsmod | grep e1000 # 查看网卡驱动是否安装 modprobe -r e1000|pcnet42 # 卸载网卡驱动模块 modprobe e1000 # 重新加载模块 3、网卡及IP地址配置 ifconfig 1、格式1: ifconfig [-v] [-a] [-s] [interface] 选项: -a # 显示所有的网卡设备,甚至非启动状态的网卡 2、格式2: ifconfig interface [aftype] options | [address/netmask|address netmask] ... 选项: up # 启用网卡 ifconfig eth0 up down # 禁用网卡 ifconfig eth0 down (数据链路层关闭) 示例: # 临时添加IP地址 ifconfig eth0 192.168.84.128/24 ifconfig eth0:0 192.168.84.128/24 # 别名 ifconfig eth0 192.168.84.128 netmask 255.255.255.0 3、显示信息字段含义 Link encap: # 链路层的封装格式。以太网帧 Bcast: # 广播地址 Mask: # 掩码 UP # 工作状态 BROADCAST # 支持广播 RUNNING # 运行当中 MULTCAST # 支持多播 MTU # 最大传输单元 Metric # 度量值 RX packets # 接收报文的个数 dropped # 丢弃的报文数 TX # 发送的报文个数 4、禁用|启用网卡上的IP地址 ifup eth0 ifdown eth1 5、路由管理 route 1、查看: route -n # 显示路由表,n表示不使用DNS反解 reote -e|-ee # 显示更详细的信息 2、添加路由: 格式: route add [-net|-host] TARGET [netmask NM] [gw Gw] [[dev] Interface] 参数: gw # 指定设置默认网关 dev # 指定设备接口 netmask # 指定网络地址的掩码 示例: # 添加主机路由 route add -host 172.18.26.3 gw 1.1.1.1 dev eth0 # 添加网络路由 route add -net 172.18.0.0/16 gw 172.18.0.1 dev eth0 或者 route add -net 172.18.0.0 netmask 255.255.0.0 gw 172.18.0.1 dev eth0 # 添加默认路由 route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.18.0.1 dev eth0 reute add default gw 172.18.0.1 3、删除路由: 格式: route del [-net|-host] TARGET [netmask NM] [gw Gw] [[dev] Interface] 示例: # 删除主机路由 192.168.1.3 route del -host 192.168.1.3 # 删除网络路由 192.168.0.0 route del -net 192.168.0.0 netmask 255.255.255.0 4、路由器配置: 1、将目的地是下一跳网络地址的报文路由给[临近本路由器的]路由器接口的IP地址 5、永久生效路由: /etc/sysconfig/network-scripts/route-INTERFACE_NAME 需要重启网卡生效 配置文件书写格式: 注:(两个书写格式不能混合用) 格式1:TARGET via GW 192.168.1.26/24 via 192.168.1.1 格式2:每三行定义一条路由 ADDRESS[N]=TARGET NETMASK[N]=NETMASK GATEWAY[N]=GW 注:配置默认网关格式 default via GW_IP (只支持CentOS6) 0.0.0.0/0 via GW_IP 6、配置动态路由 ---> quagga 6、netstat 工具 选项: -n # 数字格式显示,不将IP地址反解成名称。 -t # 显示TCP连接 -u # 显示UDP连接 -l # 监听状态的连接 -a # 所有状态的连接 -p # 连接相关的进程 -r # 显示路由表 -w # 显示 -e # 显示扩展信息。更详细的信息 显示接口统计信息: # 查看接口统计信息 netstat -i # 查看指定接口统计信息 netstat -Ieth0 Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 1498369 0 0 0 1506677 0 0 0 BMRU 接收数据 错误 丢弃 过载 发送数据 错误 丢弃 过载 # 使用ifconfig命令查看统计信息 ifconfig -s eth0 7、ip 工具集 1、使用格式: ip [options] OBJECT {COMMAND} OBJECT: link # 查看链路层的信息 addr # 显示网络层IP地址 route # 查看路由表 COMMAND: set INTERFACE_NAME ACTION # 设置网卡 show [INTERFACE_NAME] [up|down] # 显示接口信息或指定接口信息 # IP地址的添加|删除 add IP_ADDR/NETMASK dev INTERFACE_NAME [label INTERFACE_NAME:0] # 添加IP地址,label表示定义别名 del IP_ADDR/NETMASK dev INTERFACE_NAME [label INTERFACE_NAME:0] # 删除IP地址,label表示定义别名 flush dev INTERFACE_NAME # 删除指定网卡上所有的临时IP # IP路由的添加|删除 add TARGET/NETMASK via [GW] [dev] [INTERFACE_NAME] SOURCE_IP # 添加路由 del TARGET # 删除路由 flush dev INTERFACE_NAME # 清除路由表 2、示例 # 禁用或启用网卡 ip link set eth0 down|up # 显示激活状态的网卡 ip link show up # 添加路由 ip route add 0.0.0.0/0 via 172.18.0.1 # 添加默认网关 ip route add default via 172.18.0.1 [dev eth0] # 查看路由表 ip route list 3、IP命令示例 ip link show # 显示网络接口信息 ip link set eth0 upi # 开启网卡 ip link set eth0 down # 关闭网卡 ip link set eth0 promisc on # 开启网卡的混合模式 ip link set eth0 promisc offi # 关闭网卡的混个模式 ip link set eth0 txqueuelen 1200 # 设置网卡队列长度 ip link set eth0 mtu 1400 # 设置网卡最大传输单元 ip addr show # 显示网卡IP信息 ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1 ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址 ip route list # 查看路由信息 ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口 ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254 ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关 ip route del default # 删除默认路由 8、ss 工具 netstat 是通过遍历proc来获取socket来获取信息,而 ss 是使用netlink 与内核 tcp_diag 模块通信获取信息。 ss 工具可以对连接的状态进行过滤,并且ss工具比netstat工具的性能高。 格式: ss [options] [filter] 选项: -t # tcp 协议相关 -u # udp 协议相关 -w # 裸套接字相关 -x # unix sock 相关 -l # listen状态的连接 -a # 所有 -n # 数字格式 -p # 相关的程序及PID -e # 扩展的信息 -m # 内存用量 -o # 计时器信息 -s # 统计信息显示 filter: 格式: state STATE 'PORT' PORT: '( dport = :ssh or sport = :ssh )' 示例:ss -o state ESTABLISHED '( dport = :22 or sport = :22 )' 9、网卡接口配置文件 /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME 注:配置文件的文件名称,不影响网络服务正确识别配置文件。识别设备是通过配置文件中DEVICE或者HWADDR是识别 配置字段: DEVICE= # 关联的设备名称,与网卡同名,唯一标记网卡设备 TYPE=Ethernet # 网络类型 BOOTPROTO={static|none|dhcp|bootp} # 引导协议static和none静态协议;dhcp使用DHCP服务器获取地址 UUID= # 识别硬件的唯一标识 IPADDR= # IP地址 NETMSK= # 子网掩码 PREFIX=8|16|24 # 子网掩码 GATEWAY= # 设定默认网关。也可以写在 /etc/sysconfig/network文件中 ONBOOT= # 开机是否启动,当前即可关闭,默认是yes HWADDR= # 真实物理网卡硬件地址,可以不写 MACADDR= # MAC地址,可以修改 USERCTL= # 是否允许普通用户控制此接口 DNS1= # 设定DNS的IP地址{重启网络服务,自动生成/etc/resolv.conf文件} DNS2= # 当DNS1宕机时,才会从DNS2查找(默认/etc/resolv.conf文件由NetworkManager服务生成) DOMAIN=xuejinwei.com # 请求DNS解析时,补全完整的FQDN PEERDNS= # 是否在BOOTPROTO为dhcp时接受服务器指定的DNS地址 NM_COMTROLLED=yes|no # 是否接受NetworkManager服务的管理 10、网卡别名 1、ifconfig ifconfig eth1:0 192.168.1.10/24 ifconfig eth1:0 down 2、IP命令 ip addr add 192.168.1.10/24 dev eth1 label eth1:0 ip addr del 192.168.1.10/24 dev eth1 label eth1:0 注:别名也可以写配置文件,别名的IP获取方式必须是静态指定。 注:网卡配置项文档信息 /usr/share/doc/initscripts-9.49.37/sysconfig.txt =================================================================================================================================== 四、其他网络相关命令 1、查看使用某个端口的应用程序 lscf -i :22 2、查看网卡的属性信息等 ethtool INTERFACE_NAME 选项: -s # 修改网卡属性 ethtool -s|--change DEVNAME [Change generic options] 3、下载命令 wget [option] [URL]... 选项: -q 静默模式 -c 断点续传 -O 保存位置 --limit-rates= 指定传输速率 K M 4、ping 选项: -f # 强制 -s N # ping数据包大小 -c N # ping的包的次数 -W N # 超时时长 -b # ping广播地址 5、ftp anonymous|ftp # 匿名用户 get FILENAME # 下载文件 6、lftp 支持补全功能 7、lftpget 格式: lftpget URL lftpget ftp://172.18.0.1/pub/path/to/filename 8、links URL --dump # 查看文字 --source # 查看源代码 ============================================================================================================================================== ============================================================================================================================================== 五、 Bonding 1、基础原理 在Linux中,bonding功能的实现依靠内核模块bonding,可以使用modinfo bonding查看内核是否支持。 通常情况下,网卡只能接受目标MAC地址是本网卡的MAC的帧,而拒绝其他MAC地址的帧数据。bonding 的实现是通过让网卡工作在 promisc 模式下,从而可以接收网络中的所有帧数据。同时两个物理网卡 将被修改为相同的MAC地址,将数据交给bonding驱动处理。 bonding实现了将多个网卡绑定聚合在一起,形成一个逻辑上的网卡接口,在用户看来就是一个网卡。 利用bonding可以实现网卡硬件层面的冗余。 2、工作模式 Mode 0 负载均衡模式 (balance -rr) 依次传输数据包,数据包依次从两个网卡经过。此模式提供负载均衡和容错能力。 Mode 1 主备模式 (Action-backup) 只有一个设备处于活动状态,当一个设备发生故障时,马上由另一个设备接替工作。 Bonding的MAC地址是唯一的,当发生主备切换时,MAC地址也会切换。 Mode 3 广播模式 (broadcast) 在所有接口上传送所有报文,提供容错能力,此模式不需要交换的特殊处理。 ****************************************************************************************************************** 模式1:mode=0 ,即:(balance-rr) Round-robin policy(平衡轮循策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕), 此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同 的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量 就会下降。 # 模式2:mode=1,即: (active-backup) Active-backup policy(主-备份策略) 特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond 的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络 连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N 模式3:mode=2,即:(balance-xor) XOR policy(平衡策略) 特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。其他的传 输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力。 模式4:mode=3,即:broadcast(广播策略) 特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。 模式5:mode=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE 802.3ad 动态链接聚合) 特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。 外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。 需要注意的是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。 不同的实现可能会有不同的适应性。 必要条件: 条件1:ethtool支持获取每个slave的速率和双工设定 条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation 条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式 # 模式6:mode=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡) 特点:不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配 外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。 该模式的必要条件:ethtool支持获取每个slave的速率。 # 模式7:mode=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡) 特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何 switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送 的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址 进行通信。 平时经常用到的是mode=0、mode=1、mode=4、mode=6算法 ********************************************************************************************************************** 3、配置 1、创建bonding设备的 配置文件 /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 # bond设备名称 TYPE=Ethernet BONDING_OPTS="miimon=100 mode=1" # miimon 是用来进行链路监测的。如果miimon=100 ,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路。mode=1 表示使用mode1模式 BOOTPROTO=static IPADDR=172.18.26.100 # 配置bond设备的IP地址 NETMASK=255.255.0.0 GATEWAY=172.18.0.1 ONBOOT=yes 网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 MASTER=bond0 # 表示将此设备加入bond SLAVE=yes # 此配置文件的所有配置项失效,所有配置在bond配置文件中配置 /etc/sysconfig/network-scripts/ifcfg-eth1 MASTER=bond0 SLAVE=yes 2、查看bond状态信息 cat /proc/net/bonding/bond0 3、检测 ping bond设备的IP地址看IP地址是否生效 对其中的网卡进行物理断开,查看bond信息 4、删除bonding 1、删除bonding配置文件 2、卸载bonding内核模块 modprobe -r bonding 3、重新启动网络服务 ============================================================================================================================================== ============================================================================================================================================== 六、CentOS7 网络配置 1、网卡命名规则 1、CentOS 7 使用基于硬件,设备拓扑和设置类型命名:网卡命名机制systemd对网络设备的命名方式 1、如果Firmware 或BIOS 为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1 2、如果Firmware 或BIOS 为PCI-E 扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1 3、如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0 4、如果用户显式启动,也可根据MAC 地址进行命名 ,enx2387a1dc56 5、上述均不可用时,则使用传统命名机制 2、名称组成格式 en: Ethernet 有线局域网 wl: wlan 无线局域网 ww: wwan 无线广域网 3、名称类型 o: 集成设备的设备索引号 s: 扩展槽的索引号 x: 基于MAC地址的命名 ps: enp2s1 2、biosdevname 1、安装 yum install biosdevname 2、命名规则 内嵌网络接口(LOM) eth[0123…] em[1234…] ⁠[a] PCI 卡网络接口 eth[0123…] pp 虚拟功能 eth[0123…] pp_ 3、采用传统的网卡命名方式 方法一: 1、编辑/etc/default/grub 配置文件 GRUB_CMDLINE_LINUX ="rhgb quiet net.ifnames=0"  2、为grub2 生成其配置文件 [grub2-mkconfig -o /etc/grub2.cfg] 注:grub2-mkconfig根据/etc/default/grub文件模板生成grub2.cfg文件 方法二: 修改/boot/grub2/grub.cfg重启即可生效 4、CentOS 7 网络配置工具 1、NetworkManager服务 网络管理器是自动连接网络、管理网络的程序。 2、修改主机名 hostnamectl 注:此命令修改后立马生效。CentOS7的主机名保存在/etc/hostname文件 删除文件/etc/hostname, , 恢复主机名localhost.localdomain 3、图形工具 nm-connection-editor 4、字符配置工具 nmtui nmtui-connect nmtui-edit nmtui-hostname 5、命令行工具 nmcli 注:此命令实时修改配置文件 格式: nmcli [options] OBJECT {COMMAND|help} [options]: -p # 格式化输出 -c|--colors {yes|no|auto} # 是否显示颜色 [OBJECT]: connection # 表示一套网卡的配置 general # 使用此命令显示NetworkManager状态和权限。 您还可以获取和更改系统主机名以及NetworkManager日志记录级别和域 agent device general help monitor networking radio [connection] COMMAND: reload # 重新加载配置 modify # 修改配置文件生效 show # 显示配置 add # 给网卡添加一个新的链接配置文件 delete # 删除一个链接 [device] COMMAND: status # 状态信息 disconnect # 断开某个链接 [nmcli connection modify INTERFACE_NAME PROPERTY VALUE] VALUE: 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.254 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= . . . 示例: 1、修改connection名称 nmcli connection modify eth0 connection.id eth0-master 2、删除一个connection nmcli connection delete CONNECTION-NAME 3、给网卡添加一个链接文件 注:也可以复制配置文件的方式增加链接,需要执行 nmcli connection reload nmcli connection add con-name CONNECTION-NAME type ethernet ifname INTERFACE_NAME 4、给链接文件添加配置项 格式:nmcli connection modify CONNECTION-NAME [CONFIGURATION_ITEM VALUE] nmcli connection modify ens33-dhcp connection.autoconnect yes ipv4.addresses 172.18.26.12/16 ipv4.method manual ipv4.gateway 172.18.0.1 ipv4.dns 172.18.0.1 ipv4.dns-search xuejinwei.com 5、显示接口的所有配置项信息 nmcli connection show INTERFACE_NAME 6、启用某个链接 nmcli connection up CONNECTION-NAME 7、删除某个链接 nmcli connection delete CONNECTION-NAME 8、给链接配置文件添加地址 nmcli connection modify ens33-test +ipv4.addresses 172.18.26.254/16 +ipv4.dns 144.144.144.144 注:添加新地址后,需要重新启动链接 nmcli connection up CONNECTION-NAME 9、断开某个链接 nmcli device disconnect CONNECTION-NAME 帮助文档:/usr/share/doc/initcripts-*/sysconfig.txt ==================================================================================================================================== ==================================================================================================================================== 七、使用nmcli工具实现bonding 添加bond 1、添加bond链接 nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup 2、给bond设备添加地址网关等网卡基本信息 nmcli connection modify bond0 ipv4.addresses 172.18.26.127/16 connection.autoconnect yes ipv4.dns-search xuejinwei.com ipv4.method manual ipv4.dns 172.18.0.1 3、将网卡加入到bond中 nmcli connection add type bond-slave ifname INTERFACE_NAME master BOND_NAME1 nmcli connection add type bond-slave ifname INTERFACE_NAME master BOND_NAME2 4、将两个网卡的bond配置文件启用 nmcli connection up bond-slave-ens37 nmcli connection up bond-slave-ens33 5、启用bond nmcli connection up bond0 停止删除bond 1、停止bond设备 注:或者删除所有bond开头的文件 nmcli connection down bond0 2、删除链接文件 nmcli connection delete bond-slave-ens33|ens37|bond0 ==================================================================================================================================== ==================================================================================================================================== 八、网络组 Network Teaming 1、Network Teaming的实现需要内核模块team支持。可用modinfo team查看模块信息。 Network Teaming是bonding的另一种实现。 2、把 bonding 的配置转换成 team 配置文件的工具 [bond2team] 3、teamd守护进程实现,teamdctl提供查看team设置team设置功能等 4、多种工作方式 broadcast roundrobin activebackup loadbalance lacp (implements the 802.3ad Link Aggregation ControlProtocol) 5、创建 1、创建team nmcli connection add type team con-name TEAM_NAME ifname L_TEAM_NAME config '{"runner":{"name":"activebacpup"}}' 2、配置team的IP、网关等信息 nmcli connection modify team0 connection.autoconnect yes ipv4.method manual ipv4.dns 172.18.0.1 ipv4.dns-search xuejinwei.com ipv4.addresses 172.18.26.127/16 ipv4.gateway 172.18.0.1 3、将物理网卡加入team nmcli connection add type team-slave con-name CONNECTION-NAME ifname INTERFACE_NAME master team_NAME nmcli connection add type team-slave con-name CONNECTION-NAME ifname INTERFACE_NAME master team_NAME 4、启动链接文件 nmcli connection up team-slave-ens33 注:要先启动主 nmcli connection up team-slave-ens37 5、查看team状态信息 teamdctl命令 teamdctl team0 state # 查看team状态信息 6、停止team0设备 nmcli connection delete team0 nmcli connection delete slave-ens33 nmcli connection delete slave-ens37 6、注意 1、启动 [网络组接口] 不会自动启动网络组中的 port接口  2、启动 [网络组接口中的port接口] 总会自动启动 网络组接口  3、禁用 [网络组接口] 会自动禁用 [网络组中的port接口]  4、没有port接口的网络组接口可以启动静态IP连接  5、启用DHCP连接时,没有port 接口的网络组会等待port接口的加入 ==================================================================================================================================== ==================================================================================================================================== 九、网桥 1、桥接:把一台机器上的若干个网络接口[连接]起来。其结果是,其中一个网卡收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能 够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通 信。主机A 发送的报文被送到交换机S1 的eth0 口,由于eth0与 与eth1 、eth2 桥接在一起,故而报文被复制到eth1 和eth2 ,并且发送出去, 然后被主 机B 和交换机S2 接收到。而S2 又会将报文转发给主机C、D =================================== ==================================== | | | | | S1 | | S2 | | | | | ==eth0=======eth1=======eth2======= ==eth0=======eth1=======eth2======== A B | | C D |———————————————————————————————| 2、网桥配置 1、创建软件网桥 nmcli connection add type bridge con-name br0 ifname br0 注:创建后会自动启动 nmcli connection modify br0 ipv4.addresses 192.168.74.100/24 ipv4.method manuall 2、将设备关联到网桥 nmcli connection add type bridge-slave [con-name CONNECTION-NAME1] ifname INTERFACE_NAME1 master br0 nmcli connection add type bridge-slave [con-name CONNECTION-NAME2] ifname INTERFACE_NAME2 master br0 3、启动 nmcli connection up CONNECTION-NAME1 nmcli connection up CONNECTION-NAME2 nmcli connection up br0 # 启动网桥设备 =========将两个物理网络桥接到虚拟网桥上=============== 4、删除 brctl delbr br0 # 删除网桥  brctl delif eth0 # 删除网桥中网卡 5、查看网桥 cat /etc/sysconfig/network-scripts/ifcfg-br0 cat /etc/sysconfig/network-scripts/ifcfg-br0-port0 brctl show ==================================================================================================================================== ====================================================================================================================================