管理资源吧

当前位置:管理资源吧首页>>>tech>>>c1>>>服务器教程

linux中 iptables遇到iptables: Protocol wrong type for socket

 下面琰各位介绍一篇关于Linode vps iptables遇到iptables: Protocol wrong type for socket.错误的解决方法,希望文章对各位有帮助

想在linode vps centos 6.4上iptables加入限制ip连接数不能超过100的规则:

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT

出现错误:

iptables: Protocol wrong type for socket.

问过Linode客服,说是内核与connlimit模块不兼容,iptables版本太旧了,需要升级。

查看iptables版本:

[root@linode ~]# iptables -V

iptables v1.4.7

查看iptables安装包:

[root@linode ~]# rpm -qa | grep iptables

iptables-1.4.7-9.el6.x86_64

iptables-ipv6-1.4.7-9.el6.x86_64

按以下方法解决问题,但注意iptables再也不能使用yum来管理:

yum update

rpm -e --nodeps iptables-1.4.7-9.el6.x86_64

rpm -e --nodeps iptables-ipv6-1.4.7-9.el6.x86_64

yum groupinstall 'Development Tools'

wget http://www.netfilter.org/projects/iptables/files/iptables-1.4.19.tar.bz2

tar jxf 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

查看iptables版本:

[root@linode ~]# iptables -V

iptables v1.4.19

[root@linode iptables-1.4.19]# iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT

[root@linode iptables-1.4.19]# iptables -L

Chain INPUT (policy ACCEPT)

REJECT     tcp  --  anywhere             anywhere             tcp dpt:http flags:FIN,SYN,RST,ACK/SYN #conn src/32 > 100 reject-with icmp-port-unreachable

可以看到上面已经有一条规则了。

tech首页 更多tech