当前位置:首页 » 操作系统 » 网卡混杂模式linux

网卡混杂模式linux

发布时间: 2022-11-27 16:03:53

‘壹’ VMware虚拟机里linux系统怎么上网

VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。那你知道在VMware虚拟机里Linux系统怎么上网吗?我带来了VMware虚拟机里Linux系统上网的 方法 ,下面大家跟着我一起来学习一下吧。

VMware虚拟机里Linux系统上网方法参考如下

原理:使用Windows下的连接作为网关。Linux作为一个虚拟的客户端通过这个Windows下的连接连上网。

1、设置Windows下的本地连接允许VMware的虚拟网卡来共享上网。

2、设置Windows下的VMware产生的虚拟网卡1。将其IP设置为192.168.0.1。子网掩码为255.255.255.0。

3、设置VMware的网卡为Host-only

4、启动Linux,然后在网络设置中将eth0设置为IP为 192.168.0.2。然后设置子网掩码255.255.255.0。再设置网关为192.168.0.1。最后设置DNS为Windows下使用的那 个DNS地址即可(在安装虚拟机前可以用ipconfig查到)。再激活eth0即可。

5、如果不行,那就设置完后,重启你的电脑。

而我在公司装的时候,没做第3步,用了默认的NAT方式,同样也可以上网。

VMware的网卡设置模式

VMware 提供四种网络连接方式

Bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力.

在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题.

使用这种方式很简单,前提是你可以得到1个以上的地址.对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了.

nat方式:这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的 经验 ,这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8.

你会发现在这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可以使用dhcp服务.更为重要的 是,vmware自带了nat服务,提供了从vmnet8到外网的地址转 换,所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的. 很显然,如果你只有一个外网地址,此种方式很合适.

hostonly:

这应该是最为灵活的方式,有兴趣的话可以进行各种网络实验.和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,默认情况下,虚拟机只 能到主机访问,这也是hostonly的名字的意义. 默认情况下,也会有一个dhcp服务加载到vmnet1上.这样连接到vmnet8上的虚拟机仍然可以设置成dhcp,方便系统的配置.

是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如:

a.使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一.

b.使用自己的nat,方便加入防火墙.windows host可以做nat的方法很多,简单的如windows xp的internet共享,复杂的如windows server里的nat服务.

c. 使用自己的防火墙.因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间.

从以上可以看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等

1、Bridge模式(一切都跟host一样,只有ip不能与host相同)

ip 192.168.39.222

netmask:255.255.252.0

gateway:192.168.39.254

Primary nameserve:192.168.39.252

2、NAT模式

首先在host中查看VMnet8的IP(e.g. 192.168.255.1).

启动VMware,点Edit下Virtual Network Setting… ,弹出Virtual network Editor对话框;

查看NAT选项卡,记录NAT的Gateway IP address:192.168.255.2

在config中,填写:

ip:192.168.255.5(与192.168.255.1在同一个网段的不同地址)

netmask:255.255.255.0(与192.168.255.1的隐码相同)

Gateway IP:填写VMware中的NAT网关192.168.255.2

Primary nameserver:填写与主机中一样的网关192.168.39.252,这样就可以上网冲浪了.

如果填写192.168.255.1,则不能连上外网.这里也可以不停,总之不能写错误的地址

3、hostonly模式

(1)查看你的连接外网的网卡的属性,选择“高级”标签,设置成允许共享,并设定允许的网络接口为VMNET1

(2)再插看一下你的VMnet1 的属性,看一下TCP/IP协议的设置,你发现已经被自动设置为

192.168.0.1/255.255.255.0,

(3)windows下的设置完成,转入到跑linux的虚拟机.将你的eth0的ip地址设置为静态的(如果安装时没有选静态的话) .

按红帽子图标->系统设置->网络(或 其它 你了解的方法)

ip: 192.168.0.2(或其它在此网段上的地址)

netmask: 255.255.255.0

default gateway: 192.168.0.1 (VMnet1的地址)

dns:输入你自己的DNS (host中用的DNS)

保存设置.如果你还没有设置好主机名称:

cd /etc/sysconfig

vi network

编辑HOSTNAME

cd /etc

vi hosts

加入:

192.168.0.2 yourhostname

重新启动服务

su

/sbin/service network restart

(4)测试一下

网关: ping 192.168.0.1

dns: ping dnsserver

(1)Bridged方式

用这种方式,虚拟系统的IP可设置成与本机系统在同一网段,虚拟系统相当于网络内的一台.独立的机器,与本机共同插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然与本机系统的双向访问也不成问题.

(2)NAT方式

这种方式也可以实现本机系统与虚拟系统的双向访问.但网络内其他机器不能访问虚拟系统,虚拟系统可通过本机系统用NAT协议访问网络内其他机 器.NAT方式的IP地址配置方法:虚拟系统先用DHCP自动获得IP地址,本机系统里的VMware services会为虚拟系统分配一个IP,之后如果想每次启动都用固定IP的话,在虚拟系统里直接设定这个IP即可.

(3)host-only方式

顾名思义这种方式只能进行虚拟机和主机之间的网络通信,既网络内其他机器不能访问虚拟系统,虚拟系统也不能访问其他机器.

(4)not use方式

既是不使用网络,虚拟系统为一个单机.

一般来说,Bridged方式最方便好用.但如果本机系统是win2000而网线没插(或者根本没有网卡),网络很可能不可用(大部分用PCI网卡的机器都如此),此时就只能用NAT方式或host-only,之前所说的那两块虚拟网卡就是适应这两种网络准备的.

‘贰’ linux 查看 网卡接口是否为混杂模式

使用ifconfig命令可查看当前网卡是否设置为混杂模式
[zhaihf@localhost~]$ ifconfig
eth0 Linkencap:Ethernet HWaddr 00:16:31:FF:A6:2E
inet addr:192.168.9.1 Bcast:192.168.9.255 Mask:255.255.255.0
UPBROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Memory:98420000-98440000
eth1 Link encap:Ethernet HWaddr 00:16:31:FF:A6:2F
inet addr:192.168.8.48 Bcast:192.168.8.255 Mask:255.255.255.0
inet6 addr: fe80::216:31ff:feff:a61f/64 Scope:Link
UPBROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:28011022 errors:0 dropped:0 overruns:0 frame:0
TX packets:18408510 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31733322503 (29.5 GiB) TX bytes:21092798216 (19.6GiB)
Memory:98400000-98420000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8873 errors:0 dropped:0 overruns:0 frame:0
TX packets:8873 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3140421 (2.9 MiB) TX bytes:3140421 (2.9 MiB)
usb0 Link encap:Ethernet HWaddr 5E:F3:FC:E1:D2:19
inet addr:169.254.95.120 Bcast:169.254.95.255 Mask:255.255.255.0
inet6 addr: fe80::5cf3:fcff:fee1:d217/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXpackets:220031 errors:0 dropped:0 overruns:0 frame:0
TX packets:110230 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14862206 (14.1 MiB) TX bytes:5251125 (5.0 MiB)
其中UPBROADCAST RUNNING PROMISC MULTICAST的PROMISC说明网卡eth1已经设置成混杂模式。《Linux就该这么学》这本书上有详细的介绍

‘叁’ linux程序怎么设置无线网卡的混杂模式

linux程序可以通过以下步骤设置无线网卡的混杂模式

1、打开“我的电脑”,然后右键“属性”;
2、点击“硬件”,再点击“设备管理器”,打开设备管理器后,双击“网络适配器”;
3、找到无线网卡突变,右击“属性”,再高级,在右边的值选结尾是FULL
DUPLEX,此时linux程序已成功设置成功无线网卡的混杂模式。

‘肆’ linux 查看 网卡接口是否为混杂模式

ifconfig 可以看到网卡是否混杂模式,如:

ifconfig eth0 看是否有“PROMISC”标志

ifconfig eth0 promisc #设置混杂模式

ifconfig eth0 -promisc #取消混杂模式

‘伍’ linux 下怎样查看网卡是否支持混杂模式

使用ifconfig命令可查看当前网卡是否设置为混杂模式[zhaihf@localhost~]$ ifconfig
eth0 Linkencap:Ethernet HWaddr 00:16:31:FF:A6:2E
inet addr:192.168.9.1 Bcast:192.168.9.255 Mask:255.255.255.0
UPBROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Memory:98420000-98440000

eth1 Link encap:Ethernet HWaddr 00:16:31:FF:A6:2F
inet addr:192.168.8.48 Bcast:192.168.8.255 Mask:255.255.255.0
inet6 addr: fe80::216:31ff:feff:a61f/64 Scope:Link
UPBROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:28011022 errors:0 dropped:0 overruns:0 frame:0
TX packets:18408510 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31733322503 (29.5 GiB) TX bytes:21092798216 (19.6GiB)
Memory:98400000-98420000

‘陆’ Windows/Linux下,某个C++网络监听程序,设置了网卡为混杂模式。这会不会影响其他程序。

一般无影响,混杂模式开启,结果是不属于你的数据包也流入网卡,其他非监听程序根本不会去接收也无法接收这些数据,所以无影响。
当然混杂模式会增加网卡压力和CPU负荷,可能在这方面造成对其他程序的一点影响。

‘柒’ linux下网卡混杂模式如何设置

那就每次开机登录时自动修改呗~~~
这个修改重启后会丢失,因此你要自己去修改~~修改mac地址也是重启就失效了

echo "ifconfig eth0 promisc " >>/root/.bash_profile
或者
echo "ifconfig eth0 promisc " >>/root/.bashrc

/root/.bashrc是进入root时自动会执行的一个脚本~~

‘捌’ linux 下怎么把网卡设置成混杂模式

你还能想到libpcap?厉害~
你想做
嗅探器
还不简单,直接写原始
套接字
,抓所有包不就完了。
你理解的
混杂模式
是什么?所有收到的包都不丢弃?建议你看看原始套接字~

‘玖’ 混杂模式的linux下通过C设置混杂模式(以eth0举例)

char *eth_name = eth0; //对网卡eth0进行混杂设置
struct ifreq ethreq; //网络接口结构
strncpy(ethreq.ifr_name, eth_name, IFNAMSIZ); //指定网卡名称if(-1 == ioctl(sock_raw_fd, SIOCGIFFLAGS, &ethreq)) //获取网络接口{perror(ioctl);close(sock_raw_fd);exit(-1);}
/*此处用 | 是因为必须在保留原来设置的情况下,在标志位中加入“混杂”方式*/ ethreq.ifr_flags |= IFF_PROMISC;if(-1 == ioctl(sock_raw_fd, SIOCSIFFLAGS, &ethreq)) //将标志位设置写入{perror(ioctl);close(sock_raw_fd);exit(-1);}

热点内容
安卓在哪里安装网易官方手游 发布:2024-05-02 20:15:07 浏览:408
qq宠物的文件夹 发布:2024-05-02 20:13:46 浏览:366
做脚本挂 发布:2024-05-02 19:09:14 浏览:931
打王者开最高配置哪个手机好 发布:2024-05-02 19:08:31 浏览:351
python字典使用 发布:2024-05-02 19:01:14 浏览:134
我的世界服务器联机ip 发布:2024-05-02 18:50:39 浏览:619
steam密码从哪里看 发布:2024-05-02 18:50:00 浏览:629
convertlinux 发布:2024-05-02 18:20:00 浏览:705
zxingandroid简化 发布:2024-05-02 17:47:53 浏览:189
贵州银行卡查询密码是什么 发布:2024-05-02 17:47:17 浏览:119