您好!欢迎光临赵容部落O(∩_∩)O~
时间:2012年5月21日 栏目:VPS教程 作者:赵 容 点击: 15,834 次
iptables是linux下一个简单实用的防火墙组件,之前,赵容部落在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 –Fiptables –Xiptables –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-floodiptables -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
标签: iptables , iptables规则
声明: 博客仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!本文由( 赵 容 )原创编译,转载请保留链接: Linux常用命令及组件:iptables简单应用码字不易,谢绝复制粘贴! 关于使用: 本站主要分享服务器及VPS信息,不提供任何产品销售及代购,所有访客朋友请在国家法律法规许可范围内购买和使用产品,QQ群讨论:683851361. 关于安全: 任何IDC都有倒闭和跑路的可能,主机线路更不可控,月付和备份是您的最佳选择,请保持良好的、有规则的备份习惯.
请问怎么把V***P***N加入白名单?开防火墙后V***P***N就619错误连不上了,用网上的方法添加规则也不行,规则如下:
2014-06-23 15:11iptables -A INPUT -p tcp -m tcp –dport 1723 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A OUTPUT -p gre -j ACCEPT
麻烦帮忙一下,谢了!
如果是pptp这个1723开了应该OK的了,v**p**n我真没研究过
2014-06-23 17:01请问一下 运行这个 有问题 怎么解决呢
2012-06-28 16:14# iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables: No chain/target/match by that name.
搜索了一下 【openvz的内核iptables很多都不支持最主要的是很多都不支持MASQUERADE】难道openvz的就不知iptables了吗
2012-06-28 17:01如果没有,yum install就是了。
2012-06-28 17:46默认是安装了的
2012-06-28 18:22我差点把防采集的网站连代码一起填进去了,。
2012-05-22 09:58呵呵。
2012-05-22 10:16