
iptables认识,规则简单使用及持久化保存(Linux)
Linux,iptables规则配置,iptables持久化保存
一、iptables的四表五链
规则的作用是对数据包进行过滤或处理;链的作用是容纳各种防火墙规则;链的分类依据是处理数据包的不同时机
INPUT、OUTPUT链主要用在"主机型防火墙"中,即主要针对服务器本机进行保护的防火墙;而FORWARD、PREROUTING、POSTROUTING链多用在"网络型防火墙"中
总共有五种5种规则链,分别是
- INPUT:处理入站数据包
- OUTPUT:处理出站数据包
- FORWARD:处理转发数据包
- POSTROUTING链:在进行路由选择后处理数据包(对数据链进行源地址修改转换)
- PREROUTING链:在进行路由选择前处理数据包(做目标地址转换)
-
规则链之间的顺序
- 入站:PREROUTING->INPUT
- 出站:OUTPUT->POSTROUTING
- 转发:PREROUTING->FORWARD->POSTROUTING
表的作用是容纳各种规则链;表的划分依据是防火墙规则的作用相似
二、iptables执行过程
1.防火墙是层层过滤的,从上到下,从前到后进行过滤
2.如果匹配成功规则,即明确表示是拒绝(DROP)还是接收(ACCEPT),数据包就不再向下匹配新的规则。
3.如果规则中没有明确表明是阻止还是通过的,也就是没有匹配规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
4.防火墙的默认规则是所有规则都匹配完才会匹配的。
规则简单使用
1.拒绝某个ip接入
iptables -I INPUT -s 10.0.0.7 -j DROP
2.只允许指定网段接入(允许172.16.1.0/24)
iptables -I INPUT ! -s 172.16.1.0/24 -j DROP
3.禁止网段连入(禁止10.0.0.0/24网段访问 8888端口)
iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 8080 -j DROP
4.禁止访问22端口
iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
说明:
命令:iptables
指定表: -t filter
指定链INPUT:-A INPUT (追加规则) 插入规则 -I 删除规则 -D
具体要求(端口,协议):-p tcp/udp/icmp
端口:--dport ( 目标端口)--sport(源端口)
动作:-j DROP(丢弃) -j ACCEPT (允许)
5.拒绝访问多个端口
iptables -I INPUT -p tcp --match multiport --dports 5900,5901,5903,5911 -j DROP
查看iptables规则,查看当前系统上的防火墙规则和统计信息
iptables -nvL
-------------------------------------------------------------------------------------------------------------
iptables的持久化保存,避免重启系统后配置的iptables策略消失(centos和ubantu系统为例)
ubantu配置好规则后执行下面四个步骤:
1.
mkdir /etc/iptables
2.
iptables-save > /etc/iptables/rules.v4
3.
vi /etc/systemd/system/iptables.service
[Unit]
Description=Load iptables rules
Before=network.target
[Service]
ExecStart=/sbin/iptables-restore /etc/iptables/rules.v4
ExecReload=/sbin/iptables-restore /etc/iptables/rules.v4
Type=oneshot
[Install]
WantedBy=multi-user.target
4.
systemctl enable iptables.service
systemctl start iptables.service
--------------------------------------------------------------
centos配置好规则后执行:
mkdir /etc/iptables
iptables-save > /etc/iptables/rules.v4
echo "iptables-restore < /etc/iptables/rules.v4" >> /etc/rc.local
更多推荐
所有评论(0)