Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1228361
  • 博文数量: 389
  • 博客积分: 2874
  • 博客等级: 少校
  • 技术积分: 3577
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-24 10:34
文章分类

全部博文(389)

文章存档

2020年(2)

2018年(39)

2017年(27)

2016年(3)

2015年(55)

2014年(92)

2013年(54)

2012年(53)

2011年(64)

分类: 网络与安全

2014-08-26 16:21:17

现在是两个网卡,设为192.168.0.5 和 192.168.0.6

设计盗链各个问题 arp 和 路由表问题,比较软肋。
参考一,解决的是路由,如何实现从那个网卡来的数据响应时再回到哪个网卡。


我刚才测试了,完全可以实现LZ的要求。如下:
ip route add 192.168.0.0 dev eth0 src 192.168.0.253 table 100    //增加一条路由,目的网段 192.168.0.0,设定出口 eth0 设定源地址 192.168.0.253 将这条路由添加到 100这个表
ip route add 192.168.0.0 dev eth1 src 192.168.0.252 table 200
ip route add default dev eth0 table 100                         //设定表100的默认路由 为 出口 eth0
ip route add default dev eth1 table 200

ip rule add from 192.168.0.253 table 100                    //增加一条规则    设定来自192.168.0.253 的数据包 执行 100路由表
ip rule add from 192.168.0.252 table 200

实验过程如下:
ETH0:192.168.0.253/24
ETH1:192.168.0.252/24
无缺省路由
路由表中ETH0排在前面。
另一机器单网卡192.168.0.88

1、两个网卡的网线都链接:
此时能PING通两个IP,并且ARP表中的MAC分别指向两个对应的网卡,也就是说此时的网络是完全正常的 。单此时回流的数据走的是ETH0卡。
2、拔掉ETH1的网线:
也能够PING通2个IP,单ARP表中的MAC地址都是指向ETH0的。
3、拔掉ETH0的网线:
两个IP都PING不通,此时的ARP表中的MAC都是指向ETH1的,单因为双网卡机器中的路由表顺序问题,回流的数据无法正常返回因此无法PING通。
4、按照上面的配置:
如果2条网线都插好那么,2个地址都能PING通,并且ARP表也正常,此时观察交换机的灯,PING相应的地址的时候相应的灯在闪,说明数据流向完全正确。如果拔掉一条网线,则拔掉那条那条就PING不通了。
  再参考:
参考2 :解决的事arp的问题 ,ping两个ip后,arp -a 得到的两个ip对应的mac地址相同
解决方法是:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

http://blog.sina.com.cn/s/blog_544465b0010000kf.html
再参考:

备忘录: 如何让一个程序在指定网口实现网络功能
解决方法是:
$ ip netns add ns0                    //创建一个网络域
$ ip link set p0 netns ns0            //将网卡p0 添加到 域 ns0上
执行完这两句后就能 在p0口上操作了
$ ip netns exec ns0 《执行命令》
参考:http://www.ibm.com/developerworks/cn/cloud/library/1401_zhaoyi_openswitch/index.html
阅读(4238) | 评论(0) | 转发(0) |
0

上一篇:3.10.21的cgroup代码

下一篇:Love On Your Own Term

给主人留下些什么吧!~~