Linux系统安全:NAT(SNAT、DNAT)

目录

一.NAT

二.SNAT

三.DNAT


一.NAT

NAT: network address translation,支持PREROUTING,INPUT,OUTPUT,POSTROUTING四个链

请求报文:修改源/目标IP,

响应报文:修改源/目标IP,根据跟踪机制自动实现

NAT的实现分为下面几种类型:

SNAT:source NAT ,支持POSTROUTING, INPUT,让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装,请求报文:修改源IP

DNAT:destination NAT 支持PREROUTING , OUTPUT,把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP,请求报文:修改目标IP

PNAT: port nat,端口和IP都进行修改

二.SNAT

SNAT:基于nat表的target,适用于固定的公网IP

SNAT选项:

    to-source ipaddr[-ipaddr]

    random

MASQUERADE:基于nat表的target,适用于动态的公网IP,如:拨号网络

MASQUERADE选项:

    to-ports port[-port]

    random

(1)SNAT实验目的

公司内有2台机器,但是只有一个公网ip,利用SNAT技术实现2台私网地址都可以访问公网。

(2)SNAT实操环境准备

环境:

centos7-1(内网服务器)  IP地址 192.168.47.100
centos7-2(网关服务器)  ens33IP地址(nat):192.168.47.3   ens36IP地址(仅主机):12.0.0.1
centos7-3(外网服务器)  ens33IP地址(仅主机):12.0.0.12

目的:内网服务器能够ping通外网服务器

步骤:

①网关服务器添加网卡

②设置外网服务器的网卡模式

③修改外网服务器的IP地址,并重启network服务

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

[root@localhost ~]# systemctl restart network

[root@localhost ~]# ifconfig ens33

把ip改成12.0.0.12,子网掩码为255.255.255.0

④修改内网服务器的网关,并重启network服务

[root@zrsb ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33


[root@zrsb ~]# systemctl restart network

[root@zrsb ~]# route -n

⑤为网关服务器的外网网卡配置IP地址,并重启network服务

#复制ens33配置文件给ens36网卡,新增网卡不会有配置文件

[root@xzq ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36

ens36配置文件修改:将UUID此行删除,修改ip

⑥使用内网服务器ping外网服务器地址,作为SNAT配之前的参照

⑦在网关服务器上配置SNAT

⑨网关服务器开启路由转发功能,编辑/etc/sysctl.conf文件

vim /etc/sysctl.conf

 

⑨使用内网服务器ping外网服务器,测试连通性

实验结果:

不经过nat的地址为内网服务器的地址,使用虚拟机环境才会出现这种情况,生成环境是不通的。经过nat之后的地址是公司的公网ip地址,由网关服务器iptables规则SNAT实现。

三.DNAT

DNAT原理与应用:
DNAT应用环境:在Internet中发布位于局域网内的服务器
DNAT原理:目的地址转换,根据指定条件修改数据包的目的IP地址,保证了内网服务器的安全,通常被叫做目的映谢。

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

DNAT实际操作:

步骤思路:

①首先给三台机器做一个SNAT,原因是做DNAT之后内网服务器(7-1)需要通过SNAT给公网的用户返回数据包。

②在内网服务器(7-1)上安装一个httpd服务并开启,作为内网的业务服务器。

③网关服务器(7-2)上配置DNAT规则。

(1)在内网服务器上搭建httpd服务,并撰写index.html初始网页,然后启动httpd服务

[root@zrsb ~]# vim /var/www/html/index.html
[root@zrsb ~]# systemctl start httpd.service
[root@zrsb ~]# systemctl status httpd.service

(2)在网关服务器上设置DNAT规则

(3)使用外网服务器访问内网的httpd服务

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值