ip addr命令详解;网卡混杂模式(待总结)

您所在的位置:网站首页 linux网卡设置混杂模式后重启丢失了怎么恢复 ip addr命令详解;网卡混杂模式(待总结)

ip addr命令详解;网卡混杂模式(待总结)

2024-07-14 09:04| 来源: 网络整理| 查看: 265

ip addr命令(暂时未找到较为全面的总结文章)工作正常情况下:UP,LOWER_UP + state UP被拔网线的情况:NO-CARRIER,UP + state DOWNlink set down:空 + state DOWN

ifconfig命令工作正常情况下:UP+RUNNINGVM虚拟机模拟拔网线,网络设备状态 UP+无RUNNINGip link set dev eth1 down之后,网络设备状态 无UP+无RUNNING

 

 

2: eth0: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 实际是有在工作的,为什么state down???????????=============

【计算机网络】你真的认识 ip addr 命令的输出内容吗?https://blog.csdn.net/weixin_41960890/article/details/104934585

网络设备的状态标识这一块,,被称为 net_device flag(网络设备的状态标识)。

UP,表示该网卡处于启动状态。BROADCAST,表示该网卡有广播地址,可以发送广播包。MULTICAST,表示该网卡可以发送多播包。LOWER_UP,表示L1是启动的,也就是网线正插着呢。mtu 1500,最大传输单元MTU为1500字节,也就是以太网的默认值。qdisc pfifo_fast,qdisc的全称为 queuing discipline(排队规则)。计算机如果需要通过网络接口发送数据包,它都需要按照这个接口的排队规则进行排序。最简单的排序规则就是 pfifo,也就是我们常说的先入先出的队列形式。而这里的 pfifo_fast 在 pfifo 的基础上,分为了三个波段(数据包按照 Type of Service(服务类型)分入band),其中 band0 的优先级最高,band2 的优先级最低。

========================================================================

混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包。默认情况下,网卡只把发给本机的包(包括广播包)传递给上层程序,其他的包一律丢弃。

网卡工作模式 广播模式:物理地址(MAC)是0Xffffff的帧为广播帧,工作在广播模式的网卡接收广播帧。 多播模式:如果将网卡设置为多播模式,它可以接收所有的多播传送帧,而不论他是不是组内成员。 直接模式:只接收目的地址是自己MAC地址的帧。 混杂模式:工作在混杂模式下的网卡接收所有流经网卡的帧。

 

 

网卡的混杂模式介绍https://blog.csdn.net/chengqiuming/article/details/89603272

ifconfig eth0ifconfig eth0 promisc #设置网卡为混杂模式ifconfig eth0 -promisc #取消混杂模式

 

[root@yefeng ~]# ifconfig eth0eth0: flags=4163 mtu 1500 inet 192.168.1.111 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fee8:30c8 prefixlen 64 scopeid 0x20 ether 00:0c:29:e8:30:c8 txqueuelen 1000 (Ethernet) RX packets 18382 bytes 7694613 (7.3 MiB) RX errors 0 dropped 4 overruns 0 frame 0 TX packets 1943 bytes 189310 (184.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@yefeng ~]# ifconfig eth0 promisc [root@yefeng ~]# ifconfig eth0eth0: flags=4419 mtu 1500 inet 192.168.1.111 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fee8:30c8 prefixlen 64 scopeid 0x20 ether 00:0c:29:e8:30:c8 txqueuelen 1000 (Ethernet) RX packets 19811 bytes 8893559 (8.4 MiB) RX errors 0 dropped 4 overruns 0 frame 0 TX packets 1964 bytes 191958 (187.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@yefeng ~]# ifconfig eth0 -promisc [root@yefeng ~]# ifconfig eth0eth0: flags=4163 mtu 1500 inet 192.168.1.111 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fee8:30c8 prefixlen 64 scopeid 0x20 ether 00:0c:29:e8:30:c8 txqueuelen 1000 (Ethernet) RX packets 22548 bytes 11118489 (10.6 MiB) RX errors 0 dropped 5 overruns 0 frame 0 TX packets 1982 bytes 194380 (189.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

 

 

======================docker===============================

 

docker network inspect nw_128.48.6.0_24docker network create --driver alinet --ipam-driver=alinet --gateway=128.48.6.247 --ip-range 128.48.6.0/24 --subnet=128.48.6.0/24 --opt nic=docker1 nw_128.48.6.0_24 #创建networkdocker run -itd --net=bridge --entrypoint=bash (-e RequestedIP=XXX) --name dockertest01 $IMAGEID #创建dockerdocker run -itd --net=bridge --entrypoint=bash -e RequestedIP=128.48.6.1 --name dockertest01 $IMAGEID #创建docker,$IMAGEID是镜像ID

 

docker network lsdocker network inspect aa53084279d1docker网络和网桥的关联关系可以用这个命令进行查看

[root@yefeng ~]# docker network lsNETWORK ID NAME DRIVER SCOPEaa53084279d1 bridge bridge local75a56d44363d host host locale0755e3c1e24 none null local[root@yefeng ~]# brctl showbridge name bridge id STP enabled interfacesdocker0 8000.024258421994 novirbr0 8000.525400574e7a yes virbr0-nic

 

 

docker network create --gateway=128.49.6.247 --ip-range 128.49.6.0/24 --subnet=128.49.6.0/24 --opt nw_128.49.6.0_24

 

 

2个自定义docker网络的区别:1个指定了网桥,另一个未指定网桥docker network create --gateway=128.48.6.247 --ip-range 128.48.6.0/24 --subnet=128.48.6.0/24 --opt nic=docker1 nw_128.48.6.0_24docker network create --gateway=128.49.6.247 --ip-range 128.49.6.0/24 --subnet=128.49.6.0/24 nw_128.49.6.0_24

创建容器并运行,自动关联到网桥docker0docker run -itd --net=bridge --entrypoint=bash -e RequestedIP=128.49.6.2 --name dockertest02 8652b9f0cb4c

docker run -itd --net=bridge --entrypoint=bash -e RequestedIP=128.48.6.4 --name dockertest05 8652b9f0cb4c

--opt nic=docker1 这个没有达到预期啊。。。。新创建的容器都是连接到docker0????????????????

 

docker run -itd --net=nw_128.48.6.0_24 --entrypoint=bash -e RequestedIP=128.50.6.7 --name dockertest07 8652b9f0cb4c

 

man docker man docker-createsystemctl start docker #开启docker进程后,docker0才被创建出来



【本文地址】


今日新闻


推荐新闻


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