Linux网络—iptables防火墙原理及配置—NAT地址转换实验

一、SNAT策略及应用

1.1 SNAT策略概述

  • SNAT策略的典型应用环境
  • 局域网主机共享单个公网IP地址接入Internet
  • SNAT策略的原理
  • 源地址转换,Source Network Address Translation
  • 修改数据包的源地址

1.2 SNAT的典型应用环境

  • 局域网共享上网
    应用环境

1.3 SNAT策略的工作原理

1.3.1 未作SNAT转换时的情况

未作SNAT转换时的情况
因为私网地址是不可以直接访问公网的,如果不做转换,路由那边会形成黑洞抹杀数据

1.3.2 进行SNAT转换后的情况(私网转公网)

进行SNAT转换后的情况(私网转公网)
首先局域网PC机向Web服务器发送服务请求,源ip为192.168.1.234,目标ip为58.63.236.45,因为SNAT策略,网关服务器在数据进行路由选择后处理数据包,然后将私网的源地址转换成公网的地址,访问公网Web服务器

二、DNAT策略及应用

2.1 DNAT策略概述

  • DNAT策略的典型应用环境
    • 在Internet中发布位于企业局域网内的服务器
  • DNAT策略的原理
    • 目标地址转换,Destination Network Address Translation
    • 修改数据包的目标地址

2.2 DNAT的典型应用环境

  • 在Internet中发布内网服务器
    在Internet中发布内网服务器

2.3 DNAT策略的工作原理

2.3.1 进行DNAT转换后的情况(公网转私网)

进行DNAT转换后的情况
客户机源地址:173.96.97.98 目标地址:218.29.30.31 向内网的Web服务器发出服务请求,因为DNAT策略,网关服务器在进行路由选择前处理数据包,将客户机数据的目标218.29.30.31换成192.168.1.6,这样就能访问私网服务器了

2.4 DNAT策略的应用

  • 前提条件
    • 局域网的Web服务器能够访问Internet
    • 网关的外网IP地址有正确的DNS解析记录
    • Linux网关支持IP路由转发
  • 实现方法示例:
[root@localhost ~]# iptables -t nat -A PREROUTING -i ens33-d 218.29.30.31-p tcp --dport 80 -j DNAT --to-destination 192.168.1.6
  • 发布时修改目标端口
    • 在DNAT规则中以“IP:Port”的形式指定目标地址
[root@localhost~]# iptables -t nat -A PREROUTING -i ens33-d 218.29.30.31-p tcp --dport 2346 -j DNAT --to-destination 192.168.1.6:22

三、规则的备份及还原

3.1保存防火墙规则

  • iptables-save
    • 由于iptables-save 命令只是把规则内容输出到屏幕上,因此当需要保存为固定的文件时,还需结合重定向输出的操作以完成备份。

3.2备份防火墙规则

  • iptables-save > /opt/iprules_all.txt
    • 将iptables规则保存到opt目录里iprules_all.txt

3.3 导入(还原)规则

  • iptables-restore < /opt/iprules_all.txt
    • 将保存了规则的文本导入到iptables里面

3.4 清空所有防火墙规则

  • 停用iptables服务即可一次清空所有表的规则
systemctl  stop iptables
systemctl  status iptables

3.5 设置具体的iptables规则

  • 清理已有的规则
    • 为了避免已有的防火墙规则造成干扰,通常会预先安排一个“清理”操作,删除所有表中用户自定义的链,清空所有链内的规则
$IPT   -t  filter  -X   //删除各表中自定义的链
$IPT   -t  filter  -F   //清空各表中已有的规

四、实验

4.1 Windows客户机设置

设置
设置

4.2 web服务器设置

  • 网卡为NAT模式,安装httpd服务
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
  • 修改为仅主机模式
    设置
  • 编辑网卡,设置IP地址
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
...省略内容
BOOTPROTO="static"	'//将dhcp修改为static'
...省略内容,末尾添加下面内容
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifconfig
  • 清空防火墙规则
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -t nat -F

4.3 防火墙设置

4.3.1 配置网卡

  • 添加一张网卡,两张网卡都改为仅主机模式
    设置
  • 修改网卡IP地址
[root@firewall ~]# cd /etc/sysconfig/network-scripts/
[root@firewall network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@firewall network-scripts]# vim ifcfg-ens33
...省略内容
BOOTPROTO="static"	'//将dhcp修改为static'
...省略内容。添加以下内容
IPADDR=192.168.10.1
NETMASK=255.255.255.0
[root@firewall network-scripts]# vim ifcfg-ens36
...省略内容
BOOTPROTO="static"	'//将dhcp修改为static'
...省略内容
NAME="ens36"	'//将ens33修改为ens36'
    		'//删除UUID'
DEVICE="ens36"	'//将ens33修改为ens36'
'//添加以下内容'
IPADDR=12.0.0.1
NETMASK=255.255.255.0
[root@firewall network-scripts]# systemctl restart network
[root@firewall network-scripts]# ifconfig

4.3.2 关闭防火墙,开启路由转发

[root@firewall network-scripts]# iptables -F	'//清空防火墙规则'
[root@firewall network-scripts]# iptables -t nat -F	'//清空DNAT和SNAT规则'
[root@firewall network-scripts]# vim /etc/sysctl.conf 
..省略内容,末行添加下段内容
net.ipv4.ip_forward=1	'//开启路由转发功能'
[root@firewall network-scripts]# sysctl -p	'//刷新sysctl.conf配置'
net.ipv4.ip_forward = 1

4.3.3 设置DNAT和SNAT地址映射

[root@firewall ~]# iptables -t nat -I PREROUTING -d 12.0.0.1 -p tcp --dport 80 -i ens36 -j DNAT --to-destination 192.168.10.10
[root@firewall ~]# iptables -t nat -I POSTROUTING -s 192.168.10.10/24 -o ens36 -j SNAT --to-source 12.0.0.1

4.4 实验结果验证

  • 客户端访问
    客户端访问
  • web服务器查看日志访问记录
[root@localhost httpd]# cd /var/log/httpd
[root@localhost httpd]# cat access_log 
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值