SNAT策略及应用

SNAT策略概述

SNAT策略的典型应用环境

  • 局域网主机共享单个公网IP地址接入internet

SNAT策略的原理

  • 源地址转换 ,Source Network Address Translation
  • 修改数据包的源ip地址

iptables配置路由 iptables snat配置_运维

iptables配置路由 iptables snat配置_服务器_02

SNAT策略的应用

前提条件局域网各主机正确设置IP地址/子网掩码

  • 局域网各主机正确设置默认网关地址

推荐实现步骤

  • 1.开启网关主机的路由转发功能
  • 添加使用SNAT策略的防火墙规则
  • 规则示例:
iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth0 -j SNAT --to-source 218.29.30.31(网关外网口的地址)

MASQUERADE(地址伪装)策略

  • 只需蒋“-j SNAT --to-source 218.29.30.31"的形式改为”-j MASQUERADE“即可
  • 如果是通过ADSL拨号方式连接Internet,则外网接口名称通常为ppp0、ppp1等

MASQUERADE策略应用示例

iptables配置路由 iptables snat配置_iptables配置路由_03

DNAT策略及应用

DNAT策略概述

DNAT策略的典型应用环境

  • 在Internet中发布位于企业局域网内的服务器

DNAT策略的原理

  • 目标地址转换,Destination Network Address Translation
  • 修改数据包的目标IP地址

iptables配置路由 iptables snat配置_iptables配置路由_04

通过不同的端口号映射到内部不同的服务器上

DNAT策略的应用

前提条件

  • 局域网的Web服务器正确设置了IP地址/子网掩码
  • 局域网的Web服务器正确设置了默认网关地址

推荐实现步骤

  • 1.确认已开启网关的路由转发功能
  • 2.确认使用DNAT策略的防火墙规则
  • 规则示例:
iptables -t nat -A PREROUTING -I eth0 -d 218.26.30.31 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.6

配置DNAT步骤

  • 1.内网的服务器配置号IP地址,网关和dns
  • 2.Linux网关服务器上开启路由功能,打开SNAT和DNAT,最好编写脚本
  • 3.在内部的web和mariadb服务器安装nginx和Mariadb,同时启动
  • 4.注意在内部的web和mariadb服务器上关闭firewalld服务,并且设置开机不要启动
  • 5.最后测试
  • 1.测试snat,内部服务器能上网
  • 2.测试dnat,外面的机器能访问进内网的web和mysql服务
  • 6.需要在数据库服务器上新建用户并且授权远程并且连接过来

iptables配置路由 iptables snat配置_linux_05

使用layer7应用层过滤功能

重新编译安装内核

重新编译安装iptables

设置应用层过滤规则