千家信息网

iptables防火墙基础

发表于:2024-10-04 作者:千家信息网编辑
千家信息网最后更新 2024年10月04日,一、iptables基础:1、了解iptables防火墙。(1)iptables的表:按照功能的不同表分为raw(状态跟踪)、mangle(标记)、nat(地址修改)、filter(过滤)。(2)ip
千家信息网最后更新 2024年10月04日iptables防火墙基础

一、iptables基础:

1、了解iptables防火墙。

(1)iptables的表:按照功能的不同表分为raw(状态跟踪)、mangle(标记)、nat(地址修改)、filter(过滤)。

(2)iptables规则链:按照不同时机链分为INPUT(入站)、OUTPUT(出站)、FORWARD(转发)、PREROUTING(路由前)、POSTROUTING(路由后);

在链中存放规则:

filter: INPUT/FORWARD/OUTPUT

nat: PREROUTING/POSTROUTING/OUTPUT

mangle: PREROUTING/INPUT/FORWARD/OUTPUT/POSTROUTING

raw: PREROUTING/OUTPUT

2、iptables匹配流程:根据数据流的方向确定匹配顺序;

入站数据流向:PREROUTING --> INPUT

出战数据流向:OUTPUT --> POSTROUTING

转发数据流向:PREROUTING --> FORWARD --> POSTROUTING;

(1)表的匹配顺序:

raw --> mangle --> nat --> filter

(2)链的匹配顺序:根据数据流的方向确定匹配顺序。

(3)链内规则匹配顺序:从上到下,匹配即停止未匹配使用默认规则。

二、编写iptables规则:

语法:iptables -t 表名 选项 链名 条件 -j 动作

1、编写iptables语法注意:

(1)省略表名,表示filter表,省略链名,表示表内所有链

(2)除非设置默认规则,否则必须设置匹配的规则

(3)选项,链名,动作必须大写,其他小写

2、动作:对匹配条件进行处理,常见有:

ACCEPT:允许; DROP:丢弃; REJECT:拒绝; LOG:日志;

3、选项:

对链进行的规则的增、删、改、查操作。

(1)增加:-A链的末尾添加、-I链的制定位置添加。

(2)删除:-D删除一条规则、-F清空链内所有规则

(3)查看:-L -n 查看规则、-L -n -V 显示更详细的信息、-L -n --line-number显示规则序号。

(4)设置默认规则:-P 链名 DROP或者ACCEPT

4、匹配条件:

(1)通用的匹配条件:

-P 协议 ##常用ICMP/UDP/TCP

-s 源地址,-d 目的地址 ##能确认的地址

-i 入站接口, -o 出战接口 ##注意数据流向,如INPUT只能用-i

(2)隐含匹配条件:

端口:-p 协议 --dport 目的端口 或 --sport 源端口

ICMP类型:-p icmp --icmp-type 8请求 或 0返回 或 3网络不可达

TCP标识:-p tcp --tcp-flags 范围 标记 (syn,ack,fin,rst)

(3)显示匹配条件:

多端口:-m multiport -p tcp或udp --dports 端口1,端口2,端口:端口

ip地址范围:-m --iprange --src-range ip1-ip2

mac地址:-m mac --source-mac MAC地址

状态:-m state --state NEW,ESTABLISHED,RELATED (NEW新建,ESTABLISHED已经建立连接,RELATED和已经建立的任务已经相关)


三、企业服务器防火墙设置实战:

/etc/init.d/iptables stop ##清空规则,包括默认

iptables -A INPUT -i lo -j ACCEPT ##允许本地所有访问

iptables -A INPUT -p tcp -m -multiport --dports 80,443,20,21,45000:50000 -j ACCEPT ##开放本地所有端口

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ##本机可以访问其他主机

iptables -p INPUT DROP ##设置INPUT的默认规则

iptables -p FORWARD DROP ##禁止转发

/etc/init.d/iptables save ##保存规则

chkconfig iptables on ##开机启动

0