1、Linux下网卡常用的几种模式说明: 广播方式:该模式下的网卡能够接收网络中的广播信息。 组播方式:设置在该模式下的网卡能够接收组播数据。 直接方式:在这种模式下,只有目的网卡才能接收该数据。 混杂模式:在这种模式下的网卡能够接收一切通过它的数据,而不管该数据是否
2、查看、添加和取消混杂模式 a、查看网卡模式 [root@zabbix ~]# ifconfig -a ens32: flags=4163 mtu 1500 inet 10.203.12.88 netmask 255.255.255.0 broadcast 10.203.12.255 inet6 fe80::250:56ff:feb3:2253 prefixlen 64 scopeid 0x20 ether 00:50:56:b3:22:53 txqueuelen 1000 (Ethernet) RX packets 2800921171 bytes 2087772292594 (1.8 TiB) RX errors 0 dropped 61583 overruns 0 frame 0 TX packets 2328391024 bytes 1651122431491 (1.5 TiB) 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 0 (Local Loopback) RX packets 287928092 bytes 25694088025 (23.9 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 287928092 bytes 25694088025 (23.9 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
b、添加ens32网卡的混杂模式 [root@zabbix ~]# ifconfig ens32 promisc [root@zabbix ~]# ifconfig -a ens32: flags=4419 mtu 1500 inet 10.203.12.88 netmask 255.255.255.0 broadcast 10.203.12.255 inet6 fe80::250:56ff:feb3:2253 prefixlen 64 scopeid 0x20 ether 00:50:56:b3:22:53 txqueuelen 1000 (Ethernet) RX packets 2800927421 bytes 2087779226027 (1.8 TiB) RX errors 0 dropped 61585 overruns 0 frame 0 TX packets 2328394266 bytes 1651123460792 (1.5 TiB) 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 0 (Local Loopback) RX packets 287929365 bytes 25694221536 (23.9 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 287929365 bytes 25694221536 (23.9 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
c、除去ens32网卡的混杂模式 [root@zabbix ~]# ifconfig ens32 -promisc [root@zabbix ~]# ifconfig -a ens32: flags=4163 mtu 1500 inet 10.203.12.88 netmask 255.255.255.0 broadcast 10.203.12.255 inet6 fe80::250:56ff:feb3:2253 prefixlen 64 scopeid 0x20 ether 00:50:56:b3:22:53 txqueuelen 1000 (Ethernet) RX packets 2800929338 bytes 2087779370583 (1.8 TiB) RX errors 0 dropped 61607 overruns 0 frame 0 TX packets 2328396280 bytes 1651123608090 (1.5 TiB) 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 0 (Local Loopback) RX packets 287931015 bytes 25694392926 (23.9 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 287931015 bytes 25694392926 (23.9 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
实际案例问题?-------------------------------------------------- 容器上不了网,容器ping不通网关 宿主机上有bond0 网卡 将 真实网卡设置成混杂模式 ifconfig bond0 promisc ifconfig br0 promisc ifconfig enp2s0f0 promisc ifconfig enp2s0f1 promisc 稍等2分钟,就可以拼通网关 永久生效: 追加到/etc/profile
# add promisc
for i in `ifconfig|egrep "^en|^b"|awk -F ":" '{print $1}'`
do
ifconfig $i promisc
ifconfig $i
done