iptables防火墙
应用场景
1.主机防火墙
2.内部共享上网
3.端口和ip映射
iptables工作流程
1.规则匹配顺序是从上往下的依次执行
2.只要匹配上,就不在往下匹配
3.如果没有匹配到明确的规则,就匹配默认的规则(默认是允许所有,可以修改)
4.防火墙默认的规则是在所有设置规则最后执行的
iptables四表五链
1.Filter表
2.NAT表
3.Managle表
4.Raw表
1.INPUT 作用:用于指定到本地套接字的包
2.FORWARD 作用:通过路由的数据包
3.OUTPUT 作用:本地创建的数据
4.PREROUTING 作用:对进来的数据包,立马进行改变
5.POSTRUTING 作用:在数据包即将出去的时候进行改变数据包信息
1.Filter表
主要作用就是阻止和允许访问
包含的链:
1.INPUT:过滤进入主机的数据包
2.FORWARD:负责转发流经主机的数据包
3.OUTPUT:处理从主机出去的数据包
2.NAT表
主要作用就是端口和IP转发
包含的链:
1.OUTPUT:处理从主机出去的数据包
2.PREROUTING:在数据包到达防火墙是进行判断,改写数据包目的地址或端口(端口转发)
3.POSTRUTING:在数据包到达防火墙是进行判断,改写数据包目的地址或端口(局域网共享上网)
iptables准备
1.安装iptables管理命令
[root@m01 ~]
2.加载防火墙的内核模块
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
3.停止firewalld,启动iptables
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
iptables常用操作
1.查看防火墙规则(默认查看filter表)
[root@m01 ~]
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@m01 ~]
2.查看防火墙规则,指定nat表
[root@m01 ~]
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
[root@m01 ~]
3.清除防火墙规则
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
[root@m01 ~]
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@m01 ~]
4.添加防火墙规则
[root@m01 ~]
iptables 命令
-t 指定表
-A 添加规则至最后
-p 指定协议
--dport 指定目标端口
-j 指定匹配后动作
DROP 丢掉,拒绝该请求
ACCEPT 接受,允许该请求
5.删除防火墙规则
[root@m01 ~]
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
[root@m01 ~]
[root@m01 ~]
iptables实战
1.禁止某个端口访问
[root@m01 ~]