赞助连接

赞助连接

阅 读 文 章

使用freebsd模拟路由器转发

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(wangrujun) | 时间:2007-05-27 | 浏览:人次 ]


    219.1.1.3    00:04:3c:ab:dd:eb  UHLS2       0        0    xl0

4.  在网关A上为客户机器的外部IP做主机路由
route add -host 219.1.1.3/32 192.168.254.250
   
    可以用netstat -rn | grep 219.1.1.3看到:
    219.1.1.3    192.168.254.250       UGHS        0        7   fxp0

上述做法的说明:
    使用ipfw 的fwd命令进行转发的语法,是容易看懂的。下面说明一下arp代理与主机路由
    从客户机出发的访问,通过网关B和网关A即可。
    但是从外网回来的IP地址,网关A如何才能接收呢?方法是在网关A上使用arp代理,告诉上级路由器219.1.1.3的包发到网关A上来。
    然后在网关A上检查到 route add -host 219.1.1.3/32 192.168.254.250生成的路由,即会把包转发到该机器上。
    
注意事项:
    为何必须同时使用
    ipfw add 582 fwd 192.168.254.250 ip from 61.1.1.1 to 219.1.1.3 和
    route add -host 219.1.1.3/32 192.168.254.250
    
    按道理说,在网关A上应该可以找到192.168.254.250,那么不需要特意增加路由,即能正确的把包转发到192.168.254.250上。这在freebsd4.x上是正确的。
    但是在freebsd5.3中,我发现如果不指定路由表,那么这个包最后会被网卡xl0截获(可能是因为arp代理的原因)。被截获后,网关A发出arp请求,最后无法找到219.1.1.3的mac地址(在本机上,arp代理被忽略)。
    使用tcpdump来看,结果如下:
[root@ftp1]/root # tcpdump -i xl0 host 219.1.1.3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on xl0, link-type EN10MB (Ethernet), capture size 96 bytes
10:43:01.052683 IP 219.1.1.3 >; 61.1.1.1: icmp 40: echo request seq 16384
10:43:01.059563 IP 61.1.1.1 >; 219.1.1.3: icmp 40: echo reply seq 16384
10:43:01.059606 arp who-has 219.1.1.3 tell ftp1.tgegroup.com
10:43:02.279858 IP 219.1.1.3 >; 61.1.1.1: icmp 40: echo request seq 16640
10:43:02.287605 IP 61.1.1.1 >; 219.1.1.3: icmp 40: echo reply seq 16640
10:43:02.287635 arp who-has 219.1.1.3 tell ftp1.tgegroup.com

    所以,freebsd5的网络实现时,在通过规则检查后,需要目标IP在路由表中的位置。我认为这或许是一个小bug吧。fwd命令并没有得到完美的执行。
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 转发 路由器 模拟 使用 网关 地址 命令 路由 回复 route

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.