iptables防火墙之SNAT与DNET

NAT

1.SNAT:让内网可以访问外网

2.DNAT:让外网可以访问到内网的机器

网关服务器,要开启路由功能

内核功能:

sysctl -a 列出所有参数 内核参数,然后grep可以查看到默认的内核参数

内核参数配置文件

/etc/sysctl.conf

sysctl -p #改完文件后重新生效

私网地址:

1.10.0.0.0 ~ 10.255.255.255

2.172.16.0.0 ~ 172.31.255.255

3.192.168.0.0 ~ 192.168.255.255

SNAT

iptables防火墙之SNAT与DNET_第1张图片

SNAT策略概述 SNAT 应用环境

局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由

SNAT原理

源地址转换

修改数据包的源地址

SNAT转换前提条件

局域网各主机已正确设置IP地址、子网掩码、默认网关地址

Linux网关开启IP路由转发

DNAT

DNAT原理与应用: DNAT应用环境:

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

DNAT原理:

目的地址转换,根据指定条件修改数据包的目的IP地址,保证了内网服务器的安全,通常被叫做目的映谢。

DNAT转换前提条件: 1.局域网的服务器能够访问Internet 2.网关的外网地址有正确的DNS解析记录 3. Linux网关开启IP路由转发

iptables防火墙之SNAT与DNET_第2张图片

实现SNAT和DNAT

准备环境

首先准备三台虚拟机:网关服务器,内网,外网

先下载httpd服务,全部开启并关掉防火墙。

在网关服务器里增加一块网卡

ens36,删除UID,ip配置成12.0.0.1(外网地址)网关删掉。

ens33,删除DNS和网关,留ip和掩码。(做完并重启网卡)

内网,将网卡网关改成网关服务器里的ip地址(重启网卡)

外网,将ip地址改成外网地址12.0.0.11,网关指向网关服务器里的第二张网卡ip(重启网卡)

SNAT

#先进入服务器开启路由转发

sysctl -a |grep "ip_forward"   复制net.ipv4.ip_forward = 0

vim /etc/sysctl.conf,复制后将0改为1

sysctl -p 

#先清空规则,并加入规则

   iptabless -t nat -A POSTROUTING -s 192.168.116.0/24 -o ens36 -j SNAT --to 12.0.0.1

#从内网出去用postrouting

#-s 源地址段   从192.168.116.0/24这个地址段起始

#-o ens36    从ens36这个网卡出去

#-j  SNAT    跳转到SNAT

#--to 12.0.0.1   最终目的到达12.0.0.1外网网关

#可以用iptables -vnL进行查看规则是否生效

#到内网上crul  12.0.0.11(外网的ip地址)

#到外网查看实时日志 tail -f /var/log/httpd/access_log

DNAT

#进入服务器网关,配置规则:

iptebles -t nat -A PREROUTING  -i ens36 -p tcp --dort 80 -d 12.0.0.1 -j DNAT --to 192.168.116.20

#prerouitng           外网进入内网的在路由选择前

#-p tcp   指定协议为tcp

#--dort 80  指定tcp协议的80端口

#-d  12.0.0.1   外网的网关为12.0.0.1

#--to  192.168.116.20    要到内网机器ip为192.168.116.20上

#可以用iptables -vnL进行查看规则是否生效

#到外网上crul  12.0.0.1

#到内网查看实时日志 tail -f /var/log/httpd/access_log

你可能感兴趣的:(网络,服务器,运维)