iptables是linux的静态防火墙,用户通过iptables,可以对进出你的计算机的数据包进行过滤。通过iptables命令设置你的规则,来把守你的计算机网络——哪些数据允许通过,哪些不能通过,哪些通过的数据进行记录(log)。
iptables的基本语法格式
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]
说明:表名、链名用于指定iptables命令所操作的表和链,命令选项用于指定管理iptables规则的方式(比如:插入、增加、删除、查看等;条件匹配用于指定对符合什么样条件的数据包进行处理;目标动作或跳转用于指定数据包的处理方式(比如允许通过、拒绝、丢弃、跳转(Jump)给其它链处理。
iptables命令的管理控制选项
-A 在指定链的末尾添加(append)一条新的规则 -D 删除(delete)指定链中的某一条规则,可以按规则序号和内容删除 -I 在指定链中插入(insert)一条新的规则,默认在第一行添加 -R 修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换 -L 列出(list)指定链中所有的规则进行查看 -E 重命名用户定义的链,不改变链本身 -F 清空(flush) -N 新建(new-chain)一条用户自己定义的规则链 -X 删除指定表中用户自定义的规则链(delete-chain) -P 设置指定链的默认策略(policy) -Z 将所有表的所有链的字节和数据包计数器清零 -n 使用数字形式(numeric)显示输出结果 -v 查看规则表详细信息(verbose)的信息 -V 查看版本(version) -h 获取帮助(help)
iptables的基本语法格式
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]
说明:表名、链名用于指定iptables命令所操作的表和链,命令选项用于指定管理iptables规则的方式(比如:插入、增加、删除、查看等;条件匹配用于指定对符合什么样条件的数据包进行处理;目标动作或跳转用于指定数据包的处理方式(比如允许通过、拒绝、丢弃、跳转(Jump)给其它链处理。
iptables命令的管理控制选项
-A 在指定链的末尾添加(append)一条新的规则
-D 删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I 在指定链中插入(insert)一条新的规则,默认在第一行添加
-R 修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L 列出(list)指定链中所有的规则进行查看
-E 重命名用户定义的链,不改变链本身
-F 清空(flush)
-N 新建(new-chain)一条用户自己定义的规则链
-X 删除指定表中用户自定义的规则链(delete-chain)
-P 设置指定链的默认策略(policy)
-Z 将所有表的所有链的字节和数据包计数器清零
-n 使用数字形式(numeric)显示输出结果
-v 查看规则表详细信息(verbose)的信息
-V 查看版本(version)
-h 获取帮助(help)
一、检查iptables
service iptables status若提示为iptables:unrecognized service,则需要安装。
VPS.GL提供的Linux系统都已经安装了iptables防火墙。同时,为了适应广大使用Linux朋友的需要,这里就告诉大家安装步骤。
二、快速安装iptables
apt-get install iptables //Debian,Ubuntu使用此命令yum install iptables //Linux,CentOS使用此命令
二、配置iptables规则
以下就在Linux系统下,配置iptables。使用Ubuntu的朋友参照此教程即可。为了避免本身的规则会对我们的配置造成干扰,我们先清除默认规则。iptables –F
好了我们现在开始配置我们的规则。这里仅仅是指导大家配置一些常用的规则,并不是每一条规则都适合每一台VPS。因此,在配置的同时,应选择适合自己系统的iptables规则。(iptables配置文件在/etc/sysconfig/iptables)
#允许本地回环接口
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A OUTPUT -j ACCEPT
#允许所有本机向外的访问
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
# 允许访问22端口(这是ssh端口,建议开启)
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#允许访问80端口(架设WEB必须开启)
iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
#允许访问1723端口(架设VPN必须开启)
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 20 -j ACCEPT
#允许FTP服务的21和20端口
注:因为根据防火墙的安全规则,禁用所有没有定义的端口。所以,如果大家还需要开启更多的端口,请按照上面的配置开启。
iptables -A FORWARD -j REJECT
#禁止其他未允许的规则访问
#拒绝某个ip访问:
-A INPUT -s ip -j DROP
service iptables save
或者/etc/rc.d/init.d/iptables save
#保存防火墙规则
service iptables restart
#重启防火墙才能使规则生效
三、查询修改及删除
iptables -L –n#查询正在使用的规则
iptables -L -n --line-numbers
#将规则按数字序号显示方便删除
iptables -D INPUT 4
#删除第四条规则