防火墙的规则表与规则链

1、防火墙
防火墙是根据配置文件/etc/sysconfig/iptables来控制本机的"出、入"的网络访问行为。

Filter表:主要是跟进入linux本机的数据包有关,过滤数据包,默认表。
1):INPUT链:过滤所有目标地址是本机的数据。(对进入本机的数据包进行过滤)
2):OUTPUT链:过滤由本机产生的数据(对源地址是本机的数据包进行过滤)
3):FORWARD链:过滤所有路过本机的数据包(源地址和目的地址都不是本机的数据包)

NAT表:网络地址转换,这个表主要用来进行来源或者目的的IP和port的转换,与linux本机无关,主要是与linux主机的局域网内的环境有关。

如果数据包允许经过NAT或者masquerade,那么其他的数据也会做同样的动作,也就是说其他数据包不会被一个一个的NAT。

包含的3个动作:
DNAT:改变数据包的目的地址使包能重新路由到某台机器。
SNAT:改变数据包的源地址(使局域网能访问公网)
NASQUERADE:个SNAT一样使局域网能访问公网,无固定IP使用PPP.PPPoE等拨号上网模式连接公网。

NAT表包含3条链:
PREROUTING链:数据包达到防火墙时改变包的目的地址。
POSTROUTING链:在数据包离开防火墙时改变数据包的源地址
OUTPUT链:改变本地产生数据的目标地址


MANGLE表:破坏者,主要是与特殊的数据包的路由标志有关,修改数据包、改变数据包的头内容(TTL、TOS、MARK)

TOS:设置改变数据包的服务类型,一般不建议使用TOS设置发往公网的包除非打算依赖TOS来路由。
TTL:改变数据包的生存时间,可以让数据包有一个特殊的TTL,欺骗ISP
MASK:给数据包设置特殊的标记,通过标记配置带宽限制或者而基于请求分类

mangle表有5条链:
PREROUTING链:数据进入防火墙后,路由判断之前改变数据包。
POSTROUTING链:在数据包确定目的地址之后,改变数据包
INPUT链:在数据包进入本机之后,应用程序接受数据之前改变数据包
OUTPUT链:在数据包被确定目的之前改变数据包
FORWARD链:第一次路由判断之后,最后一次路由判断之前改变数据包


RAW表:原始表格
主要是用于配置,原始表格有2中内置的链条
PREROUTING链
OUTPUT链

IPTABLES中数据包的被跟踪的4种连接状态:
1、NEW:该包想要开始一个连接(重新连接或者连接重定向)
2、RELATED:该包属于某个已经建立的连接所建立的新连接,比如:FTP数据传输连接就是控制连接所RELATED出来的连接
3、ESTABLISHED:只要发送并接到应答,一个数据连接就从NEW变为ESTABLISHED,而且该状态会继续这个连接的后继数据包。
4、INVALID:数据包不能被识别属于哪个连接或者没有任何的状态比如内存溢出、收到不知属于哪个连接的ICMP错误信息。一般应该DROP这个状态任何数据。


基本操作:
查看帮助
iptables -h
man iptables
info iptables

列举所有规则:


iptables -L -n

-L:列举在一个表或者链的所有规则
-n:以数字的方式输出地址或者端口

显示规则编号:
--line-numbers:当查询时打印编号

iptables -L -n --line-numbers

指定表显示规则:
iptables -L -n -t nat 

清除表规则:
-F:删除一个或者多个链的所有的规则

iptables -F -t nat

保存规则:
service iptables save
/etc/rc.d/init.d/iptables save

禁止ssh登录:
iptables -A INPUT -p tcp --dport 22 -j DROP

删除:
iptables -D INPUT -p tcp --dport 22 -j DROP

iptables -D INPUT 1

-A,append chain新增规则到某个规则链中,该规则将会成为规则链的最后一条规则
-D,delete chain [rulenum]从某个规则链中删除一条规则,可以输入完整的规则,也可以输入规则编号
-R,--replace,取代现行的规则,规则被取代后不会改变规则顺序。
-I,insert chain [rulenum],插入一条规则,原本该位置上的规则将会往后移一个顺位。

-p:porto protocol,例如:tcp、udp、icmp。
-j:jump表示跳转,跟target结合起来表示数据表将跳转到哪个目标,并执行相应的动作。常见的动作有:ACCEPT\DROP\REJECT三种,但是一般不适用REJECT,会带来安全隐患。

--dport:目的端口号
注意:INPUT和ACCEPT等关键字必须大写

禁止ip 192.168.137.0 网段 从eth0网卡接入:####
iptables -A INPUT -p icmp -i eth0 -s 192.168.137.0 -j DROP


禁止ip地址非192.168.137.113的所有类型的数据进入:
iptables -A INPUT ! -s 192.168.137.113 -j DROP


扩展匹配:1、隐式扩展 2、显式扩展
隐式扩展:
-p tcp
    --sport:源端口
    --dport:目的端口
显式扩展:
    -m extension --sub-opt
    -p tcp --dport 22 和-p tcp -m tcp --dport 22 功能相同
    state:状态扩展,接口ip_contrack跟踪会话状态
    NEW:新的连接状态
    RELATED:相关联的连接
    ESTABLEISHED:已建立的连接请求
    INVALID:非法的连接
    
匹配端口范围:
iptables -A INPUT -p tcp --dport 22:80 -j DROP

匹配多个端口:
iptables -A INPUT -p tcp --dport 22,80,3306 -j DROP

-m 匹配扩展:
iptables -A INPUT -p tcp -m multiport --dport 22,80,3306 -j DROP

不允许源端口80的数据输出:
iptables -A OUTPUT -p tcp --sport 80 -j DROP

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值