萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> linux中 iptables遇到iptables: Protocol wrong type for socket

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

可以看到上面已經有一條規則了。

copyright © 萬盛學電腦網 all rights reserved