码迷,mamicode.com
首页 > 其他好文 > 详细

防火墙之地址转换SNAT DNAT

时间:2017-03-20 10:48:09      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:network   防火墙   address   server   center   

防火墙之地址转换SNAT DNAT

NAT network address translation

仅从报文请求来看,可以分为:

  SNAT 源地址转换

  DNAT 目标地址转换

  PNAT 端口转换

 

NAT server:能根据需要实现SNAT DNAT PNAT

并非是用户空间的进程完成转换功能,靠的是内核中的地址转换规则

 

私有IP客户端访问互联网的方法

SNAT 、PROXY

 

SNAT:主要用于实现内网客户端访问外部主机时使用(局域网上网用)

定义在POSTROUTING链上

  iptables -t nat -A postrouting -s 内部网络地址或主机地址 -j SNAT --to-source NAT服务器上的某外部地址

 

另外一个target

MASQUERADE地址伪装(适用于PPPOE拨号上网,假设eth1是出口)

iptables -t nat -A postrouting -s 内部网络或主机地址 -o eth1 -j MASQUERADE

 

DNAT:主要用于内部服务器被外网访问(发布服务)

定义在PREROUTING

iptables -t nat -A PREROUTING -d NAT服务器的某外部地址 -p 某协议 --dport 某端口 -j DNAT --to-destination 内网服务器地址[:port]

注意:NAT服务器需要打开数据转发

echo 1 > /proc/sys/net/ipv4/ip_forward

或者修改/etc/sysctl.conf net.ipv4.ip_forward = 1

 

实验操作

SNAT、DNAT

实验一:SNAT

规划主机A 作为SNAT server

eth0 ip地址172.20.1.10(外部地址),eth1 192.168.1.1(内部地址)

主机B当做局域网内主机

eth0 ip地址192.168.1.2 默认路由要指向192.168.1.1

SNAT server:

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 172.20.1.10

[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

主机B ping外部的其它主机(172.20.1.20模拟互联网上的主机)

 

DNAT

在主机B(192.168.1.2) 开启httpd服务,然后用外部的其它主机访问主机A 172.20.1.10

主机A DNAT server

[root@localhost ~]# iptables -t nat -I PREROUTING -d 172.20.1.10 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2

出现了测试页

技术分享

防火墙之地址转换SNAT DNAT

标签:network   防火墙   address   server   center   

原文地址:http://wangkunpeng.blog.51cto.com/1538469/1908305

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!