教你如何在linux服务器上添加虚拟网卡
有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡这里介绍几种方式在linux服务器上添加虚拟网卡
我们向eth0中添加一块虚拟网卡:
第一种方法:快递创建删除虚拟网卡
sudo ifconfig eth0:0 1921681010 up
以上的命令就可以在eth0网卡上创建一个叫eth0:0的虚拟网卡,他的地址是:192168163
如果不想要这个虚拟网卡了,可以使用如下命令删除:
sudo ifconfig eth0:0 down
重启服务器或者网络后,虚拟网卡就没有了
hzhsan:但是发现添加的虚拟网卡和原网卡物理地址是一样的。
第二种方法:修改网卡配置文件
在ubuntu下,网卡的配置文件是/etc/network/interfaces,所以我们修改它:
sudo vim /etc/network/interfaces
在这个文件中增加如下内容并保存:
auto eth0:0
iface eth0:0 inet static
address 1921681010
netmask 2552552550
#network 192168101
#broadcast 1921681255
保存后,我们需要重启网卡(重新加载配置文件)才会生效,使用如下命令重启:
sudo /etc/initd/networking restart
他的优点是重启服务器或者网卡配置不会丢失。
在linux中虚拟网卡的方法
第三种方法:创建tap
前两种方法都有一个特点,创建的网卡可有不同的ip地址,但是Mac地址相同。无法用来创建虚拟机。
添加虚拟网卡tap
tunctl -b
附上相关命令简介:
显示网桥信息
brctl show
添加网桥
brctl addbr virbr0
激活网桥
ip link set virbr0 up
添加虚拟网卡tap
tunctl -b
tap0 -------> 执行上面使命就会生成一个tap,后缀从0,1,2依次递增
激活创建的tap
ip link set tap0 up
将tap0虚拟网卡添加到指定网桥上。
brctl addif br0 tap0
给网桥配制ip地址
ifconfig virbr1 1692542514 up
将virbr1网桥上绑定的网卡eth5解除
brctl delif virb1 eth5
给virbr1网桥添加网卡eth6
brctl addif virbr1 eth6
1、电脑主机连接网卡之后首先禁用主网卡,按右键,选择禁用。2、配置网卡的IP地址属性为自动获取。3、将网卡的一端连接到路由器的LAN口。如果没有登录过路由器,一般在浏览器输入19216811即可登录路由器,密码默认123456。4、找到路由器的LAN口设置,然后将IP地址设置为1921681371,设置首选和备用DNS为1921681371。并且启用路由器的DHCP的自动分配IP,地址池范围为192168137100---192168137255。5、配置网卡的IP地址地址1921681371,即为路由器的DNS设备。6、启动主网卡,这样可以通过路由器连接的外设都在IP192168137xx范围内,这样可以将组成一个内部局域网完成设备间通信,即副网卡作为DNS服务器,路由器为连接在路由器上的外设动态分配IP,这样电脑副网卡,所有外设均在一个局域网环境中了。7、后面如果再登录路由器,则需要输入地址1921681372,这是网上资料查询得到的,可以咨询相关人士,仅供参考,希望可以帮助到你。
网卡绑定,将多块物理网卡绑定,对外呈现为一块逻辑网卡。这样做的好处一是增加带宽,二是提供冗余增加安全性。一般多用棱块网卡做绑定。常见的网卡绑定模式有如下三种,mode0轮询链路,mode1主备链路,node3广播链路。
网卡属性设置步骤如下:
1)将本地连接 2改名为控制网 A,用于连接过程控制网 A 网,其属性设置如下:
IP 地址:1281281X(X 为操作节点地址限定范围内的值),其它如 DNS、WINS 等设置为默认。
2)将本地连接 3改名为控制网 B,用于连接过程控制网 B 网,其属性设置如下:
IP 地址:1281282X(X 为操作节点地址限定范围内的值),其它同上。
3)将本地连接改名为操作网,用于连接操作网,其属性设置如下:
IP 地址:1281285X(X 为操作节点地址限定范围内的值),其它同上。
在设置完本地连接的属性后,需检查网卡是否工作正常,即依次将各网卡连接到网络中,检查该网卡是否工作正常。 通过高级网卡选项可以提升网络性能:
有效利用CPU:巨型帧vs卸载功能
如果服务器性能低下,那么可能是由于网络负载较大。标准的以太网数据包大小为1542个字节,大多数文件被拆分为成百上千甚至上百万个数据包或者帧。这些小的数据包通过网络传输,和众多节点共享网络带宽,但是数据帧的发送与接收会带来CPU开销。
大多数网卡支持巨型帧,这意味着能够处理高达9000字节的数据包或者帧。巨型帧在每个数据包中包括更多的数据,因此网络中需要传输的数据包数量就变小了。吞吐量提升意味着开销——数据包头与其他数据包内容——以及CPU开销减少了。
巨型帧肯定存在缺点。管理员必须对网络中的所有节点进行配置才能支持巨型帧的传输。巨型帧并不是IEEE标准的一部分,因此不同的网卡配置的巨型帧大小有所不同。为了在节点之间高效传输巨型帧要做一些实验。更大的数据包可能会增加某些负载的延迟,因为其他节点要等更长的时间才能使用带宽,请求与发送被丢弃或者被破坏的数据包也需要花更长的时间。
IT专业人员可能放弃巨型帧而使用具有LSO以及LRO功能的网卡。LSO和LRO允许CPU通过网卡传输更多数量的数据,而且基本上与巨型帧提供了相同的CPU性能。
通行能力:可调整的帧间距vs以太网升级
以太网在每发送一个数据包后都要等一段时间,这称之为帧间距。这为其他网络节点占用带宽并发送数据包提供了机会。帧间距等于发送96个数据位的时间。例如,1Gb以太网使用标准的0096ms的帧间距,10Gb以太网的帧间距为00096ms。
利用这一固定的数据包传输之间的间距并非总是有效而且在网络负载较大的情况下可能会降低网络性能。支持自适应帧间距的网卡能够基于网络负载动态调整帧间距,这有可能提升网络性能。除非接近网络带宽,否则调整帧间距通常不会提升网络性能。
全方位的网络性能基准测试能够展现网络使用模式。如果以太网连接频繁达到带宽上限,那么升级到速度更快的以太网或者使用网卡绑定而非调整帧间距将能够提升网络性能。
限制CPU中断,提升CPU性能
当数据包在网络中传输时,网卡会产生CPU中断。以太网速度越快,CPU中断的频率也就越高,CPU必须更多地关注网络驱动器以及其他处理数据包的软件。如果流量起伏不定,CPU性能可能会变得不稳定。支持人为中断节流的网卡能够减少CPU中断频率,将CPU从无限的网卡中断中解放出来,很可能能够提升CPU性能。
中断限制越多并不一定越好。过高的中断限制可能会降低CPU的响应能力;CPU将需要花更长的时间来处理所有正在产生的中断。当高速小数据包近乎实时地到达时,限制中断将会降低性能。在多种模式下对网络以及CPU性能进行测试直到能够建立起充分的系统响应能力,产生平滑的CPU中断。
还可以考虑支持TCP/IP卸载功能的网卡。这些网卡能够在线处理众多CPU密集型工作任务,同时减少对CPU的中断请求。
优先处理对时间敏感的数据类型:启用包标记
对事件敏感的数据类型比如VoIP或者视频通常按照高优先级流量对待,但是网络对所有数据包一视同仁。采用数据包标记,被标记的数据包能够被分到操作系统设置的流量队列中,在处理其他低优先级的数据包之前先处理高优先级的VoIP以及视频数据包。包标记有助于QoS战略,而且是很多VLAN部署的一个必要组成部分。
如果网络性能低于已定义的基准,可以对网卡进行调整,务必对服务器以及网卡进行基准测试后再对配置进行更改。这些推荐的网卡调整不会带来显著的性能提升,但是也不受预算的限制。随时间变化评估并观察网络性能,检查任何意想不到的后果,比如提升了某个工作负载性能却降低了其他工作负载的性能。
双网卡内外网同时连接的问题
关键是网关。用dos操作
mac查找方法:步骤 1 :点击左下角“开始”处—— > 运行
步骤 2 :在对话框里输入 cmd ,进入 DOS 窗口状态
步骤 3:输入 ipconfig /all 后回车,Physical Address显示的即为本机的 MAC 地址
案例一:双网卡静态IP设置
电脑在公司局域网内。使用用192.168.0.1这个网关时,电脑只能访问外部网,而用192.168.0.2这个网关时只能访问内部网。请问,有没有什么办法可以让我同时访问内、外部网而不用手工更改网关设置?
答:你只要这样进行设置:把19216801作为内部网关,手工增加内部各网段的静态路由,例如:route add 19216810 mask 2552552550 19216802
案例二:双网卡加路由器外网自动获取IP内网静态IP
买了个路由,将楼上的机子接入互联网,可是问题来了,双网卡内外网冲突,双网关冲突,XP连个提示都没有,好在我的2003一设置就有提示,搞清楚了,用案例二解决。前提你的路由器开启DHCP。
主机接外网的网卡IP自动获取,接内网的网卡的IP10112,子网码是2552552550,
又如何实现,内外网同时可以上线浏览?
答:你只要这样进行设置:把内网网卡的IP设置为10112(根据你自己的内网分配ip), 子网码255000 (重要)网关 不填(重要) ; 把外网网卡的IP、dns设置为自动获取 即可
案例三:双网卡内外网IP自动获取
主机接外网的网卡IP自动获取,接内网的网卡的ip也是自动获取请问,有没有什么办法可以让我同时访问内、外网?
答:最简单的办法增加路由器,推荐欣全向 多WAN口路由器进行解决,实现的最后效果为:所有pc只接一个网卡,连接到我们的路由器上,两条线路接到路由器上就可以了,至于您的访问该走哪条线路由路由器进行识别路由器里的具体设置还要根据您两条线的访问权限的情况进行
案例四:双网卡内外网IP自动获取
如案例三
一个网卡内外网同时上,需要修改下路由即可
外网网关19216811,内网网关13223511。
新建一个文本文档,敲入:
route add 132000 mask 255000 13223511
route add 0000 mask 0000 19216811
route delete 0000 mask 0000 13223511
保存为bat文件。把这个文件设置为开机自动运行,就可以内网外网同时上了。
案例五:双网卡外网自动获取IP内网静止IP
我现在在济南,总公司的ERP服务器在北京,一个网卡连在路由器的交换机上,另一个网卡连ADSL的外网,现在只能上外网,不能上ERP。该怎么解决呢
答:外网网卡自动获取IP,另一个网关不填
案例六:双网卡内外网静止IP
机器有两块网卡,接到两台交换机上
internet地址:19216818,子网掩码:2552552550,网关:19216811
内部网地址:1722318,子网掩码:2552552550,网关:1722311
如果按正常的设置方法设置每块网卡的ip地址和网关,再cmd下使用route print查看时会看到
Network Destination Netmask Gateway Interface Metric
0000 0000 19216811 19216818
0000 0000 1722311 1722318
即指向0000的有两个网关,这样就会出现路由冲突,两个网络都不能访问。
如何实现同时访问两个网络?那要用到route命令
第一步:route delete 0000
"删除所有0000的路由"
第二步:route add 0000 mask 0000 19216811
"添加0000网络路由"这个是主要的,意思就是你可以上外网
第三步:route add 1722300 mask 255000 1722311
"添加1722300网络路由",注意mask为255000
,而不是2552552550 ,这样内部的多网段才可用。
这时就可以同时访问两个网络了,但碰到一个问题,使用上述命令添加的路由在系统重新启动后会自动丢失,怎样保存现有的路由表呢?
route add -p 添加静态路由,即重启后,路由不会丢失。注意使用前要在tcp/ip设置里去掉接在企业内部网的网卡的网关
一些单位将内网和外网分开了。痛苦啊,偶单位就是如此。boss当然是基于安全性考虑了,可是没有笔记本的怎么办?又要办公,有得上网。没办法,发扬DIY精神偷偷装一块网卡,让聊天与工作同在。让你的主机内外兼顾。这是我在网上找到的,谢谢作者了。方法如下:
1设置其中接internet的网卡的网关为10001,启用后就是默认网关
--注:这是对应外网的网卡,按照你们单位外网的ip分配情况,在TCP/IP属性中配置好 ip、掩码、DNS
2将连接单位内部网的网卡IP配好后,设网关设置为空(即不设网关),启用后,此时内网无法通过网关路由
3进入CMD,运行:route -p add 192000 mask 255000 19216801 metric 1
--注:意思是将192的IP包的路由网关设为19216801 ,-P 参数代表永久写入路由表,建议先不加此参数,实践通过后在写上去
4 OK!同时启用两个网卡,两个网关可以同时起作用了,两个子网也可以同时访问了,关机重启后也不用重设!
案例七:双网卡 内外网 路由问题
route -p add (转载)
因为Windows 2000 下只允许配置一个默认网关,如果在网上邻居--〉属性里面把本地连接(内网)配上网关1921689710,本地连接2(外网)配上网关 10422910,表面上看是配置了2个网关,但是在DOS环境下输入route print命令查看路由表,在路由表下的default gateway只有1个网关。
实际上,如果我们的内部网Intranet只处于一个网段192168970,内部网内的ip地址范围192168971~19216897254,连接内网的本地连接可以不用配网关,只配外网的本地连接2网关10422910。
当内网 1号主机 192168972要与 2号主机 192168973通讯,主机1检查目标地址ip 192168973的网段为 192168973与运算2552552550为192168970,跟本主机处于同一网段,经交换机(根据MAC地址转发)直接把数据包发给目标主机,而不会走路由器。
当本机器要上外网的时候,经查找本机的路由表,在route print命令显示出来的路由表中,路由查询是从下往上查询的,最上面的路由条目为默认路由。经网关把数据包发出去,从而达到与外网通讯的目的。
如果内网还分好几个网段,这时候,如果内网的本地连接不设网关,显然是不能与内网的其他网段通讯的。例:如果内网主机192168971要与192168981通讯,该主机查找本地路表,由于没有找到192168980的相关路由表项,最后只好走默认路由,把数据包送到网关10422910,而这个网关是外部网的网关,该数据包显然是无法到达我们内部网的(设内外网的目的主要是为了隔绝,所以外网是无法把此数据包路由到内网的相应目的主机上的)
解决的办法:添加静态路由,由于内部网都是以192168开头的,所以我们可以在DOS环境下输入: route add 19216800 mask 25525500 1921689710 这又产生了一个问题,192168981的子网掩码为2552552550,
重叠路由
假设在路由表中有下列重叠项:
目的 掩码 网关 标志 接口
1234 255255255255 2016637253 UGH eth0
1230 2552552550 2016637254 UG eth0
1200 25525500 2016637253 UG eth1
default 0000 2016639254 UG eth1
之所以说这些路由重叠是因为这四个路由都含有地址1234,如果向1234发送数据,会选择哪条路由呢?在这种情况下,会选择第一条路由,通过网关 2016637253。原则是选择具有最长(最精确)的子网掩码。类似的,发往1235的数据选择第二条路由。
注意:这条原则只适用于间接路由(通过网关)。把两个接口定义在同一子网在很多软件实现上是非法的。例如下面的设置通常是非法的(不过有些软件将尝试在两个接口进行负载平衡):
接口 IP地址 子网掩码
eth0 20166371 2552552550
eth1 20166372 2552552550
对于重叠路由的策略是十分有用的,它允许缺省路由作为目的为0000、子网掩码为0000的路由进行工作,而不需要作为路由软件的一个特殊情况来实现。
回头来看看CIDR,仍使用上面的例子:一个服务提供商被赋予256个C类网络,从2137900到213792550。该服务提供商外部的路由表只以一个表项就了解了所有这些路由:2137900,子网掩码为25525500。假设一个用户移到了另一个服务提供商,他拥有网络地址 21379610,现在他是否必须从新的服务提供商处取得新的网络地址呢?如果是,意味着他必须重新配置每台主机的IP地址,改变DNS设置,等等。幸运的是,解决办法很简单,原来的服务提供商保持路由2137900(子网掩码为25525500),新的服务提供商则广播路由 21379610(子网掩码为2552552550),因为新路由的子网掩码较长,它将覆盖原来的路由。
或者1设置其中接internet的网卡的网关为19216801启用后就是默认网关;
2将连接单位内部网的网卡IP配好后,将网关设置为空(即不设网关),启用后,此时内网无法通过网关路由;
3进入CMD,运行:
route -p add 192000 mask 255000 19216801 metric 1
(意思是将192的IP包的路由网关设为19216801 ,-P 参数代表永久写入路由表)
4 OK!同时启用两个网卡,两个网关可以同时起作用了,两个子网也可以同时访问了,关机重启后也不用重设!
按列八:双网卡外网拨号+TP-LINk方式内网静止IP
电脑有两块网卡,平时用一块上内网,如果想上外网应该如果设置。单位也有外网是通过“拨号+TP-LINk"的方式接的。
答:只要加一条表态路由就行了。具体操作步骤:单击“开始→运行”,输入“CMD”,在打开的命令行窗口中敲入以下命令:
route add xxxxxxxxxxxx mask yyyyyyyyyyyy zzzzzzzzzzzz netric 2 if zzzzzzzzzzzz
其中:xxxxxxxxxxxx是你内网的网络地址,yyyyyyyyyyyy是你内网的掩码,zzzzzzzzzzzz是你内网网卡地址。
例如:internet地址:21822123123,
子网掩码:2552552550,
网关:21822123254
企业内部网地址:10128123123,
子网掩码:2552552550,
网关:10128123254
第一步:route delete 0000 "删除所有0000的路由"
第二步:route add 0000 mask 0000 21822123254 "添加0000网络路由"
第三步:route add 10000 mask 255000 10128123254 "添加10000网络路由"
案例十:双网卡内外网均为静止IP
电脑在公司局域网内。使用用192.168.0.1这个网关时,电脑只能访问外部网,而用192.168.0.2这个网关时只能访问内部网。请问,有没有什么办法可以让我同时访问内、外部网而不用手工更改网关设置?
答:你只要这样进行设置:把19216801作为内部网关,手工增加内部各网段的静态路由,例如:route add 19216810 mask 2552552550 19216802
案例十一:双网卡外网IP自动获取内网IP静止
主机接外网的网卡IP自动获取,接内网的网卡的IP10112,子网码是2552552550,又如何实现,内外网同时可以上线浏览?
答:你只要这样进行设置:把内网网卡的IP设置为10112(根据你自己的内网分配ip), 子网码255000 (重要)网关 不填(重要) ; 把外网网卡的IP、dns设置为自动获取
即可
案例十二:双网卡内外网IP自动获取
主机接外网的网卡IP自动获取,接内网的网卡的ip也是自动获取请问,有没有什么办法可以让我同时访问内、外网?
答:最简单的办法增加路由器,推荐用路由器进行解决,实现的最后效果为:所有pc只接一个网卡,连接到我们的路由器上,两条线路接到路由器上就可以了,至于您的访问该走哪条线路由路由器进行识别路由器里的具体设置还要根据您两条线的访问权限的情况进行
案例十三:如案例十二
一个网卡内外网同时上,需要修改下路由即可
外网网关19216811,内网网关13223511。
新建一个文本文档,敲入:
route add 132000 mask 255000 13223511
route add 0000 mask 0000 19216811
route delete 0000 mask 0000 13223511
保存为bat文件。把这个文件设置为开机自动运行,就可以内网外网同时上了。
网卡的配置:
网卡配置文件
对于网卡信息的配置通常包括:配置IP地址、子网掩码和网关。网卡信息保存在网卡配置文件中。网卡配置文件位于/etc/sysconfig/network-scripts目录下。一块网卡对应一个网卡配置文件,配置文件命名规则:
ifcfg-网卡类型以及网卡的序列号
由于以太网卡类型是eth,网卡的序列号从0开始,所以第一块网卡的配置文件名称为ifcfg-eth0,第二块网卡为ifcfg-eth1,以此类推。
网卡配置文件中常用配置文件名的还以如下:
DEVICE=eth0,定义该网卡的识别名称。
BOOTPROTO=dhcp,启动该网卡的识别名称。
static/none:代表固定的IP地址;bootp/dhcp:通过BOOTP或DHCP协议取得IP地址。
HWADDR=00:02:B3:0B:64:22,该网卡的MAC地址。 www2ctocom
ONBOOT=yes,启动network服务时,是否启用该网卡。当RedHat系统启动network服务时,network服务一次读取保存于/etc/sysconfig/network-scripts/目录下所有网卡的配置文件。如果网卡配置文件的ONBOOT设置为yes,则network服务就会调用ifup命令启动该网卡;如果网卡的配置文件的ONBOOT参数为no,network会跳过启动这个网卡的工作。
TYPE=Ethernet,网卡的类型。
USERCTL=no,是否允许普通用户启动或者停止该网卡。
IPV6INIT=no,是否在该网卡上启动IPV6的功能。
PEERDNS=yes,是否允许网卡在启动时向DHCP服务器查询DNS信息,并自动覆盖/etc/resolvconf配置文件。
以下配置项用于指定该网卡的静态IP地址,此时BOOTPROTO必须为static或者none。
IPADDR=192168155,静态方式指定网卡的IP地址。
NETMASK=2552552550,定义该网卡的子网掩码。
MTU=1500,设置网卡的MAC帧最大传输单位大小。
GATEWAY=19216811,设置网络的默认网关。
DNS1=1921681285,指定主要的DNS服务器地址。
DNS2=1921681286,指定备用的DNS服务器地址。
2配置网卡信息
配置网卡信息可以直接修改网卡配置文件中的相关内容,但是这种方法对用户的要求比较高。在RedHat Enterprise Linux5中常用于设置IP地址的三个命令,分别是:system-config-network、setup和ifconfig。其中ifconfig设置IP地址的方法将在常用命令部分中介绍。
(1)system-config-network命令 www2ctocom
在命令提示行下输入system-config-network命令将会启动可视化网络配置界面(对于新手这个方式比较简单)
(2)setup设置网卡信息
在命令行下输入setup命令后将会进入系统设置界面,然后选择网卡设置进入网卡设置界面(很多系统都可以使用setup命令设置,运用比较广)
(3)ifconfig网卡常用命令
ifconfig命令的功能比较强大,可以用来查看和设置网卡信息。
a查看网卡信息
命令语法:ifconfig [参数]
参数说明:
无参数:显示当前活动的网卡
- a:显示系统中所有网卡的配置信息
网卡设备名称:显示指定网卡的配置信息
eg:查看eth0网卡信息:#ifconfig eth0
b设置IP地址
命令语法:ifconfig 网卡设备名 IP地址 netmask 子网掩码
(注:ifconfig命令设置的IP地址即时生效,但是重启机器后,IP地址又回复到原IP地址,所以ifconfig命令只能用于设置临时的IP地址)
eg:ifconfig eth0 192168168156 netmask 2552552550
c修改MAC地址
命令语法:ifconfig 网卡设备名 hw ether MAC地址
(注:修改网卡的MAC地址前要禁用网卡,修改后要启用网卡)
eg:ifconfig eth0 hw ether 00:0C:29:03:F3:76
几个常用的命令: www2ctocom
1ifdown禁用网卡
语法:ifdown 网卡设备名
2ifup启用网卡
语法:ifup 网卡设备名
3绑定IP和MAC地址
实现方法:创建/etc/ethers文件,文件内容“ip地址 mac地址”,然后执行“arp -f”命令,是配置生效。
eg:将IP地址193168168154与MAC地址00:0C:29:03:F3:75绑定。
#echo "193168168154 00:0C:29:03:F3:75">>/etc/ethers
#arp -f
0条评论