Linux双网卡(源地址路由)
- 格式:doc
- 大小:24.00 KB
- 文档页数:2
Windows XP下双网卡配置方案一、软硬件需求●硬件:一台带有双网卡的PC,其中一个连接internet;另一个接局域网hub。
其中节局域网地址为:192.168.0.1/255.255.255.0●软件:操作系统:windows XP代理软件:CCProxy二、设置CCProxy:1、服务器的安装运行下载后的Ccproxysetup.exe 安装本软件(注:现在的最新版本为CCProxy-v6.6,推荐下载网站:霏凡)安装完成后,桌面有一个CCProxy的绿色图标:双击即可启动CCProxy了(如附图)。
绿色的网格坐标将会出现,黄色的曲线表示网络数据流量。
2、客户端设置前的准备工作1)确认客户端与服务器是连通的,能够互相访问。
2)确定代理服务器地址。
代理服务器地址就是安装代理服务器的机器的网络地址。
这个地址,是指服务器在局域网中的本地IP地址。
本地IP地址可以从CCProxy的设置对话框中得到。
设置对话框中的本地IP地址一般情况下可以用"自动检测"得到。
如果服务器安装了双网卡,则需要手工选取:取消"自动检测",从列表中选取。
如果不能确认服务器的IP地址,也可以用服务器的机器名作为代理服务器地址。
3、局域网机器设置:※对TCP/IP协议的属性进行设置:方法:右击“网上邻居”,选择“属性”,双击网卡对应的“TCP/IP协议”,选择“DNS”标签。
设置如下:选中“启用DNS”;“主机”中填入服务器名称;并在下面的“DNS服务器搜索顺序”中填入服务器的IP地址,本例为“192.168.0.1”,然后单击[填加];单击[确定]结束DNS设置;再次单击[确定],结束对网络属性的设置。
这时需要重新启动计算机。
※重新启动后,设置IE浏览器代理上网1)流程:IE浏览器->菜单"工具"->"Internet选项"->"连接"->"局域网设置"->选中"使用代理服务器"->"高级"->"代理服务器设置"。
Eth0的IP 地址,GW和DNS 都是自动获取的。
当然,如果是手动分配IP 、GW 和DNS 也是没问题的。
我的eth0 配置如下:IP: 192.168.79.129/24GW: 192.168.79.1DNS:192.168.79.2Linux 主机的eth1 指向内网,IP 地址为:10.50.10 .1/24 。
内网主机的内网主机的IP 地址就是10.50.10.0/24 段的IP ,eth1 的IP 是所有内网主机的网关。
这里,我的内网主机设置如下:IP: 10.50.10.46/24GW: 10.50.10.1DNS:192.168.79.2这里,所有内网主机的网关都设置为eth1 的IP 地址,而DNS 设置为eth1 所在的Linux 系统主机的DNS ,即192.168.79.2 。
(二)启用转发功能以上配置完成后,Host A应该可以ping通Linux系统主机的eth1的IP,因为他们是通过交换机链接的。
但是,Host A应该可以ping不通Linux系统主机的eth0的IP,应为并未开启Linux系统主机的转发功能。
开启Linux的转发功能,执行如下命令:# echo 1 > /proc/sys/net/ipv4/ip_forward查看系统是否启用了转发功能,可以执行如下命令:# cat /proc/sys/net/ipv4/ip_forward如果结果为1,代表已启用,0代表未启用。
此时,执行ping 192.168.72.129 以及其网关和DNS都可ping通了。
(三)配置NAT规则经过第二部分配置后,虽然可以ping相关的IP地址,但是内网主机还是无法上网。
问题在于内网主机的IP地址是无法在公网上路由的。
因此,需要转换成Linux系统主机可以上网的IP(注:这里我们只说不说是公网IP,是因为Linux系统可以直接上外网的IP同样是内网IP。
但是该内网IP(192.168.79.129)已经通过一些机制,实际上同样是NAT的方式,可以访问外网了,因此我们只需将Host A的IP转换成Linux系统eth0接口的IP即可)。
linux下双网卡绑定并设置双IP环境:双网卡服务器RHEL AS5.4目的:双网卡绑定并设置双IP配置:分为2部分:一、双网卡绑定;二、给绑定后的网卡设置双IP一、双网卡绑定1,新建个ifcfg-bond0 (cp /etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-script/ifcfg-bond0)2,修改ifcfg-bond0文件,去掉mac地址相关信息(HW ADDR),给个ip地址,网络地址,广播地址如下:# cat ifcfg-bond0DEVICE= bond0BOOTPROTO=staticIPADDR=192.168.80.189 //*第一个IP地址*//NETMASK=255.255.255.0 //*网络掩码*//ONBOOT=yes:wq //*保存退出*//3,修改ifcfg-eth0和ifcfg-eth1,如下:cat ifcfg-eth0cat ifcfg-eth14,修改/etc/modprobe.conf,添加如下语句:alias bond0 bondingoptions bond0 miimon=100 mode=1注释:mode可以为0,1,0为负载均衡,1为失效保护如下图:5,修改/etc/rc.d/rc.local,添加如下内容:ifenslave bond0 eth0 eth1route add -net 192.168.1.255 netmask 255.255.255.0 bond0如下图:6,重启,看能否通过ssh登陆上服务器bond0得ip(192.168.1.136),如果成功登陆或者ping通了,再查看一下连接状态ifconfig,如下图:ifconfig查看连接状态7,尝试拔掉一根网线看是否能正常登陆上去(或ping得通),再查看一下更连接状态(cat /proc/net/bonding/bond0)如下图:8,尝试一下更换一下mode的值,再试一下。
Linux双⽹卡绑定和解除⼀、传统的bond模式⽹卡绑定⼀定要在服务管理中关闭NetworkManager服务并禁⽤⾃动启动,因为centos中NetworkManager服务与network服务冲突,默认是由NetworkManager接管⽹络服务,所以传统⽅式重启会出现启动失败,错误⽇志⼀般如下所⽰,管理员就得回到机房接显⽰器配置⽹络连接。
以绑定eth0和eth1为例1.通过vim设置eth0的IP地址和eth1的IP地址。
[root@x101 network-scripts]# vim ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0 //将⽹卡指向bond0SLAVE=yesUSERCTL=[yes|no](⾮root⽤户是否可以控制该设备)[root@x101 network-scripts]# vim ifcfg-eth1DEVICE=eth1ONBOOT=yesNETBOOT=yesBOOTPROTO=noneTYPE=EthernetMASTER=bond0 //将⽹卡指向bond0SLAVE=yesUSERCTL=[yes|no](⾮root⽤户是否可以控制该设备)2.新建 /etc/sysconfig/network-scripts/ifcfg-bond0绑定配置⽂件[root@x101 network-scripts]# cat ifcfg-bond0DEVICE=bond0ONBOOT=yesNETBOOT=yesBOOTPROTO=noneTYPE=EthernetIPADDR=192.168.0.106PREFIX=24DNS=192.168.0.1NM_CONTROLLED=no[root@x101 network-scripts]#5.创建⽹卡绑定的驱动⽂件/etc/modprobe.d/⾃定义.conf,使得绑定后的⽹卡bond0能够⽀持绑定技术(bonding),同时定义⽹卡以mode6模式进⾏绑定,且出故障时⾃动切换时间为100毫秒ms,添加alias bond0 bondingoptions bond0 mode=6 miimon=100 max_bonds=2miimon是指多久时间要检查⽹路⼀次,单位是ms(毫秒)。
一、L inux bonding研究及实现Linux Bonding本文介绍Linux(具体发行版本是CentOS5.6)下的双卡绑定的原理及实现。
Linux双网卡绑定实现是使用两块网卡虚拟成为一块网卡设备,这简单来说,就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
这项技术在Sun和Cisco中分别被称为Trunking和Etherchannel技术,在Linux的2.4.x及其以后的内核则称为Bonding技术。
bonding的前提条件:网卡应该具备自己独立的BIOS芯片,并且各网卡芯片组型号相同。
同一台服务器上的网卡毫无疑问是是符合这个条件的。
Bonding原理bonding的原理:在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身MAC的以太网帧,过滤别的数据帧,以减轻驱动程序的负担;但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,bonding就运行在这种模式下,而且修改了驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接收特定MAC的数据帧。
然后把相应的数据帧传送给bond驱动程序处理。
为方便理解bonding的配置及实现,顺便阐述一下Linux的网络接口及其配置文件。
在Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。
与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于/etc/sysconfig/netwrok-scripts/ 目录下。
网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。
当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。
接口配置文件的名称通常类似于ifcfg-<name>,其中<name> 与配置文件所控制的设备的名称相关。
在所有的网络接口中,最常用的就是以太网接口ifcfg-eth0,它是系统中第一块网卡的配置文件。
Linux系统配置双⽹卡绑定bond01、bonding简述双⽹卡配置设置虚拟为⼀个⽹卡实现⽹卡的冗余,其中⼀个⽹卡坏掉后⽹络通信仍可正常使⽤,实现⽹卡层⾯的负载均衡和⾼可⽤性。
现在⼀般的企业都会使⽤双⽹卡接⼊,这样既能添加⽹络带宽,同时⼜能做相应的冗余,可以说是好处多多。
⽽⼀般企业都会使⽤linux操作系统下⾃带的⽹卡绑定模式,当然现在⽹卡产商也会出⼀些针对windows操作系统⽹卡管理软件来做⽹卡绑定(windows操作系统没有⽹卡绑定功能需要第三⽅⽀持)。
1.1 bonding原理⽹卡⼯作在混杂(promisc)模式,接收到达⽹卡的所有数据包,tcpdump⼯作⽤的也是混杂模式(promisc),将两块⽹卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进⾏处理。
1.2 Bonding模式(bonding mode)轮询策略(round robin),mode=0,按照设备顺序依次传输数据包,提供负载均衡和容错能⼒主备策略(active-backup),mode=1,只有主⽹卡处于⼯作状态,备⽹卡处于备⽤状态,主⽹卡坏掉后备⽹卡开始⼯作,提供容错能⼒异或策略(load balancing (xor)),mode=2,根据源MAC地址和⽬的MAC地址进⾏异或计算的结果来选择传输设备,提供负载均衡和容错能⼒⼴播策略(fault-tolerance (broadcast)),mode=3,将所有数据包传输给所有接⼝通过全部设备来传输所有数据,⼀个报⽂会复制两份通过bond下的两个⽹卡分别发送出去,提供⾼容错能⼒动态链接聚合(lacp),mode=4,按照802.3ad协议的聚合⾃动配置来共享相同的传输速度,⽹卡带宽最⾼可以翻倍,链路聚合控制协议(LACP)⾃动通知交换机聚合哪些端⼝,需要交换机⽀持 802.3ad协议,提供容错能⼒输出负载均衡模式(transmit load balancing),mode=5,输出负载均衡模式,只有输出实现负载均衡,输⼊数据时则只选定其中⼀块⽹卡接收,需要⽹卡和驱动⽀持ethtool命令输⼊/输出负载均衡模式(adaptive load balancing),mode=6,输⼊和输出都实现负载均衡,需要⽹卡和驱动⽀持ethtool命令2、⽹卡配置⽂件的配置2.1 配置环境 环境:系统CentOS 6.7 + 虚拟机 VMware 12 ⾄少两块物理⽹卡(VMware上添加eth0,eth1) 2.2 需要添加或修改的配置⽂件有5个(mode=1) 这5个配置⽂件是: /etc/sysconfig/network-scripts/ifcfg-eth{0,1} /etc/sysconfig/network-scripts/ifcfg-bond0 /etc/modprobe.d/dist.conf /etc/rc.local2.2.1 /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1,bonding0}修改或添加提⽰:先备份好eth0和eth1,再修改这⼏个⽂件以下是修改好的三个⽹卡配置⽂件的参数[root@ant network-scripts]# vimdiff ifcfg-eth0 ifcfg-eth1 ifcfg-bond02.2.2 修改/etc/modprobe.d/dist.conf⽂件在此⽂件中添加以下内容:alias bond0 bonding,表⽰系统在启动时加载bonding模块,对外虚拟⽹络接⼝设备为 bond0miimon=100,表⽰系统每100ms监测⼀次链路连接状态,如果有⼀条线路不通就转⼊另⼀条线mode=1,表⽰绑定模式为1primary=eth0,系统⾸先eth0作为bond0接⼝与外界信息的传输接⼝2.2.3 修改配置⽂件/etc/rc.local在此⽂件中添加以下内容:modprobe bonding miimon=100 mode=12.2.4 重启⽹络(service network restart),并查看三个接⼝的mac地址使⽤ifconfig命令显⽰,bond0,eth1,eth2物理地址相同,提⽰三个⽹卡均通过⼀个ip主机端⼝与外界通信但是,我们可以看到,在mode=1的情况下,当前bond0采⽤eth0通信,实际的物理⽹卡地址见下图:3、验证⽹络的连通性没有丢包,⽹络连通性可。
在Discuz! Board 看到这篇文章,挺好的,COPY下来.
linux双网卡怎么设置我就不说了,我这里说的是linux双网卡的流量问题...
可能这个问题很偏们..你们也许用不上..我还是要说..
问题描述,一个linux主机,上面两个网卡..
route -n的输出是这样的.
代码: [复制到剪贴板]
Destination Gateway Genmask Flags Metric Ref Use Iface
61.132.43.128 0.0.0.0 255.255.255.192 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 61.132.43.134 0.0.0.0 UG 0 0 0 eth0
这里解释一下...第一行是说,你要访问61.132.43.128这个网段,掩码是255.255.255.192
的话..从eth1这个网卡出去..
第二行是关于本机的,访问自己从lo这个虚拟的本地网卡走..
第三行是说你要去任何地方的话..从网关61.132.43.134出去.并且网卡是eth0
到这里我们看到了..我们除了去61.132.43.128这个网络是从eth1走以外..去其他地方都是从eth0走...
这样是不是很浪费了双网卡??没错..是很浪费..因为不论你用那种监测工具查看流量..都
是eth0有..而其他网卡没有...天哪...为此我是煞费苦心..甚至怀疑网卡是不是坏了..因为在win2k上这种事情是不可能发生的..
那我们怎么解决这个问题呢?有人也许会说给个不同网关让另一块网卡用其他网关不就可以..是这个是可以..但是问题是我的ip都是在同一个网段..那来的不同网关.?网关就一个61.132.43.134...
还好linux系统给我们提供了一个很好的路由套件---iproute2
我们来熟悉一下..iproute2由几个常见的命令..
ip ro ls ip就是ip命令啦,ro就是route的所写,ls是list的缩写...
整个命令就是列出系统的路由表..这个可和route -n的效果差不多..但是更为清楚系统的route是如何的..
我们来看看吧:
代码: [复制到剪贴板]
[root@localhost root]# ip ro ls
61.132.43.128/26 dev eth1 proto kernel scope link src 61.132.43.136
127.0.0.0/8 dev lo scope link
default via 61.132.43.134 dev eth0
是不是一样呢?由几个地方不同..第一条多了一个src,增加了对源数据包的选择,而且子网
掩码也变成/26的形式..(参考ip地址的书籍)
最后一个仍然是网关...
现在我们只要稍稍动手把从61.132.43.136出来的流量让他不要从eth0出去..然他走eth1 我们加一条自定义的路由表
代码: [复制到剪贴板]
ip ro add default via 61.132.43.134 table 200
这里只是加了一条默认路由到一个自定义的路由表200中,最大数值是255,但是你不要用
255,因为那是系统默认用了..你用200以下就可以.
具体的路由表在/etc/iproute2/rt_tables中
查看刚才建立的路由表可以用ip ro ls table 200
代码: [复制到剪贴板]
[root@localhost root]# ip ro ls table 200
default via 61.132.43.134 dev eth1
看到了吗?虽然我没有指定dev是什么.但是系统自动分配了一个eth1给这个路由表,因为eth0已经用在主路由表中了..
这也说明了,的确不能在同一个路由表中由相同的网关..虽然可以设置,但是具体没什么作用.
然后我们要用一个规则把,匹配的数据包引导到刚刚建立的路由表中..
代码: [复制到剪贴板]
ip ru add from 61.132.43.136 table 200
这里ru是rule的缩写.from是一个匹配的动作.就是所源地址是61.132.43.136的包..请走自定义路由表200的设置..
查看一下
代码: [复制到剪贴板]
[root@localhost root]# ip ru ls
0: from all lookup local
32765: from 61.132.43.136 lookup 200
32766: from all lookup main
32767: from all lookup 253
到这里两块网卡终于都用上了.汗......。