V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
orzfly
V2EX  ›  Linux

iptables: Protocol wrong type for socket.

  •  
  •   orzfly ·
    orzFly · Jun 6, 2013 · 6403 views
    This topic created in 4708 days ago, the information mentioned may be changed or developed.
    于是想给centOS6服务器加点安全措施于是打算限制连接数可是……

    # iptables -I FORWARD -p tcp --syn --dport 80 - m connlimit --connlimit-above 20 -j DROP
    iptables: Protocol wrong type for socket.

    语法明显没错...
    但是为啥会有这么奇葩的提示啊=A=
    1 replies    1970-01-01 08:00:00 +08:00
    Sonic1997
        1
    Sonic1997  
       Jun 7, 2013
    麻烦囧叔发帖了...

    CentOS's userspace tools are also incompatible with the connlimit module in our latest 3.x series kernels because the version of 'iptables' that is installed is too old:
    //CentOS的用户空间工具在我们最新的3.x系列核心中与connlimit模块不兼容因为所安装的iptables版本太旧了:
    -----
    # iptables -V
    iptables v1.4.7
    -----

    Please issue these commands, and again, remember that building from source means that this package will no longer be managed by your package management system (yum):
    //输入以下指令,后面的懒得翻译,注意这会覆盖掉你的东西就行了
    yum update
    rpm -e --nodeps iptables-1.4.7-9.el6.i686
    rpm -e --nodeps iptables-ipv6-1.4.7-9.el6.i686
    yum groupinstall 'Development Tools'
    wget http://www.netfilter.org/projects/iptables/files/iptables-1.4.19.tar.bz2
    tar jxvf iptables-1.4.19.tar.bz2
    cd iptables-1.4.19
    LDFLAGS="-L$PWD/libiptc/.libs" ./configure --prefix=/usr --exec-prefix= --bindir=/usr/bin --with-xtlibdir=/lib/xtables --with-pkgconfigdir=/usr/lib/pkgconfig --enable-libipq --enable-devel
    make
    make install

    When the installation is complete, run "iptables -V" and you should see the following output:
    //当你完成安装时,输入“iptables -V” 然后你会看到下面的内容
    -----
    iptables v1.4.19
    -----

    Now try to load that iptables rule:
    //现在你可以用了

    iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j DROP

    It should succeed with no error message. You can verify that the rule was loaded with either of these commands:
    //下载应该能运行的了,你可以通过以下任意一个指令来验证你的规矩是否已经加载

    iptables-save
    iptables -L -n -v





    搞定,感谢Linode客服
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3752 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 04:24 · PVG 12:24 · LAX 21:24 · JFK 00:24
    ♥ Do have faith in what you're doing.