linux网络配置

您所在的位置:网站首页 linux网络不可用 linux网络配置

linux网络配置

#linux网络配置| 来源: 网络整理| 查看: 265

干货资料

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai 领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

网络配置 基本网络配置

将Linux主机接入到网络,需要配置网络相关设置

一般包括如下内容:

主机名 IP/netmask 路由:默认网关 DNS服务器

主DNS服务器 次DNS服务器 第三个DNS服务器

CentOS 6 之前版本网卡名称

接口命名方式:CentOS 6 以太网:eth[0,1,2,…] ppp:ppp[0,1,2,…] 网络接口识别并命名相关的udev配置文件: /etc/udev/rules.d/70-persistent-net.rules 查看网卡: dmesg |grep –i eth ethtool -i eth0 卸载网卡驱动: modprobe -r e1000 rmmod e1000 装载网卡驱动: modprobe e1000

网络配置命令 网络配置方式 静态指定: ifconfig, route, netstat ip: object {link, addr, route}, ss, tc system-config-network-tui,setup 配置文件 动态分配:DHCP: Dynamic Host Configuration Protocol ifconfig命令 ifconfig [interface] ifconfig -a ifconfig IFACE [up|down] ifconfig interface [aftype] options | address ... ifconfig IFACE IP/netmask [up] ifconfig IFACE IP netmask NETMASK

注意:立即生效 启用混杂模式:[-]promisc

范例:

[root@centos8 ~]#ifconfig eth0 10.0.0.68 netmask 255.255.0.0 #清除eth0上面的IP地址 [root@centos8 ~]#ifconfig eth0 0.0.0.0/0 #启用和禁用网卡 [root@centos8 ~]#ifconfig eth0 down [root@centos8 ~]#ifconfig eth0 up [root@centos8 ~]#ifconfig eth0:1 172.16.0.8/24 [root@centos8 ~]#ifconfig eth0: flags=4163 mtu 1500 inet 10.0.0.8 netmask 255.0.0.0 broadcast 10.255.255.255 inet6 fe80::20c:29ff:fe45:a8a1 prefixlen 64 scopeid 0x20 ether 00:0c:29:45:a8:a1 txqueuelen 1000 (Ethernet) RX packets 813 bytes 75898 (74.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 563 bytes 76262 (74.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0:1: flags=4163 mtu 1500 inet 172.16.0.8 netmask 255.255.255.0 broadcast 172.16.0.255 ether 00:0c:29:45:a8:a1 txqueuelen 1000 (Ethernet) lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 2 bytes 140 (140.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 140 (140.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@centos8 ~]#ifconfig eth0:1 down [root@centos8 ~]#ifconfig eth0: flags=4163 mtu 1500 inet 10.0.0.8 netmask 255.0.0.0 broadcast 10.255.255.255 inet6 fe80::20c:29ff:fe45:a8a1 prefixlen 64 scopeid 0x20 ether 00:0c:29:45:a8:a1 txqueuelen 1000 (Ethernet) RX packets 864 bytes 80572 (78.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 601 bytes 81681 (79.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 2 bytes 140 (140.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 140 (140.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

范例:

[root@centos8 ~]#ifconfig -s Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 673005 0 0 0 672688 0 0 0 BMRU lo 65536 70 0 0 0 70 0 0 0 LRU [root@centos8 ~]#ifconfig -s eth0 Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 673011 0 0 0 672694 0 0 0 BMRU route命令

路由表管理命令

路由表主要构成:

Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低 Genmask:目标网络对应的netmask Iface: 到达对应网络,应该从当前主机哪个网卡发送出来 Gateway: 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0 Metric: 开销cost,值越小,路由记录的优先级最高

查看路由表:

route route -n

范例:

[root@centos8 ~]#route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default _gateway 0.0.0.0 UG 100 0 0 eth0 10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0 [root@centos8 ~]#route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.0.2 0.0.0.0 UG 100 0 0 eth0 10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0

添加:route add

route add [-net|-host|default] target [netmask Nm] [gw GW] [[dev] If]

删除:route del

route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

范例:

#目标:192.168.1.3 网关:172.16.0.1 route add -host 192.168.1.3 gw 172.16.0.1 dev eth0 #目标:192.168.0.0 网关:172.16.0.1 route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0 route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0 route add -net 192.168.8.0/24 dev eth1 metric 200 #默认路由,网关:172.16.0.1 route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1 route add default gw 172.16.0.1 #目标:192.168.1.3 网关:172.16.0.1 route del -host 192.168.1.3 #目标:192.168.0.0 网关:172.16.0.1 route del -net 192.168.0.0 netmask 255.255.255.0

范例:实现静态路由

环境:

四台主机: A主机:eth0 NAT模式 R1主机:eth0 NAT模式,eth1 仅主机模式 R2主机:eth0 桥接模式,eth1 仅主机模式 B主机:eth0 桥接模式

linux网络配置插图

#配置A主机 ifconfig eth0 10.0.0.123/8 route add -net 10.0.0.0/8 dev eth0 route add default gw 10.0.0.200 dev eth0 #配置R1 ifconfig eth0 10.0.0.200/8 ifconfig eth1 192.168.0.200/24 route add -net 10.0.0.0/8 dev eth0 route add -net 192.168.0.0/24 dev eth1 route add -net 172.16.0.0/16 gw 192.168.0.201 dev eth1 echo 1 > /proc/sys/net/ipv4/ip_forward #配置R2 ifconfig eth0 172.16.0.200/16 ifconfig eth1 192.168.0.201/24 route add -net 192.168.0.0/24 dev eth1 route add -net 172.16.0.0/16 dev eth0 route add -net 10.0.0.0/8 gw 10.0.0.200 dev eth1 echo 1 > /proc/sys/net/ipv4/ip_forward #配置B ifconfig eth0 172.16.0.123/16 route add -net 172.16.0.0/16 dev eth0 route add default gw 172.16.0.200 dev eth0 配置动态路由

通过守护进程获取动态路由 安装quagga包,通过命令vtysh配置 支持多种路由协议:RIP、OSPF和BGP

netstat命令

显示网络连接:

netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]

常用选项

-t: tcp协议相关 -u: udp协议相关 -w: raw socket相关 -l: 处于监听状态 -a: 所有状态 -n: 以数字显示IP和端口 -e:扩展格式 -p: 显示相关进程及PID

常用组合:

-tan, -uan, -tnl, -unl

显示路由表:

netstat {--route|-r} [--numeric|-n] -r: 显示内核路由表 -n: 数字格式 显示接口统计数据 netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n] netstat -i netstat –I=IFACE ifconfig -s IFACE

范例:

[root@centos8 ~]#netstat -Ieth0 Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 4660 0 0 0 2460 0 0 0 BMRU [root@centos8 ~]#ifconfig -s eth0 Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 4745 0 0 0 2518 0 0 0 BMRU [root@centos8 ~]#netstat -nt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 52 10.0.0.8:22 10.0.0.1:4927 ESTABLISHED ip命令

来自于iproute包,代替ifconfig

配置Linux网络属性 ip [ OPTIONS ] OBJECT { COMMAND | help }

ip 命令说明:

OBJECT := { link | addr | route } ip link - network device configuration set dev IFACE,可设置属性:up and down:激活或禁用指定接口,相当于 ifup/ifdown show [dev IFACE] [up]::指定接口 ,up 仅显示处于激活状态的接口

ip 地址管理

ip addr { add | del } IFADDR dev STRING [label LABEL] [scope {global|link|host}][broadcast ADDRESS] [label LABEL]:添加地址时指明网卡别名 [scope {global|link|host}]:指明作用域,global: 全局可用.link: 仅链接可用,host: 本机可用 [broadcast ADDRESS]:指明广播地址 ip address show ip addr flush

范例:

#禁用网卡 ip link set eth1 down #网卡改名 ip link set eth1 name wangnet #启用网卡 ip link set wangnet up #网卡别名 ip addr add 172.16.100.100/16 dev eth0 label eth0:0 ip addr del 172.16.100.100/16 dev eth0 label eth0:0 #清除网络地址 ip addr flush dev eth0 管理路由

ip route 用法

#添加路由: ip route add TARGET via GW dev IFACE src SOURCE_IP TARGET: 主机路由:IP 网络路由:NETWORK/MASK #添加网关: ip route add default via GW dev IFACE #删除路由: ip route del TARGET #显示路由: ip route show|list #清空路由表: ip route flush [dev IFACE] [via PREFIX]

范例:

ip route add 192.168.0.0/24 via 172.16.0.1 ip route add 192.168.1.100 via 172.16.0.1 ip route add default via 172.16.0.1 ip route flush dev eth0 ss 命令

netstat 通过遍历 /proc来获取 socket信息,ss 使用 netlink与内核 tcp_diag 模块通信获取 socket 信息

格式:

ss [OPTION]... [FILTER]

选项:

-t: tcp协议相关 -u: udp协议相关 -w: 裸套接字相关 -x:unix sock相关 -l: listen状态的连接 -a: 所有 -n: 数字格式 -p: 相关的程序及PID -e: 扩展的信息 -m:内存用量 -o:计时器信息

格式说明

FILTER : [ state TCP-STATE ] [ EXPRESSION ] TCP的常见状态: tcp finite state machine: LISTEN: 监听 ESTABLISHED:已建立的连接 FIN_WAIT_1 FIN_WAIT_2 SYN_SENT SYN_RECV CLOSED EXPRESSION: dport = sport =

常用组合:

-tan, -tanl, -tanlp, -uan

范例:常见用法

#显示本地打开的所有端口 ss -l #显示每个进程具体打开的socket ss -pl #显示所有tcp socket ss -t -a #显示所有的UDP Socekt ss -u -a #显示所有已建立的ssh连接 ss -o state established '( dport = :ssh or sport = :ssh )' #显示所有已建立的HTTP连接 ss -o state established '( dport = :http or sport = :http )' [root@centos8 ~]#ss -no state established '( dport = :21 or sport = :21 )' Netid Recv-Q Send-Q Local Address:Port Peer Address:Port tcp 0 0 [::ffff:10.0.0.8]:21 [::ffff:10.0.0.7]:46638 timer:(keepalive,119min,0) #列出当前socket详细信息 ss -s 网络配置文件 网络基本配置文件

IP、MASK、GW、DNS相关的配置文件:

/etc/sysconfig/network-scripts/ifcfg-IFACE

说明参考:

/usr/share/doc/initcripts-*/sysconfig.txt

常用配置

设置 说明 TYPE 接口类型;常见有的Ethernet, Bridge NAME 此配置文件应用到的设备 DEVICE 设备名 HWADDR 对应的设备的MAC地址 UUID 设备的惟一标识 BOOTPROTO: 激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp IPADDR 指明IP地址 NETMASK 子网掩码,如:255.255.255.0 PREFIX 网络ID的位数, 如:24 GATEWAY 默认网关 DNS1 第一个DNS服务器地址 DNS2 第二个DNS服务器地址 DOMAIN 主机不完整时,自动搜索的域名后缀 ONBOOT 在系统引导时是否激活此设备 USERCTL 普通用户是否可控制此设备 PEERDNS 如果BOOTPROTO的值为“dhcp”,YES将允许dhcp server分配的dns服务器信息直接覆盖至/etc/resolv.conf文件,NO不允许修改resolv.conf NM_CONTROLLED NM是NetworkManager的简写,此网卡是否接受NM控制 配置当前主机的主机名 #centos6 之前版本 /etc/sysconfig/network HOSTNAME= #centos7 以后版 /etc/hostname HOSTNAME 本地主机名数据库和IP地址的映射

优先于使用DNS前检查 getent hosts 查看/etc/hosts 内容

/etc/hosts DNS域名解析 /etc/resolv.conf nameserver DNS_SERVER_IP1 nameserver DNS_SERVER_IP2 nameserver DNS_SERVER_IP3 search DOMAIN 修改 /etc/hosts和DNS的优先级 /etc/nsswitch.conf hosts: files dns 路由相关的配置文件: /etc/sysconfig/network-scripts/route-IFACE 两种风格: (1) TARGET via GW 如:10.0.0.0/8 via 172.16.0.1 (2) 每三行定义一条路由 ADDRESS#=TARGET NETMASK#=mask GATEWAY#=GW 网卡别名

将多个IP地址绑定到一个NIC上

每个IP绑定到独立逻辑网卡,即网络别名,命名格式: ethX:Y,如:eth0:1 、eth0:2、eth0:3

范例:ifconfig命令

ifconfig eth0:0 192.168.1.100/24 up ifconfig eth0:0 down

范例:ip命令

ip addr add 172.16.1.1/16 dev eth0 ip addr add 172.16.1.2/16 dev eth0 label eth0:0 ip addr del 172.16.1.2/16 dev eth0 label eth0:0 ip addr flush dev eth0 label eth0:0

为每个设备别名生成独立的接口配置文件,格式为:ifcfg-ethX:xxx

范例:

[root@centos8 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0:1 DEVICE=eth0:1 IPADDR=10.0.0.100 PREFIX=8 [root@centos8 ~]#ifconfig eth0: flags=4163 mtu 1500 inet 10.0.0.8 netmask 255.255.255.0 broadcast 10.0.0.255 inet6 fe80::20c:29ff:fe09:f5b prefixlen 64 scopeid 0x20 ether 00:0c:29:09:0f:5b txqueuelen 1000 (Ethernet) RX packets 2320 bytes 200266 (195.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1891 bytes 279736 (273.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0:1: flags=4163 mtu 1500 inet 10.0.0.100 netmask 255.0.0.0 broadcast 10.255.255.255 ether 00:0c:29:09:0f:5b txqueuelen 1000 (Ethernet)

注意:

建议 CentOS 6 关闭 NetworkManager 服务 网卡别名必须使用静态联网 多网卡 bonding

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

Bonding工作模式

共7种模式:0-6 Mode

Mode 0 (balance-rr): 轮询(Round-robin)策略,从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力 Mode 1 (active-backup): 活动-备份(主备)策略,只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见 Mode 3 (broadcast):广播策略,在所有的slave接口上传送所有的报文,提供容错能力

说明:

active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel

Bonding配置

详细帮助:

/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt https://www.kernel.org/doc/Documentation/networking/bonding.txt

创建bonding设备的配置文件

/etc/sysconfig/network-scripts/ifcfg-bond0 TYPE=bond DEVICE=bond0 BOOTPROTO=none IPADDR=10.0.0.100 PREFIX=8 #miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路 BONDING_OPTS="mode=1 miimon=100" /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes

查看bond0状态:

/proc/net/bonding/bond0

删除bond0

ifconfig bond0 down rmmod bonding CentOS 7 以上版网络配置

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

网卡命名机制

systemd对网络设备的命名方式

如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,如:eno1 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如:ens1 如果硬件接口的物理位置信息可用,则根据此信息命名,如:enp2s0 如果用户显式启动,也可根据MAC地址进行命名,如:enx2387a1dc56 上述均不可用时,则使用传统命名机制

基于BIOS支持启用biosdevname软件

内置网卡:em1,em2 pci卡:pYpX Y:slot ,X:port

网卡组成格式

en: Ethernet 有线局域网 wl: wlan 无线局域网 ww: wwan无线广域网 o: 集成设备的设备索引号 s: 扩展槽的索引号 x: 基于MAC地址的命名 ps: enp2s1

使用传统命名方式: (1) 编辑/etc/default/grub配置文件

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

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

grub2-mkconfig -o /etc/grub2.cfg

(3) 重启系统

主机名

配置文件:

/etc/hostname

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

设置主机名

hostnamectl set-hostname centos7.magedu.com

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

显示主机名信息

hostname hostnamectl status 网络配置工具nmcli

图形工具:nm-connection-editor

字符配置tui工具:

nmtui nmtui-connect nmtui-edit nmtui-hostname

命令行工具:nmcli

以上工具都依赖NeworkManager服务,此服务是管理和监控网络设置的守护进程

nmcli命令

参考文档:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-networking-with-nmcli_configuring-and-managing-networking

nmcli命令相关术语

设备即网络接口 连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效

格式:

nmcli [ OPTIONS ] OBJECT { COMMAND | help } device - show and manage network interfaces nmcli device help connection - start, stop, and manage network connections nmcli connection help

修改IP地址等属性:

nmcli connection modify IFACE [+|-]setting.property value setting.property: ipv4.addresses ipv4.gateway ipv4.dns1 ipv4.method manual | auto

修改配置文件执行生效:

nmcli con reload nmcli con up con-name nmcli con mod ifcfg**-* 文件** ipv4.method manual BOOTPROTO=none ipv4.method auto BOOTPROTO=dhcp ipv4.addresses 192.168.2.1/24 IPADDR=192.168.2.1 PREFIX=24 ipv4.gateway 172.16.0.200 GATEWAY=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= . . .

范例:

#查看帮助 nmcli con add help #使用nmcli配置网络 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 ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254 #启用static连接配置 nmcli con up static #启用default连接配置 nmcli con up default #修改连接设置 nmcli con mod “static” connection.autoconnect no nmcli con mod “static” ipv4.dns 172.25.X.254 nmcli con mod “static” +ipv4.dns 8.8.8.8 nmcli con mod “static” -ipv4.dns 8.8.8.8 nmcli con mod “static” ipv4.addresses “172.16.X.10/24 172.16.X.254” nmcli con mod “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 nmcli实现bonding #添加bonding接口 nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup #添加从属接口 nmcli con add type bond-slave ifname ens7 master bond0 nmcli con add type bond-slave ifname ens3 master bond0 #注:如无为从属接口提供连接名,则该名称是接口名称加类型构成 #要启动绑定,则必须首先启动从属接口 nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth1 #启动绑定 nmcli con up mybond0 网络组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 #创建port接口 nmcli con add type team-slave con-name CNAME ifname INAME master TEAM CNAME 连接名,连接名若不指定,默认为team-slave-IFACE INAME 网络接口名 TEAM 网络组接口名 #断开和启动 nmcli dev dis INAME nmcli con up CNAME INAME 设备名 CNAME 网络组接口名或port接口

网络组示例

nmcli con add type team con-name myteam0 ifname team0 config '{"runner": {"name": "loadbalance"}}' ipv4.addresses 192.168.1.100/24 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 myteam0 nmcli con up team0-eth1 nmcli con up team0-eth2 teamdctl team0 state ping -I team0 192.168.0.254 nmcli dev dis eth1 teamdctl team0 state nmcli con up team0-port1 nmcli dev dis eth2 teamdctl team0 state nmcli con up team0-port2 teamdctl team0 state

管理网络组配置文件

/etc/sysconfig/network-scripts/ifcfg-team0 DEVICE=team0 DEVICETYPE=Team TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}" BOOTPROTO=none IPADDR0=172.16.0.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

删除网络组

nmcli connection down team0 teamdctl team0 state nmcli connection show nmcli connectioni delete team0-eth0 nmcli connectioni delete team0-eth1 nmcli connection show 网桥 桥接原理

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

linux网络配置插图1

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

配置实现网桥

工具包:bridge-utils,目前CentOS 8无此包

yum install bridge-utils #查看网桥 brctl show #查看CAM(content addressable memory内容可寻址存储器)表 brctl showmacs br0 #添加和删除网桥 brctl addbr | delbr br0 #添加和删除网桥中网卡 brctl addif | delif br0 eth0 #默认br0 是down,必须启用 ifconfig br0 up

注意:NetworkManager只支持以太网接口接口连接到网桥,不支持聚合接口

nmcli命令创建软件网桥

nmcli con add con-name mybr0 type bridge ifname br0 nmcli con modify mybr0 ipv4.addresses 192.168.0.100/24 ipv4.method manual nmcli con add con-name br0-port0 type bridge-slave ifname eth0 master br0

查看配置文件

cat /etc/sysconfig/network-scripts/ifcfg-br0 cat /etc/sysconfig/network-scripts/ifcfg-br0-port0

范例:

#1创建网桥 nmcli con add type bridge con-name br0 ifname br0 nmcli connection modify br0 ipv4.addresses 192.168.0.100/24 ipv4.method manual nmcli con up br0 #2加入物理网卡 nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0 nmcli con add type bridge-slave con-name br0-port1 ifname eth1 master br0 nmcli con up br0-port0 nmcli con up br0-port1 #3查看网桥配置文件 cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 STP=yes TYPE=Bridge BOOTPROTO=static IPADDR=192.168.0.100 PREFIX=24 cat /etc/sysconfig/network-scripts/ifcfg-br0-port0 TYPE=Ethernet NAME=br0-port0 DEVICE=eth0 ONBOOT=yes BRIDGE=br0 UUID=23f41d3b-b57c-4e26-9b17-d5f02dafd12d #4安装管理软件包: yum install bridge-utils brctl show #5删除br0 nmcli con down br0 rm /etc/sysconfig/network-scripts/ifcfg-br0* nmcli con reload 网络测试诊断工具 测试网络连通性 ping 显示正确的路由表 ip route 跟踪路由 traceroute tracepath mtr 确定名称服务器使用 nslookup host dig 抓包工具

tcpdump

wireshark

安全扫描工具

nmap

netcat :网络界的瑞士军刀

流量控制工具

tc

范例:

tc qdisc add dev eth0 root netem loss 50% tc qdisc add dev eth0 root netem delay 1000ms tc qdisc show dev eth0 tc qdisc del

本文链接:http://www.yunweipai.com/33931.html

点赞 1 分享到微信 分享到微博


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3