免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7825 | 回复: 12

[其他] iptables:memory allocation problem [复制链接]

论坛徽章:
0
发表于 2014-03-28 10:08 |显示全部楼层
  首先介绍我机器的配置: IBM服务器,12G内存

  问题出现场景:执行 iptables -t nat -A PREROUTING  -i $EXIF  -p tcp --dport $port -j DNAT --to-destination "$IP"

因为我们内网的IP地址很多,为了支持外网能够访问内网,就将所有可能的ip都添加到iptables中了,我有个脚本最大可以添加16000条上面那样的命令,但添加到14097多条

就出现提示:iptables:memory allocation problem

论坛徽章:
26
CU十二周年纪念徽章
日期:2013-10-24 15:41:34技术图书徽章
日期:2014-07-11 16:27:52辰龙
日期:2014-09-04 13:40:43白羊座
日期:2014-09-09 12:51:55双子座
日期:2014-09-26 11:00:042014年中国系统架构师大会
日期:2014-10-14 15:59:00子鼠
日期:2014-10-23 16:48:23巨蟹座
日期:2014-10-27 08:21:10申猴
日期:2014-12-08 10:16:282015年辞旧岁徽章
日期:2015-03-03 16:54:15NBA常规赛纪念章
日期:2015-05-04 22:32:03IT运维版块每日发帖之星
日期:2016-01-29 06:20:00
发表于 2014-03-28 10:30 |显示全部楼层
本帖最后由 cryboy2001 于 2014-03-28 10:40 编辑

这么多条的规则,可能达到了iptables 的某些模块参数的极限了,

有没遇到到过。也没有什么很好的测式方法

你可以考虑以下试试

1、看看内存是否内存使用问题
2、减少一些规则试试,多次减少不同的规则,看看是数量问题,还是有个别语句造成的,如果有个别语句有无限循环,肯定要出问题。
3、升级一下看看
4、再看看日志有没有什么有用的信息

论坛徽章:
0
发表于 2014-03-28 14:58 |显示全部楼层
回复 2# cryboy2001


问题解决了.

查看/var/log/messages:

提示 vmap allocation for size 12513280 failed: use vmalloc=<size> to increase size.
该语句重复很多次。

通过vmap allocation for size 12513280 failed上网查找,发现是虚拟地址空间不足导致的。下面是原文:
    The kernel reserves a small chunk of memory at boot time for use as virtual addressing space. This space is used by drivers and the kernel (among other things) to map hardware to chunks of memory in fixed places. If your 32-bit machine has 1Gb or less of RAM the Linux kernel reserves a minimum of 128Mb for virtual memory addressing

    执行cat /proc/meminfo | grep Vmalloc命令,
         VmallocTotal:   122880kB
         VmallocUsed:      5892kB
         VmallocChunk: 103312kB

可以看到内核允许最大的虚拟地址空间120M

于是修改kernel /vmlinuz-2.6.32-220-el6.i686 root=UUID=1029384-7e40-ffd2-9968-7a8b9e78f9g7s ro vmalloc=600M

重启机器就可以解决了,要是还不能解决问题,可以适当调整vmalloc=数值。

参考:http://www.mythtv.org/wiki/Common_Problem:_vmalloc_too_small

论坛徽章:
26
CU十二周年纪念徽章
日期:2013-10-24 15:41:34技术图书徽章
日期:2014-07-11 16:27:52辰龙
日期:2014-09-04 13:40:43白羊座
日期:2014-09-09 12:51:55双子座
日期:2014-09-26 11:00:042014年中国系统架构师大会
日期:2014-10-14 15:59:00子鼠
日期:2014-10-23 16:48:23巨蟹座
日期:2014-10-27 08:21:10申猴
日期:2014-12-08 10:16:282015年辞旧岁徽章
日期:2015-03-03 16:54:15NBA常规赛纪念章
日期:2015-05-04 22:32:03IT运维版块每日发帖之星
日期:2016-01-29 06:20:00
发表于 2014-03-28 15:18 |显示全部楼层
解决了问题就好,看你也是iptables方面的专家了,有空写点经验分享

论坛徽章:
0
发表于 2014-04-02 15:38 |显示全部楼层
回复 4# cryboy2001


    就是用到查资料学习的

论坛徽章:
71
15-16赛季CBA联赛之同曦
日期:2018-08-23 15:41:42辰龙
日期:2014-08-15 09:07:43狮子座
日期:2014-06-03 13:55:33亥猪
日期:2014-06-02 11:17:08巨蟹座
日期:2014-05-06 10:02:03午马
日期:2014-05-04 08:18:27亥猪
日期:2014-04-29 11:11:32技术图书徽章
日期:2014-04-24 15:51:26技术图书徽章
日期:2014-04-17 11:01:53辰龙
日期:2014-04-15 12:45:46亥猪
日期:2014-04-11 09:06:23射手座
日期:2014-04-01 15:28:10
发表于 2014-04-02 16:51 |显示全部楼层
回复 3# ertou


    你啥系统啊?
# cat /proc/meminfo | grep Vmalloc
VmallocTotal: 34359738367 kB
VmallocUsed:    280560 kB
VmallocChunk: 34359457775 kB

   

论坛徽章:
0
发表于 2014-04-08 20:31 |显示全部楼层
回复 6# zhaopingzi


    centos6.2

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-02-29 06:20:00
发表于 2016-02-26 11:19 |显示全部楼层
看你的系统也应该是Ubuntu吧,我的也是遇到和你同样的问题,请问你是怎么解决的回复 6# zhaopingzi


   

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-02-29 06:20:00
发表于 2016-02-26 11:21 |显示全部楼层
看你的系统也应该是Ubuntu吧,我的也是遇到和你同样的问题,请问你是怎么解决的?

论坛徽章:
0
发表于 2016-04-20 09:23 |显示全部楼层
回复 9# yiyangtian_Linu


    请爬到第三楼,已经有了解决方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP