Linux网口混杂模式设置方法

最近在Kylin 4.0.4社区版上安装了VirtualBox,使用VirtualBox安装了Win7操作系统,虚拟机通过设置网口桥接模式与宿主机进行通信。偶尔出现宿主机无法ping通虚拟机,虚拟机无法ping通宿主机的情况,查看虚拟机网口接收情况,发现虚拟机接收数据包为0,重启虚拟机也无法恢复,因此严重怀疑其原因是虚拟机使用的宿主机网口工作模式并不是混杂模式。下面介绍在Linux上查看网口工作模式和设置网口工作模式的方法。

查看网口工作模式

如果存在ifconfig命令,则可使用该命令查看网口的工作模式,命令如下:

1
2
3
4
5
6
7
8
[root@localhost jack]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:70:1D:79
inet6 addr: fe80::a00:27ff:fe70:1d79/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:100124 errors:0 dropped:0 overruns:0 frame:0
TX packets:8795 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12986638 (12.3 MiB) TX bytes:6452270 (6.1 MiB)

如果存在ip命令,则可使用该命令查看网口的工作模式,命令如下:

1
[root@localhost jack]# ip addr

设置网口工作模式

如果存在ifconfig命令,则可使用该命令设置网口的工作模式,命令如下:

1
2
ifconfig eth0 promisc  设置混杂模式
ifconfig eth0 -promisc 取消混杂模式

如果存在ip命令,则可使用该命令设置网口的工作模式,命令如下:

1
2
ip link set eth0 up
ip link set eth0 promisc on

参考链接

  1. Linux中如何将网卡设置为混杂模式,by splaybow.
  2. VirtualBox网络之桥接网卡,by 五星上炕.
  3. 设置网卡混杂模式,by duyiwuer2009.
  4. Linux下的ip命令,by wyaoo.
  5. 【网络】网口工作模式(混杂模式|监听模式|监视模式|管理模式),by bandaoyu.