iptables防火墙的策略是由三张表来管理的,这三张表分别为:filter表、NAT表、mangle 表
filter表:
主要和主机自身有关,主要负责防火墙功能过滤本机流入流出的数据包是默认使用的表;
NAT表:
负责网络地址转换,即来源于目的IP地址和端口的转换,一般用于共享上网或特殊端口的转换服务
mangle 表:
将报文拆开来并修改报文标志位,最后封装起来
其中每张表里有5个默认的内置链,iptables防火墙的具体规则,是在这5条内置链中设置的,这五张链为:
·PREROUTING
·INPUT 进入规则
·FORWORD 转发规则
·OUTPUT 发出规则
·POSTROUTING
基本操作语法如下:
iptables [-t 表名] 命令选项 [链名] [匹配条件] [-j 动作]
iptables -L 查看防火墙策略
service iptables save 保存配置
iptable -P 链名 选择一条链名
iptables -t filter -P INPUT DROP 将防火墙默认进入策略修改为拒绝
iptables -t filter -P INPUT ACCEPT 将防火墙默认进入策略修改为允许
iptables -A 链名 在制定链中添加一条命令
iptables -D 链名 在制定链中删除一条命令
iptables -F 清除防火墙除默认策略意外的所以策略
iptables -R 修改或者替换指定链中的一条策略,可按规则序号和内容替换
iptables -I 在指定链中插入一条策略,默认在第一行
iptables -s 为该指令选择一个源ip或网段 例子: iptables -s 192.168.3.1 iptables -s 192.168.3.0/24
iptables -d 为该指令选择一个目的ip或网段 例子: iptables -d 192.168.3.1 iptables -d 192.168.3.0/24
iptables -p 指定一种协议
iptables --dport xx 指定目的端口为xx
iptables --sport xx 指定目的端口为xx
iptables -j 指定动作(策略)
例子:iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允许 IP为192.168.0.3的用户远程连接
iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
删除策略
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
第一条不要敲 OUTPUT 或者 INPUT DROP
也就是说不要第一条就将默认进出策略设置成拒绝
iptables -t 表名 -L 查看指定表的策略
在制定策略时如果一下子指定了2个或以上端口,需要加上 -m multiport