常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

PF NAT 与 链路聚合(LACP)问题

 
发表新文章   回复文章    FreeBSD China -> 技术交流
阅读上一个主题 :: 阅读下一个主题  
作者 留言
fzfh
道童


注册时间: 2004-04-07
文章: 329
来自: SKY

文章发表于: Sat 2016-03-26 23:48:33    发表主题: PF NAT 与 链路聚合(LACP)问题 引用并回复

系统环境:FreeBSD amd64 10.2
网络环境:4网卡+二层交换
实践过程:
1、bsd机器上4个网卡,做LACP链路聚合,创建lagg0和lagg1,分别绑定两个网卡;
2、二层交换上做两个聚合,分别对应lagg0和lagg1;
3、lagg0为wan口,lagg1为lan口,lagg1通过子接口绑定多个子网网关;
4、bsd机器上启用gateway、pf和ip_forward,pf的规则只一条
代码:
nat on lagg0 from lagg1:network to any -> (lagg0)


问题表现:
1、子网机器到各自网关 互ping均通,到wan口ip也能ping通;
2、子网机器无法ping通wan口的上游网关,也就是说NAT无效。

换用ipf、ipfw的natd均是如此,无奈。
是否NAT不能作用于lagg设备?google也没找到类似的案例。
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页 MSN Messenger
fzfh
道童


注册时间: 2004-04-07
文章: 329
来自: SKY

文章发表于: Sun 2016-03-27 11:06:19    发表主题: 引用并回复

补充上述环境:
lagg0的上游网关:192.168.22.1
lagg0的ip是:192.168.22.254
lagg1的绑定的网段是:169.254.0.0/16
从lagg1下属任何机器都能ping通lagg0,但是ping不同lagg0的上游网关。
上tcpdump,抓子网某一机器数据:
代码:
tcpdump host 169.254.23.2

从结果来看,icmp包只有两种:
代码:

169.254.23.2   指向 169.254.23.1
192.168.22.254 指向 192.168.22.1

没有从上游网关到子网机器的返回数据。
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页 MSN Messenger
fzfh
道童


注册时间: 2004-04-07
文章: 329
来自: SKY

文章发表于: Tue 2016-03-29 13:18:49    发表主题: 引用并回复

今天灵机一动,想起来NAT规定的内网IP段不包含169.254.0.0/16网段,然后把内网网段修改为RFC1918规定的内网网段,然后一下子没有问题了。
但是,针对应用修改大量的IP,怎么想都不划算。
这个算不算BUG恩?按道理讲,NAT设备已经屏蔽了所有的内网IP信息,这个与内网使用那个网段应该没有关系,为什么会出这个问题呢?
是PF,IPF的代码引起的?还是FreeBSD自身的严格规则限定的?
如何才能解除NAT对RFC1918规定内网网段的限制呢?
linux的iptables没有这个问题。
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页 MSN Messenger
从以前的文章开始显示:   
发表新文章   回复文章    FreeBSD China -> 技术交流 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标