文章目录
iptables防火墙2
1 SNAT
1.1 原理
修改数据包的源地址
1.2 应用环境
局域网主机共享单个公网IP地址接入Internet
1.3 转换前提条件
1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址
2.Linux网关开启IP路由转发
-
临时打开
- echo 1 > /proc/sys/net/ipv4/ip_forward
- sysctl -w net.ipv4.ip_forward=1
-
永久打开
-
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1sysctl -p
-
1.4 SNAT转换
iptables -t nat -A POSTROUTING -s 内网IP -o 外网网卡 -j SNAT --to <外网IP或地址池>
2 DNAT
2.1 原理
修改数据包的目的地址
2.2 应用环境
在Internet中发布位于局域网内的服务器
2.3 转换前提条件
1.局域网的服务器能够访问Internet
2.网关的外网地址有正确的DNS解析记录
3.Linux网关开启IP路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1sysctl -p
3 SNAT转换
首先准备三台虚拟机,一台对内,一台对外,网关服务器的虚拟机
给两个对内和对外的服务器yum -y install httpd服务,做网关服务器的虚拟机的这台添加一个网卡
关防火墙,关安全机制
此时网关服务器的虚拟机有两个网卡,一个对内,一个对外,将对外的这台设为仅主机模式
3.1 先配置作为网关服务器的虚拟机
3.2 修改ens33的网卡
3.3 修改ens36的网卡
3.4 开启PC2网关服务器的路由转发功能
vim /etc/sysctl.conf
3.5 永久开启
3.6 配置对外虚拟机的网卡,设置仅主机
3.7 配置对内虚拟网卡
3.8 去网关服务器的虚拟机配置SNAT和DNAT
4 tcpdump
用tcpdump抓,然后sz下载到本机,用wireshark来分析
tcpdump tcp -i ens33 -t -s0 -c 100 and dst port 80 and src net 192.168.233.0/24 -w ./target.cap
tcp∶ ip、icmp、arp、rarp 和 tcp、udp、icmp
-i ens33 :只抓经过接口ens33的包。
-t:不显示时间戳
-s0 :抓取数据包时默认抓取长度为68字节。加上"-s0"后可以抓到完整的数据包。
-c 100 :只抓取100个数据包。
dst port ! 22 :不抓取目标端口是22的数据包。
src net 192.168.233.0/24 :数据包的源网络地址为192.168.233.0/24。Net:网段,host:主机。
-w ./target.cap ∶ 保存成cap文件,方便用ethereal (即wireshark)分析