iptables 之 NAT 中的DNAT 介

iptables 有地址转换的NAT功能

1 常用在  SNAT 将私有地址转换为公有地址 进行私有内的地址可以顺利访问外网

2 DNAT呢?

假设一个这样的场景,私有网络有两个服务器很繁忙,并且没有使用公网地址,现在需要对外提供服务!此时如何让外网的Client 访问到内网的WEB服务和FTP等服务?

答案: iptables 的DNAT功能,进行目标地址转换

模拟网络场景

192.168.100.0/24 私有

192.168.204.0/24 公网

web 服务器 192.168.100.10   ----  fireware 192.168.100.11   192.168.204.11   --- Client  192.168.204.10

操作

web 上的操作 准备http服务器

[[email protected] ~]# netstat -tulnp | grep 80
tcp 0 0 :::80 :::* LISTEN 5595/httpd
[[email protected] ~]# echo "Private NET 192.168.100.10" > /var/www/html/index.html

Client 使用一台WinXP 服务器进行模拟

没有DNAT前测试访问:

Firewall 上iptables 规则

[[email protected] ~]# iptables -t nat -A PREROUTING -d 192.168.204.11 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.10

winXP上进行再测试

表明 访问192.168.204.11 的时候,访问到了私网内的WEB 服务192.168.100.10 上

[[email protected] ~]# tcpdump -vv -nn tcp port 80  进行排错测试

[email protected] ~]# tail -f /var/log/httpd/access_log
192.168.204.10 - - [30/Nov/2014:04:13:53 -0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
192.168.204.10 - - [30/Nov/2014:04:13:53 -0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
192.168.204.10 - - [30/Nov/2014:04:13:53 -0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

注:

假设web监听的不是80端口而是8080 端口则 iptables 规则应该DNAT 应该转换到 私有地址的8080端口上

[[email protected] ~]# iptables -t nat -A PREROUTING -d 192.168.204.11 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.10:8080

时间: 2024-12-20 19:53:40

iptables 之 NAT 中的DNAT 介的相关文章

iptables配置——NAT地址转换

iptables nat 原理同filter表一样,nat表也有三条缺省的"链"(chains): PREROUTING:目的DNAT规则 把从外来的访问重定向到其他的机子上,比如内部SERVER,或者DMZ.           因为路由时只检查数据包的目的ip地址,所以必须在路由之前就进行目的PREROUTING DNAT;          系统先PREROUTING DNAT翻译——>再过滤(FORWARD)——>最后路由.           路由和过滤(FORW

Linux服务--iptables之nat转发和构建简单的DMZ防火墙

iptables之nat转发和构建简单的DMZ防火墙 一.NAT iptables 中的nat表: nat:Network Address Translation:NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机. nat有三种实现方式:SNAT,DNAT和端口多路复用OverLoad 在了解Nat工作原理之前先了解一下私网IP和公网IP.私网IP地址是指局域网内部网络或主机的IP地址,公网地址是指在因特尔网上全球唯一的IP地址. 私有

linyux iptables SNAt NAT 【原创】

rpm -ql iptables 查看安装的模块 iptables -t filter -L –n iptables -L –n这两个命令的效果是一样的 iptables -t nat -L –n查nat表 iptables -t mangle -L –n查mangle表 ============================================== [[email protected] ~]# iptables -help Usage: iptables -[AD] chain 

iptables之nat

网络结构如下: NAT,即网络地址转换.如上图中三台机器,C服务器配置内网IP,B服务器可以正常上网同时打开了核心转发功能,B.C之间可以互相通信.但C无法访问外网,原因是当192.168.2.10访问192.168.1.10时(即内网访问外网),C的数据包可以正常发送给A,但是C是内网地址,服务器A的响应包是无法发送C的,所以需要进行地址转换.步骤如下: 1.服务器B打开核心转发功能(略): 2.在服务器B的防火墙上配置NAT,我们要让C可以正常访问外网,防火墙配置如下: # iptables

iptables之nat转发

主要分为路由前转发PREROUTING,和路由后转发POSTROUTING. 何为路由前?也就是从外部传入数据,在到达主机网卡,还未进入网卡的瞬间. 何为路由后?也就是从外部传入数据,进入并经过主机某个网卡后,向外传出数据的瞬间. 一个简单的模型如下: 外部数据------>主机网卡(如eth0.eth1等)------>目的地 路由前                           路由后 首先把转发策略打开 [[email protected]~]# vi /etc/sysctl.co

iptables之NAT实现

nat的优点:      防护内网中的主机,保护主机的安全      解决c类地址短缺的情况 SNAT和DNAT的区分是根据请求的源地址转换还是目标地址转换而决定的 以下实验中,内网的主机,将网关指向192.168.100.1这个地址 SNAT:源地址转换 拓扑: 过程解析: 报文的源地址为192.168.100.2,目标地址为外面主机地址211.70.160.16 但是到达nat服务器的eth0后,将报文的源地址改变成eth0的地址211.70.160.1 这个地址是一个公网地址 外网的web

防火墙、Iptables、netfilter/iptables、NAT 概述

防火墙.Iptables.netfilter/iptables.NAT 概述 - 如果你真的想做一件事,你一定会找到方法: 如果你不想做一件事,你一定会找到借口. - ITeye技术网站 一.防火墙的简介 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性.它通过访问控制机制,确定哪些内部服务允许外部访问,以及 允许哪些外部请求可以访问内部服务.它可以根据网络传输的类型决定IP包是否可以传进或传出内部网 防火墙通过审查经过的每一个数据包,判断它是否有相匹配的

iptables的nat网络转发

今天搞了个网络转发,将服务器中的一个虚拟机通过网络转发的方式让其他网络的主机访问虚拟机. iptables传输数据包过程: 1.首先进入PREROUTING链,内核根据数据包目的ip判断是否转出. 2.数据包如果是本机数据包,则进入INPUT链,此时本机任何进程都可以收到数据包.同时,本机上的程序都可以发送数据包,并进入OUTPUT链,最后进入POSTROUTING链输出. 3.若是非本机数据包,并且内核判断允许转出,则进入FORWARD链,最后进入POSTROUTING链输出. iptable

iptables的nat规则骚操作

水一枪 我对防火墙这块的认知是比较低的, 之前一直没怎么去用 最多的要么就是 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT ,这还是以前刚出来接触linux的时候redhat6跑的,后来改革了,好吧,centos7 firewall-cmd --zone=public --add-port=6379/tcp --permanent && firewal