Linux防火墙配置文件位置:/etc/sysconfig/iptables
常用配置
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27269 -j ACCEPT
1 2 3 -A INPUT -s 10.0.4.0/24 -p tcp --dport 6379 -j ACCEPT -A INPUT -s 10.0.4.0/24 -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -s 10.0.4.0/24 -p udp -m udp --dport 53 -j ACCEPT
配置允许ping,如果不允许ping,直接将下面的配置去掉即可
-A INPUT -p icmp -j ACCEPT
-A:指定链名 -p:指定协议类型 -d:指定目标地址,常用于一个Linux服务器有多个IP的情况,利用此参数可以限制远程服务器能访问本Linux的哪个地址 –dport:指定目标端口(destination port 目的端口) –sport:指定源端口(source port 源端口) -j:指定动作类型 如果要禁止访问,则将ACCEPT修改为DROP
常用操作
服务启动指令:service iptables start 服务重启指令:service iptables restart 服务关闭指令:service iptables stop
开启: chkconfig iptables on 关闭: chkconfig iptables off
1 2 3 4 5 6 7 8 9 vim /etc/sysconfig/iptables -N whitelist -A whitelist -s 10.202.106.1 -j ACCEPT -A whitelist -s 10.202.106.2 -j ACCEPT -A whitelist -s 10.202.106.3 -j ACCEPT -A whitelist -s 10.202.106.4 -j ACCEPT -A whitelist -s 10.202.106.5 -j ACCEPT -A whitelist -s 10.202.106.6 -j ACCEPT -A whitelist -s 10.202.106.7 -j ACCEPT
防火墙防御 服务器遭受到大量的大量SYN_RECV,80端号占死,网站打不开,没有硬防,解决方法
1 2 3 4 5 6 7 8 9 10 11 sysctl -w net.ipv4.tcp_syncookies=1 #启用使用syncookies sysctl -w net.ipv4.tcp_synack_retries=1 #降低syn重试次数 sysctl -w net.ipv4.tcp_syn_retries=1 #降低syn重试次数 sysctl -w net.ipv4.tcp_max_syn_backlog=6000 #最大半连接数 sysctl -w net.ipv4.conf.all.send_redirects=0 sysctl -w net.ipv4.conf.all.accept_redirects=0 #不接受重定向的icmp數據包 sysctl -w net.ipv4.tcp_fin_timeout=30 sysctl -w net.ipv4.tcp_keepalive_time=60 sysctl -w net.ipv4.tcp_window_scaling=1 sysctl -w net.ipv4.icmp_echo_ignore_all=1 #禁止ICMP sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 #ICMP禁止广播
1 2 3 4 5 6 7 iptables -N syn-flood iptables -A FORWARD -p tcp --syn -j syn-flood iptables -A INPUT -p tcp --syn -j syn-flood iptables -A syn-flood -p tcp --syn -m limit --limit 3/s --limit-burst 1 -j ACCEP iptables -A syn-flood -j DROP iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP iptables -A INPUT -p tcp --syn -m state --state NEW -j DROP
1 2 iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEP
如攻击过来的流量大于你的服务器的流量,那就没有什么办法了,如果流量不大,以上方法,可以暂时保证你的80可以访问
<
Centos6.5搭建Ngrok反向代理服务器