LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: archenemy

双网卡 Bond 是不是 相当于交换机 ?

[复制链接]
发表于 2010-2-4 19:52:55 | 显示全部楼层
Post by archenemy;2067400
那么 eth0 做 WAN

eth1和eh2做 br0 eth0 和 br0 做NAT,这种方法可行吗


还是做策略路由比较可靠。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-4 21:39:35 | 显示全部楼层
Post by abby;2067420
还是做策略路由比较可靠。


我是这样想的。如果网卡少,策略路由更好,但是多了。估计就越来越复杂把。用桥接应该是最接近交换机功能的了

各位一指点,我有些糊涂了

Linux 实现路由的办法有 1、iptables 的 NAT
2、iprouter2,可实现策略路由
3、zebra 现在改名叫 qugga 了,可实现动态路由

而其他相关的还有 bonding,bridge, load balance

现在基本上 把 NAT 搞懂了一些,原理是把内网地址伪装成或者说转发成公网地址出去,那么 ipoute2 和这个NAT是相互独立的两种办法吗?qugga 暂时还不研究。

网上 NAT的很多,可是用iproute2的策略路由我就没看明白呢?


另外实现均衡负载似乎要打内核补丁,是这样吗
回复 支持 反对

使用道具 举报

发表于 2010-2-4 22:57:12 | 显示全部楼层
是的,按你说的,2个lan之间通讯用策略路由容易。
iproute和netfilter确是两种不同的东西。NAT严格说不算路由的功能。路由的最原始目的,只是查表决定数据包从哪个接口发出。
zebra没研究过,不过动态路由协议是多个路由器之间协调用的,只有你一台机子运行没效果,一般用不到。

如果不嫌编译的麻烦,netfilter.org网站里patch-o-matic-ng补丁有个ROUTE功能,它使iptables命令能控制路由选择,在判断条件上既灵活又方便,最令人愉快。
不解的是ROUTE一直没进入官方内核,所以不能紧跟最新版本的内核和iptables,常常编译不成功。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-4 23:41:27 | 显示全部楼层
Post by abby;2067482
是的,按你说的,2个lan之间通讯用策略路由容易。
iproute和netfilter确是两种不同的东西。NAT严格说不算路由的功能。路由的最原始目的,只是查表决定数据包从哪个接口发出。
zebra没研究过,不过动态路由协议是多个路由器之间协调用的,只有你一台机子运行没效果,一般用不到。

如果不嫌编译的麻烦,netfilter.org网站里patch-o-matic-ng补丁有个ROUTE功能,它使iptables命令能控制路由选择,在判断条件上既灵活又方便,最令人愉快。
不解的是ROUTE一直没进入官方内核,所以不能紧跟最新版本的内核和iptables,常常编译不成功。


别提了,前几天照着教程编译 L7 我甚至还没到不成功那一步,打补丁的时候runme --download 就提示某个补丁网站 404 not Found。

回到原来的问题,如果设置好了 route 表,看来就不用iptables的NAT规则了,对吧? 不过现如今NAT当路由大行其道,iptables有很多功能似乎都没进去内核。准备先试验一下 NAT+Bridge
回复 支持 反对

使用道具 举报

发表于 2010-2-5 07:48:53 | 显示全部楼层
不用iptables的NAT,其它机不能访问外网啊!
回复 支持 反对

使用道具 举报

发表于 2010-2-8 09:32:44 | 显示全部楼层
顶起这个帖子,因为今天运行“man ip”看参数,发现原来iproute这块一向有nat功能:yun:,就是不太灵活。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-8 15:08:57 | 显示全部楼层
楼上的能说详细一点吗?

另外这个一直没有人回:

比如 网桥br0 由 eth1 eth2 组成。

br0可以作为一个设备写到 iptables 规则里边区而被识别吗

比如“ -i br0“ ,这种写法写到规则里边等同于 - i eth1 或者 -i eth2吗,可以这样写吗?
回复 支持 反对

使用道具 举报

发表于 2010-2-10 01:21:21 | 显示全部楼层
Post by archenemy;2068221
楼上的能说详细一点吗?

另外这个一直没有人回:

比如 网桥br0 由 eth1 eth2 组成。

br0可以作为一个设备写到 iptables 规则里边区而被识别吗

比如“ -i br0“ ,这种写法写到规则里边等同于 - i eth1 或者 -i eth2吗,可以这样写吗?


这个看来要开几个虚拟机实验一下。
回复 支持 反对

使用道具 举报

发表于 2010-2-10 09:38:40 | 显示全部楼层
如果换成几个无线网卡,那如何做成一个路由器或者AP
回复 支持 反对

使用道具 举报

发表于 2010-2-11 10:32:21 | 显示全部楼层
Post by archenemy;2068221
楼上的能说详细一点吗?

另外这个一直没有人回:

比如 网桥br0 由 eth1 eth2 组成。

br0可以作为一个设备写到 iptables 规则里边区而被识别吗

比如“ -i br0“ ,这种写法写到规则里边等同于 - i eth1 或者 -i eth2吗,可以这样写吗?

先纠正一下 ifconfig eth0 promisc 命令不清晰,写成下面这样保证没错:
ifconfig eth0 0.0.0.0 promisc up
今天在KVM虚拟机试不行,:yun:,一旦ping起来就很多(dup)信息, cpu 100%!

两台真实机上我以前试过,用br0配个IP就像普通网卡一样,可以正常ping。所以iptables用 -i br0 这种形式应该没问题的。(没有三台真实机试,不清楚br0是“集线器”还是“交换机”。猜测多数是集线器……)

如果换成几个无线网卡,那如何做成一个路由器或者AP
我没条件试哦!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表