大家好,又见面了,我是你们的朋友全栈君。
网络访问控制:netfilter模块,可以对数据进行允许、丢弃、修改操作 数据包分类:源IP地址、目标IP地址、使用接口、使用协议、端口号、连接状态 过滤点:input、forward、output、prerouting、postrouting 功能点:filter、nat、mangle
规则: iptables的基本语法格式 iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]
防火墙处理数据包的四种方式 ACCEPT 允许数据包通过 DROP 直接丢弃数据包,不给任何回应信息 REJECT 拒绝数据包通过,必要时会给数据发送端一个响应的信息。 LOG 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则
IPTables配置 最好配置第一条iptables规则为允许来自客户端主机的SSH。 iptables配置文件:/etc/sysconfig/iptables 通过iptables添加的规则不会永久保存。如果需要永久保存,可以执行service iptables save将iptables规则保存在/etc/sysconfig/iptables。 CentOS/RHEL系统会带有默认iptables规则,保存自定义规则会覆盖这些默认规则。
iptables通过规则对数据进行访问控制 一个规则使用一行配置 规则按顺序排列 当收到、发出、转发数据包时,使用规则对数据包进行匹配,按规则顺序进行逐条匹配 数据包按照第一个匹配上的规则执行相关动作:丢弃、放行、修改 没有匹配规则,则使用默认动作(每个chain拥有各自的默认动作)
常用功能: 做为服务器使用:过滤到本机的流量、过滤到本机发出的流量 作为路由器使用:过滤转发的流量、对转发数据的源/目标IP进行修改
基本操作: 列出现有iptables规则:iptables -L 插入一个规则:iptables -I INPUT 3 -p tcp –dport 22 -j ACCEPT 删除一个iptables规则:iptables -D INPUT 3 iptables -D INPUT -s 192.168.1.1 -j DROP 删除所有规则:iptables -F
匹配参数: 基于IP地址:-s 192.168.0.1 -d 192.168.0.2 基于接口:-i eth0 -o eth1 基于协议及端口:-p tcp –dport 22 -p udp –sport 53 -p icmp 取反参数:’l’ -s ‘l’ 192.168.1.1/24
常用NAT: 通过NAT进行跳转:iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-dest 192.168.1.10 通过NAT对出向数据进行跳转:iptables -t nat -A OUTPUT -p tcp –dport 80 -j DNAT –to-dest 192.168.1.10:8080 通过NAT对数据流进行伪装:iptables -t nat -A PREROUTING -o eth0 -j MASQUERADE 通过NAT隐藏源IP地址:iptables -t nat -A PREROUTING -j SNAT –to-source 1.2.3.4
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163422.html原文链接:https://javaforall.cn