linux中的防火墙之iptables

来源:互联网 发布:域名主机记录 编辑:程序博客网 时间:2024/05/18 00:58

1、相关概念:

规则:其实就是管理员预设定的的条件,规则存储在内核空间的信息过滤表中,这些规则分别指定了源地址,目的地址,传输协议及服务类型等所有待检查数据包的特征和目标。当数据包与规则不匹配时,将该数据包送往该链中下一条规则检查;当数据包与规则匹配时,iptables就根据规则所定义的方法处理数据包,如通过(ACCEPT),丢弃(DROP),拒绝(REJECT),排队(QUEUE)或者返回(RETURN)等。
链:链是数据包传播的路径,每个链其实就是众多规则中的一个检查清单,每条链中可以有一条或者数条规则。
表:表是包含仅处理特定类型信息包的规则和链的信息包过滤表。iptables内置了三种表:filternatmangle,分别用于实现包过滤,网络地址和包重构功能。

Filter-----过滤表
Nat--------
网络地址转换表
mangle-----
数据包处理表
INPUT
----处理输入包的规则链
OUTPUT
---处理输出包的规则链
FORWORD----
处理转发包的规则链
PREROUTING-
对到达且未经路由判断之前的包进行处理的规则链


1filter表是iptables的默认表,如果没有指定使用那个表,iptables默认使用filter表执行所有的命令。filter表包含了INPUT链(处理进入的数据包),FORWORD链(处理转发的数据包)和OUTPUT链(处理本地生成的数据包)。


2nat表主要用于进行网络地址转换。nat表有OUTPUTPREROUTINGPOSTROUTING三种链形式

3)相关参数

-t指定表名称,-n不做解析,-L列出指定表中策略,-A增加策略,-p协议,--dport端口,-s数据来源,-j动作,ACCEPT允许,DROP丢弃,REJECT拒绝,

-N增加链,-E修改链的名称,-X删除链,-D删除指定策略,-I插入指定策略,-R修改指定策略,-P修改默认策略


2、服务安装启动

yuminstall iptables-services ---安装管理工具

systecmtlstop firewalld ---为了防止相互影响,所以关掉firewalld

systemctlstart iptables

3、相关命令(策略按表中顺序从上到下依次执行)

iptables-F ---刷新策略

serviceiptables save ---保存当前策略

iptables-nL ---显示当前策略


iptables-A INPUT -i lo -j ACCEPT ---允许访问本机访问

iptables-A INPUT -s 172.25.254.200 -p tcp --dport 22 -j ACCEPT ---允许访问22端口

iptables-A INPUT -p tcp --dport 80 -j ACCEPT ---允许200主机访问80端口

iptables-A INPUT -j REJECT ---拒绝所有主机访问

可以通过在200主机ssh登陆100主机测试,在50主机ssh测试


200100主机分别在浏览器登陆


目的地址与源地址转换:

iptables-t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.239 ---源地址转换为239主机地址

iptables-t nat -A PREROUTING -i eth0 -d 172.25.254.239 -j DNAT --to-dest

172.25.39.139 ---目的地址转为139


sysctl-a | grep ip_forward ---查看内核路由功能打开与否,如果未打开修改其配置文件打开内核路由功能

vim/etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl-p ---让上述生效


测试