将网络接口配置为混杂模式


15

我正在vmware工作站上的ubuntu 12.04 lts服务器上工作。我需要将我的网络接口配置为在混杂模式下工作。

这是我的配置

auto eth1
iface eth1 inet manual
up ip address add 0/0 dev $IFACE
up ip link set $IFACE up
up ip link set $IFACE promisc on

down ip link set $IFACE promisc off
down ip link set $IFACE down

当我执行

netstat -i

标志是 BMRU

是我的配置正确还是我需要执行一些额外的命令。


1
您需要知道您的网卡是否支持混杂模式,并非所有人都支持。至于配置,它看起来是正确的
LnxSlck 2014年

由于您使用的是VMWare,因此我还将检查以确保您在VM本身上设置了正确的适配器配置。大多数VM软件套件允许您通过设置将虚拟网络适配器设置为“混杂模式”。
Mat Nadrofsky 2014年

你是对的。看来我的虚拟机无法在VMNET0上写,所以我必须更改vmnet0文件的权限。但是当我执行ls /dev/ 我找不到vmnet0。你有什么主意吗?
ghassen 2014年

Answers:


17

您的界面未处于混杂模式。采用:

ip link set eth1 promisc on

该标志将更新为BMPRU。标志详细信息如下:

  • B 标志是广播
  • M 标志用于多播
  • P 标志用于混杂模式
  • R 用于跑步
  • U 是为了

11

嗯,问题不在网卡中,因为VMware始终为虚拟接口启用混杂模式。但是问题出在配置之内。在接口文件中启用混杂模式是不够的。我必须添加以下行:

ifconfig eth1 up
ifconfig eth1 promisc

/etc/rc.local文件中,因为当我重新启动网络服务时,eth1已设置下来。因此,添加此行将告诉操作系统不要关闭eth1。


1
并禁用混杂模式?
e-info128

10

启用混杂模式

vikram@vikram-Lenovo-G580:~$ sudo ifconfig eth0 promisc
vikram@vikram-Lenovo-G580:~$ netstat -i
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR  Flg
eth0       1500 0     26631      0      0 0         27143      0      0      0 BMPRU

禁用混杂模式

sudo ifconfig eth0 -promisc
sudo tail -f /var/log/syslog
kernel: [ 2155.176013] device eth0 left promiscuous mode

netstat -i
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0     29172      0      0 0         29850      0      0      0 BMRU
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.