概述
目录
SNAT策略及应用
SNAT策略概述
开启SNAT的命令
临时打开
永久打开
SNAT转换1:固定的公网IP地址
SNAT转换2:非固定的公网IP地址(共享动态IP地址)
SNAT案例
实验准备
配置网关服务器(192.168.217.254/12.0.0.254)的相关配置
配置外网服务器(12.0.0.12)的相关配置
修改客户端
ping一下网关和外网服务器
开启ip转发功能
实验内外网访问
配置网关服务器的iptables规则
小知识扩展
DNAT策略与应用
DNAT应用环境
DNAT原理
DNAT转换前提条件
DNAT转换1∶ 发布内网的Web服务
DNAT转换2∶ 发布时修改目标端口
DNAT案例
修改客户端
修改内网服务器
在网关服务器添加iptables规则
测试外网是否能访问内网
规则的备份及还原
tcpdump—Linux抓包
SNAT策略及应用
SNAT策略概述
SNAT 应用环境
局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由
SNAT原理
源地址转换,Source Network Address Translation
修改数据包的源地址
SNAT转换前提条件
局域网各主机已正确设置IP地址、子网掩码、默认网关地址
Linux网关开启IP路由转发
开启SNAT的命令
查看当前服务器的路由表
临时打开
echo 1 >/proc/sys/net/ipv4/ip_forward
或
sysctl -w net.ipv4.ip forward=1
永久打开
vim /etc/ sysctl. conf
net. ipv4.ip_ forward = 1 #将此行写入配置文件
sysctl -P #读取修改后的配置
SNAT转换1:固定的公网IP地址
#配置SNAT策略,实现snat功能,将所有192.168.217.0这个网段的ip的源ip改为10.0.0.1
iptables -t nat -A POSTROUTING -s 192.168.217.0/24 -o ens33 -j SNAT --to 10.0.0.1
可换成单独IP 出站外网网卡 外网IP
或
iptables -t nat -A POSTROUTING -s 192.168.217.0/24 -o ens33 -j SNAT --to-source 10.0.0.1-10.0.0.10
内网IP 出站外网网卡 外网IP或地址池
SNAT转换2:非固定的公网IP地址(共享动态IP地址)
iptables -t nat -A POSTROUTING -s 192.168.127.0/24 -o ens33 -j MASQUERADE
SNAT案例
实验准备
配置网关服务器(192.168.217.254/12.0.0.254)的相关配置
添加一块网卡
复制并修改ens36卡
#切换至网卡配置文件所在目录
[root@localhost network-scripts]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
修改ens33网卡
修改ens36网卡
重启网卡
配置外网服务器(12.0.0.12)的相关配置
修改ens33网卡
重启网卡
如果有多张网卡,单独重启一张网卡
ifdown ens33 ; ifup ens33
安装阿帕奇服务
yum install httpd -y
如果安装不上的话,搭个本地仓库
修改客户端
ping一下网关和外网服务器
外网服务器ping不通的话去网关服务器修改内核的配置文件
开启ip转发功能
修改内核的配置文件
vim /etc/sysctl.conf
net. ipv4.ip_ forward = 1 #将此行写入配置文件
sysctl -p #读取修改后的配置
实验内外网访问
登陆外网服务器
查看外网的http访问日志,跟踪一下
配置网关服务器的iptables规则
安装iptables,关闭防火墙和selinux,开启iptables
[root@localhost network-scripts]#yum install -y iptables*
@localhost network-scripts]#systemctl stop firewalld.service
[root@localhost network-scripts]#setenforce 0
[root@localhost network-scripts]#systemctl start iptables.service
查看网关服务器的iptables规则并清除
iptables -nL #查看规则
iptables -nL -t nat #查看规则
iptables -F #清除iptables的规则
iptables -F -t nat #清除iptables的规则
iptables -t -nat -A POSTROUTING 修改源地址 -s 指定局域网网段网关 -o 出站网卡 -j 控制类型 --to 指定要转换成的公网ip
客户端重新访问外网服务器,再查看外网的http访问日志
实现了地址转换
小知识扩展
一个IP地址做SNAT转换,一般可以让内网100到200台主机实现上网。
专业的事情要让专业的设备去干,让专业的硬件防火墙或专业的路由器干会更好
DNAT策略与应用
DNAT应用环境
在Internet中发布位于局域网内的服务器
DNAT原理
目标地址转换,Destination Network Address Translation
修改数据包的目标地址
DNAT转换前提条件
局域网的服务器能够访问Internet
网关的外网地址有正确的DNS解析记录
Linux网关开启IP路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
DNAT转换1∶ 发布内网的Web服务
iptables -t nat -A PREROUTING (修改目的地址) -i 指定从哪个网卡进入数据 -d 指定外网来的数据包的目的ip -p 指定tcp协议 --dport 数据包的目的端口 -j DNAT --to 端口
iptables -t nat -A PREROUTING (修改目的地址) -i 指定从哪个网卡进入数据 -d 指定外网来的数据包的目的ip -p 指定tcp协议 --dport 数据包的目的端口 -j DNAT --to 端口
#把从ens36进来的要访问web服务的数据包目的地址转换为 192.168.217.20:80
iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.254 -p tcp --dport 8080 -j DNAT --to 192.168.217.20:80
DNAT转换2∶ 发布时修改目标端口
#发布局域网内部的OpenSSH服务器, 外网主机需使用80端口进行连接
ciptables -t nat -A POSTROUTING -s 192.168.217.80/24 -o ens36 -j SNAT --to 12.0.0.254
DNAT案例
修改客户端
修改内网服务器
在网关服务器添加iptables规则
#先清空规则
[root@localhost yum.repos.d]#iptables -F -t nat
#添加规则
测试外网是否能访问内网
在内网服务器中重启httpd服务
[root@localhost network-scripts]# systemctl restart httpd
[root@localhost network-scripts]# cd /var/www/html
[root@localhost html]# vim index.html 更改网页内容
在内网服务器上实时跟踪一下
规则的备份及还原
备份
重定向输出
删除规则并查看
实现快速还原,重定向输入从文件读取
保存到默认配置文件当中
iptables-save >/etc/sysconfig/iptables 重定向输入到默认配置文件当中
清楚规则关掉iptables
再查看nat
已经成功了
tcpdump—Linux抓包
tcpdump tcp-i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
(1)tcp∶ ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i ens33 ∶只抓经过接口ens33的包
(3)-t ∶不显示时间戳
(4)-s 0 ∶ 抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包
(5)-c 100 ∶只抓取100个数据包
(6)dst port ! 22 ∶不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 ∶数据包的源网络地址为192.168.1.0/24。Net:网段,host:主机
(8)-w ./target.cap ∶ 保存成cap文件,方便用ethereal (即wireshark)分析
最后
以上就是飞快水杯为你收集整理的Linux防火墙iptables之SNAT与DNATSNAT策略及应用DNAT策略与应用规则的备份及还原tcpdump—Linux抓包的全部内容,希望文章能够帮你解决Linux防火墙iptables之SNAT与DNATSNAT策略及应用DNAT策略与应用规则的备份及还原tcpdump—Linux抓包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复