一、定义
文章核心内容定义。
二、nat
2.1 SNAT
2.1.1 工作原理
- 源地址转换:POSTROUTING链,将私网IP转换为公网IP,并随机赋予一个端口号,使私网能够访问公网
- 目的地址转换:PREROUTING链,通过出站时赋予的端口号,将公网转换为私网IP,找到私网内对应主机
- 局限性:一个局域网内,一般只能实现100-200台主机同时使用
2.1.2 案例
iptables -nL -t nat #查看nat表中的链规则 iptables -F -t nat #清空nat表中的链规则 iptables -t nat -A POSTROUTING -s 192.168.13.0/24 -o ens33 -j SNAT --to 12.0.0.1 #将从ens33网卡出去的网段为192.168.13.0的源地址转换为网段为12.0.0.1的源地址(此时会随机赋予一个端口号,仅作为接收回信确认主机时使用)
2.2 DNAT
2.2.1 工作原理
- 目的地址转换:POSTROUTING链,将指向服务器公网IP转换为指向服务器对应的私网IP
- 端口转换:将外网访问指定的端口,通过转换变为内网对应的端口号
- 意义:保护服务器IP地址不会暴露在公网之中
2.2.2 案例
iptables -t nat -Aiptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.13.20:80 #将从ens33网卡进来的,目的IP为12.0.0.1,协议为tcp,端口为80的数据,转换为目的为192.168.13.20,端口80
三、filter
3.1 案例
iptables -t filter -A INPUT -i ens33 -p icmp -j REJECT #设置filter表中INPUT链默认拒绝所有从ens33网卡传输进来的icmp协议数据包 iptables -t filter -I INPUT 1 -i ens33 -p icmp -s 192.168.13.0/24 -j ACCEPT #在filter表的INPUT链的第一条规则上方,插入允许从ens33网卡进来的192.168.13.0网段的icmp协议的数据包
三、规则保存
3.1 iptables防火墙加载顺序
- 默认加载规则:/etc/sysconfig/iptables(每次重启防火墙都会自动加载该配置文件的内容)
- 导出防火墙规则:iptables-save > 路径(将现在防火墙的规则,导出到指定文件,也可覆盖默认配置文件)
- 导入防火墙规则:iptables-restore < 路径(将指定路径文件中的防火墙规则加载并执行)
四、数据抓包
4.1 tcpdump
- tcpdump 协议 选项 参数(协议必须放在第一个位置,声明抓取协议类型)
选项 | 作用 |
-i 网卡 | 抓取经过指定网卡的数据包 |
-t | 不显示时间戳 |
-s 0 | 抓取完整的数据包(否则默认抓取68字节) |
-c 数量 | 抓取指定数量的包 |
dst port 端口 | 抓取经过指定端口的数据包 |
! | 取反抓取 |
src net IP/掩码 | 抓取指定IP地址传输的数据包 |
-w 路径.cap | 将数据包保存为cap文件,方便分析 |
五、思维导图