linux基础10(防火墙管理)
Linux防火墙
-
linux系统中,在X86架构的CPU上,是如何执行内核程序和用户程序的
- ring0:与硬件相关或者硬件寄存器,总线控制相关的程序
- ring1-2:驱动程序或者虚拟化相关的程序
- ring3:用户态的程序
-
防火墙basic:
- 网络防火墙,主机防火墙
- 硬件防火墙,软件防火墙
网络安全知名企业:深信服,思科,天融信
1、四表:
-
filter:过滤(INPUT、FORWARD、OUTPUT)
-
nat:网络地址装欢功能(PREROUTING、POSTROUTING、OUTPUT)
-
raw:关闭那天表上旗营的连接追踪机制(PREROUTING、OUTPUT)
-
mangle:拆解报文,最初修改并重新封装(OUTPUT、INPUT、PREROUTING、POSTROUTING、FORWARD)
四表在同一个链中有顺序:raw>mangle>nat>filter
2、五链:
-
INPUT:(raw表、mangle表、nat表)
-
OUTPUT:(raw表、mangle表、nat表、filter表)
-
FORWARD:(mangle表、filter表)
-
PREROUTING:(raw表、mangle表、nat表)
-
POSTROUTING:(mangle表、nat表)
iptables/firewalld——位于用户空间——防火墙管理工具——调用内核模块
netfilter——真正的防火墙——在内核中的模块
3、iptables:
-
iptables -L:查看所有规则
-
iptables -t filter -L:查看指定表的规则
-
iptables -nL:把地址转换成IP
-
iptables -nvL:查看详细信息
-
iptables -nvl --line-number:给链下的每个规则加序号
-
iptables -F:清空所有规则
-
iptables -t filter -D INPUT 1:删除指定链中的指定规则
4、源端口、目的端口、源地址、目的地址
192.168.15.7请求访问192.168.15.111
192.168.15.7就是源地址
192.168.15.111就是目的端口
源端口就是指本地端口
目的端口就是指远程端口
源端口和目的端口只是数据的发送方向的问题,其实就是数据通过防火墙的方向是向内还是向外,源端口就是本机程序用来发送数据的端口,目的端口就是对方主机用哪个端口接收,如果我们把防火墙的目的端口关闭的话,也就是自己的数据段无法到达目的地,因为数据段在发送过程中,防火墙检测到这个目的端口不允许出去。
也可以这么理解,封目的端口,自己出不去,封源端口,别人进不来
5、增规则
- 拒绝所有源地址为192.168.15.111的请求(外边不能进,不能进的规则在INPUT链上)
- 丢弃所有源地址为192.168.15.111的请求(外边不能进,不能进的规则在INPUT链上)
- 丢弃所有目标地址为192.168.15.111的请求(里边出不去,出不去的规则要在OUTPUT链上)
- 在尾部追加规则用A(默认顺序是设置的新规则位于第一条)
- 向指定位置添加规则
- 拒绝源地址为192.168.15.111的通过ICMP协议的请求(通过httpd服务测试,禁ping,不禁curl 80)
- 禁止源地址为192.168.15.111对目标端口为80的请求(7能curl通111的80端口,111curl不通7的80端口)
- 拒绝192.168.15.0/24网段通过ICMP协议的请求(ping不通,能curl通)
6、删规则
- 删除所有规则
- 删除指定链中的指定规则
- 删除指定规则
7、改规则
- 修改接收为拒绝(原本为接收,注意—R要带规则号)
8、查规则
- 打印出来的规则带行号,改成可视化IP地址
9、保存规则
- 修改后的所有规则都是临时的,当重启服务或者重启机器就会消失,所以我们需要保存到文件中
防火墙的规则保存在/etc/sysconfig/iptables中
- 只将规则输出到屏幕
9、保存规则
- 修改后的所有规则都是临时的,当重启服务或者重启机器就会消失,所以我们需要保存到文件中
防火墙的规则保存在/etc/sysconfig/iptables中
- 只将规则输出到屏幕