【Linux】iptables学习笔记

本文介绍了Linux防火墙iptables的基本操作,包括显示、清除规则、定义默认规则等,并讲解了数据包流向策略及TCPwrappers的工作原理。通过本文,读者可以了解如何管理和配置Linux系统的网络访问控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1iptables

Linux内核防火墙Netfilter提供了iptables指令来作为防火墙封包过滤的指令。与规则的顺序强相关。默认情况下,iptables有三张表格,包括管理本机进出的filter、管理后端主机的NAT、管理特殊标志的mangle。

显示:iptables [-t tables] [-L] [-nv]

清除:iptables [-t tables] [-FXZ],F:清除所有;X:所有自定义;Z:将所有chain的计数与流量清零;

定义默认规则(当规则都不匹配时按默认规则处理):iptables –P [INPUT, OUTPUT, FORWARD] [ACCEPT, DROP]

插入规则:iptables [-AI链名] [-io网络接口] [-p协议] [-s源IP] [--sport源端口] [-d目标IP] [--dport目的端口] –j [ACCEPT|DROP|REJEDCT|LOG]

参数说明:A:在后面新增;I:在前面新增;LOG将包信息写入/var/log/messages,然后接着比对后续的规则。

iptables –A INPUT [-m state] [--state状态]

m:iptables的外挂模块,如state、mac;--state:封包的状态,INVALID|ESTABLISHED|NEW|RELATED

这个命令减少规则的个数,让iptables去分析包的状态。

/etc/init.d/iptables save保存设定的规则

自定义链:-J链名这样,匹配的数据包会进入自定义链中,如果有匹配规则,则结束;如果没有,则接着在父链匹配。

SNAT主要是应付内部LAN连接到Internet的使用方式,至于DNAT则主要用在内部主机想要架设可以让Internet存取的服务器。

2数据包流向策略

若内部LAN有任何一部主机想要传送封包出去时,那么这个封包要如何透过Linux主机而传送出去?它是这样的:

1.先经过NAT table的PREROUTING链;

2.经由路由判断确定这个封包是要进入本机与否,若不进入本机,则下一步,若进入本机就是进入INPUT链;

3.再经过Filter table的FORWARD链;

4.通过NAT table的POSTROUTING链,最后传送出去(如果是来自本机进程的数据包,则会检查OUTPUT以及POSTROUTING)。

这里,POSTROUTING在修改源IP(SNAT),PREROUTING则修改目标IP(DNAT)。

处理动作除了ACCEPT、REJECT、DROP、REDIRECT和MASQUERADE以外,还多出LOG、ULOG、DNAT、SNAT、MIRROR、QUEUE、RETURN、TOS、TTL、MARK等,其中某些处理动作不会中断过滤程序,某些处理动作则会中断同一规则链的过滤,并依照前述流程继续进行下一个规则链的过滤。

3TCP wrappers

TCP wrappers通过应用程序的名称和相应的规则来判断包的拒绝与否,通过/etc/hosts.allow, /etc/hosts.deny来管理一个类似于防火墙的机制,前者优先级较高。并非所有的软件都可以控管,只有:

§由super daemon(xinetd)所管理的服务(即配置文件在/etc/xinetd.d/,查看命令:chkconfig xinetd on; chkconfig --list);

§有支持libwrap.so模块的服务;

示例:

ALL: 127.0.0.1 <==这就是本机全部的服务都接受!

rsync: 192.168.1.0/255.255.255.0 10.0.0.100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值