SNAT:
SNAT是Linux防火墙的一种地址转换操作,也是iptables 命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的源IP地址。
SNAT应用环境:
局域网主机共享单个公网IP地址Internet(私有IP不能在Internet中正常路由)
SNAT转换时的情况:
已设置SNAT转换时的访问情况:
SNAT转换前提条件:
- 局域网各主机已正确设置IP地址、子网掩码、默认网关地址
- Linux网关开启IP路由转发
SNAT转换1:固定的公网IP地址
SNAT转换2:非固定的公网IP地址(共享动态IP地址)
Linux网关服务器打开IP路由转发
1、内网PC端win10设置内网IP以及网关
2、外网Linux的web服务器的相关设置
3、内网PC端ping外网和网关测试
4、查看外网web服务器的日志文件tail /var/log/httpd/access_log,查看访问网址是否修改为12.0.0.1,即SNAT转换是否成功
DNAT:
简介:
DNAT:目标地址转换,是Linux防火墙的另一种地址转换操作,同样也是iptables命令中的一种数据包控制类型
作用:
根据指定条件修改数据包的目标IP地址和目标端口
对比SNAT:
DNAT和SNAT非常相似,只不过应用方向相反。SNAT用来修改源IP地址,而DNAT用来修改目标Ip地址和目标端口;SNAT只能用在nat表的POSTROUTING链中,而DNAT只能用在nat表的PREROUTING链会让OUTPUT链(或被其调用的链)中。
通过DNAT策略发布内网服务器:
DNAT转换1:发布内网的Web服务
DNAT转换2:发布时修改目标端口
规则的导入、导出
备份所有表的规则:
还原规则表:
Linux抓包:
- tcp∶ ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
- -i ens33 ∶只抓经过接口ens33的包
- -t ∶不显示时间戳
- -s 0 ∶ 抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包
- -c 100 ∶只抓取100个数据包
- dst port ! 22 ∶不抓取目标端口是22的数据包
- src net 192.168.1.0/24 ∶数据包的源网络地址为192.168.1.0/24。Net:网段,host:主机
- -w ./target.cap ∶ 保存成cap文件,方便用ethereal (即wireshark)分析