我在 VMware Workstation 上使用 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
您的接口未处于混杂模式。使用:
ip link set eth1 promisc on
该旗帜将更新为BMPRU
。旗帜详细信息如下:
B
标志用于广播M
标志用于多播P
标志用于混杂模式R
用于跑步U
是为了向上
答案2
启用混杂模式
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
答案3
好吧,问题不在于网卡,因为 VMware 始终为虚拟接口启用混杂模式。但问题在于配置。在接口文件中启用混杂模式是不够的。我不得不添加以下行:
ifconfig eth1 up
ifconfig eth1 promisc
在/etc/rc.local
文件中,因为当我重新启动网络服务时,eth1 被关闭。因此添加此行将告诉操作系统不要关闭 eth1。