Think before you speak, read before you think.

Category: Iptables

  • nf_conntrack: table full, dropping packet.问题解决

    centos6下在并发量大的时候出现这样的报错 nf_conntrack: table full, dropping packet. nf_conntrack: table full, dropping packet. nf_conntrack: table full, dropping packet. 看一下 nf_conntrack 表里的记录及数量 less /proc/net/nf_conntrack wc -l /proc/net/nf_conntrack 如果表满了会连 ssh 都连不上来 默认表的最大值是 65535 cat /proc/sys/net/nf_conntrack_max 需要临时加大 echo ‘100000’ > /proc/sys/net/nf_conntrack_max 需要永久生效 在 /etc/sysctl.conf 里添加 net.nf_conntrack_max = 655360 net.netfilter.nf_conntrack_max = 655350 net.netfilter.nf_conntrack_tcp_timeout_established = 1200 这里有个坑,如果在没有开启 iptables 的情况下使用 iptables -L -t…

  • 使用iptables遇到nf_conntrack table full

    环境 centos 6.6 在/var/log/messages看到报错 kernel: nf_conntrack: table full, dropping packet. nf_conntrack 默认最大值 65536 cat /proc/sys/net/ipv4/ip_conntrack_max | wc -l 超过这个 65536 便会报错。 现在将值改为 655360 并且永久生效 首先修改/etc/sysctl.conf net.nf_conntrack_max = 655360 net.netfilter.nf_conntrack_max = 655350 net.netfilter.nf_conntrack_tcp_timeout_established = 1200 然后修改/etc/sysconfig/iptables-config 注意如下两行 IPTABLES_MODULES=”ip_conntrack” IPTABLES_SYSCTL_LOAD_LIST=”.nf_conntrack” 之后重新 iptables.

  • mysql绑定多个ip地址

    my.cnf中有选项bind-address=127.0.0.1,是说mysql server监听的是本地发来的请求,如果是任意主机都可以请求,则写为0.0.0.0,但是这样又不太安全。监听某ip,指定此ip地址即可,但是要保证mysql的user中有允许此ip访问,否则不能对数据库操作。那么是否可以在配置里只规定几个ip呢? 简单直接回答:不可能 请参考:http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_bind-address The MySQL server listens on a single network socket for TCP/IP connections. This socket is bound to a single address, but it is possible for an address to map onto multiple network interfaces. The default address is 0.0.0.0. To specify an address explicitly, use the –bind-address=addr option at server startup, where…

  • iptables的表和链

    iptables包含 4 个表,5 个链 其中表是按照对数据包的操作区分的,链是按照不同的Hook点来区分的,表和链实际上是netfilter的两个维度 4个表:filter, nat, mangle, raw,默认表是filter(没有指定表的时候就是filter表)。表的处理优先级:raw>mangle>nat>filter filter:一般的过滤功能 nat:用于nat功能(端口映射,地址映射等) mangle:用于对特定数据包的修改 raw: 优先级最高,设置raw时一般是为了不再让 iptables 做数据包的链接跟踪处理,提高性能 5个链:PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING PREROUTING: 数据包进入路由表之前 INPUT: 通过路由表后目的地为本机 FORWARD: 通过路由表后,目的地不为本机 OUTPUT: 由本机产生,向外转发 POSTROUTIONG: 发送到网卡接口之前

  • iptables的ip(ipv4) match

    这个内置的匹配不用加 -m (match)就可以实现 internet protocol ip协议 -d [!] addr[/mask] 目标地址或范围 –destination 同-d –dst 同-d [!] -f 第二标识,链接追踪会自动识别,不常用 -i [!] 在哪个interface,后面有+,则会匹配所有有这个名字的interface –in-interface 同 -i -o [!] 不在哪个interface,后面有+,则不会匹配所有有这个名字的interface –out-interface 同 -o -p [!] 原始协议名或识别码,在 /etc/protocols 文件中或参见http://www.iana.org/assignments/protocol-numbers. -p 隐藏-m选项的,协议如 icmp, tcp, or udp. -s [!] addr[/mask] 原地址或范围 –source Synonym for -s. –src Synonym for -s. 可以用老式的 dotted-quad notation 点分四组表示法,如192.168.1.0/255.255.255.0,或 Common Inter-Domain Routing(CIDR)表示法,如192.168.1.0/24…

  • iptables的icmp match

      Internet Control Message Protocol(ICMP) ICMP的头信息如图 –icmp-type[!] typename匹配类型 –icmp-type[!] type[/code]匹配标识码