VPS优惠信息,美国VPS推荐,便宜VPS,国外VPS评测,美国VPS代购,VPS新手教程 - 好VPS之聚 - iptables规则
iptables是linux下一个简单实用的防火墙组件，之前，好VPS部落在VPS新手教程⑧：VPS实用简单安全配置以及有关DA的教程中提到过涉及iptables的部分，这里，我对iptables做一个简单的解释，一方面方便有不明白的朋友查阅，另一方面……也是为了我自己忘记的时候查找。 一、安装软件 我们购买的VPS，一般都已经预装iptables，可以先检查下iptables状态，确认是否安装。service iptables status若提示为iptables：unrecognized service，则需要安装。yum install iptables #CentOS系统 apt-get install iptables #Debian系统二、配置规则 以下命令我们以CentOS为例，敬请留意。 安装好的iptables配置文件在/etc/sysconfig/iptables，默认的iptables我们可以无视之，采用下面的命令，清除默认规则。iptables –F iptables –X iptables –Z接下来，添加我们自己的iptalbes规则，开放指定端口，关闭危险端口之类。，以下，是一个简单的规则：#允许本地回环接口(即运行本机访问本机)iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # 允许已建立的或相关连的通行 iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT #允许所有本机向外的访问 iptables -A OUTPUT -j ACCEPT # 允许访问22端口 iptables -A INPUT -p tcp –dport 22 -j ACCEPT #允许访问80端口 iptables -A INPUT -p tcp –dport 80 -j ACCEPT #允许FTP服务的21和20端口 iptables -A INPUT -p tcp –dport 21 -j ACCEPT iptables -A INPUT -p tcp –dport 20 -j ACCEPT #如果有其他端口的话，规则也类似，稍微修改上述语句就行 #禁止其他未允许的规则访问 iptables -A INPUT -j REJECT （注意：如果22端口未加入允许规则，SSH链接会直接断开。） iptables -A FORWARD -j REJECT如果还有需要开启的端口，可以在上面添加，然后，保存规则并重启。service iptables save #保存 或者/etc/rc.d/init.d/iptables save service iptables restart #重启在写到iptalbes规则的时候，我这里列出可能涉及的其他规则，譬如禁止单个IP：-A INPUT -s 1.2.3.4 -j DROP三、查询修改及删除iptables -L –n #查询规则 iptables -L -n --line-numbers #将规则按数字序号显示方便删除 iptables -D INPUT 4 #删除第四条规则四、设定开机启动chkconfig iptables on五、其他规则 以下部分规则，大家可以做些参考。# 打开 syncookie （轻量级预防 DOS 攻击）sysctl -w net.ipv4.tcp_syncookies=1 &>/dev/null # 设置默认 TCP 连接痴呆时长为 3800 秒（此选项可以大大降低连接数）sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3800 &>/dev/null # 设置支持最大连接树为 30W（这个根据内存和 iptables 版本来，每个 connection 需要 300 多个字节）sysctl -w net.ipv4.ip_conntrack_max=300000 &>/dev/null # 防止SYN攻击 轻量iptables -N syn-flood iptables -A INPUT -p tcp –syn -j syn-flood iptables -A syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN iptables -A syn-flood -j REJECT # 对于不管来自哪里的ip碎片都进行控制，允许每秒通过100个碎片iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT # icmp包通过的控制，防止icmp黑客攻击iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT # 丢弃坏的TCP包iptables -A FORWARD -p TCP ! –syn -m state –state NEW -j LOG –log-prefix “New not syn:” iptables -A FORWARD -p TCP ! –syn -m state –state NEW -j DROP