iptables实战系列:通过NAT转发实现私网对外发布信息

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 原文地址:http://os.51cto.com/art/201109/289486.htm【51CTO独家特稿】本文将介绍一个使用iptables实现NAT转发功能的案例。

原文地址:http://os.51cto.com/art/201109/289486.htm

【51CTO独家特稿】本文将介绍一个使用iptables实现NAT转发功能的案例。

本文假设读者已经对NAT的原理和基本用法有所了解。如不确定,可参考以下文章:

  1. 如何用iptables实现Linux下强大的NAT功能
  2. 如何用iptables实现NAT
  3. iptables nat表基本语法

本文案例中,我们假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP地址都是私网IP,通过该私网IP用户无法向外发布信息。但是,部分用户要求建立自己的WWW服务器对外发布信息。

我们可以在防火墙的外部网卡上绑定多个合法IP地址,然后通过ip映射使发给其中某一个IP地址的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。

具体的IP分配如下: 

(1)该ISP分配给A单位www服务器的IP为:

私网ip:172.168.92.100

公网ip:210.95.33.100

(2)该ISP分配给B单位www服务器的IP为:

私网ip:172.168.92.200

公网ip:210.95.33.200

(3)Linux防火墙的IP地址分别为:

内网接口eth1:172.168.92.10

外网接口eth0:210.95.33.1

然后,我们需要进行如下步骤地操作:

(1)将分配给A、B单位的真实ip绑定到防火墙的外网接口,以root权限执行以下命令:

#ifconfig eth0 add 210.95.33.100 netmask 255.255.255.0
#ifconfig eth0 add 210.95.33.200 netmask 255.255.255.0

(2)成功升级内核后安装iptables,然后执行以下脚本载入相关模块:

modprobe ip_tables
modprobe ip_nat_ftp

(3)对防火墙接收到的目的ip为210.95.33.100和210.95.33.200的所有数据包进行目的NAT(DNAT):

#iptables -A PREROUTING -i eth0 -d 210.95.33.100 -j DNAT --to 172.168.92.100
#iptables -A PREROUTING -i eth0 -d 210.95.33.200 -j DNAT --to 172.168.92.200

(4)对防火墙接收到的源ip地址为172.168.92.100和172.168.92.200的数据包进行源NAT(SNAT):

#iptables -A POSTROUTING -o eth0 -s 172.168.92.100 -j SNAT --to 210.95.33.100
#iptables -A POSTROUTING -o eth0 -s 172.168.92.200 -j SNAT --to 210.95.33.200

这样,所有目的ip为210.95.33.100和210.95.33.200的数据包都将分别被转发给172.168.92.100和172.168.92.200;而所有来自172.168.92.100和172.168.92.200的数据包都将分别被伪装成由210.95.33.100和210.95.33.200,从而也就实现了ip映射。 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
基于阿里云,构建一个企业web应用上云经典架构,让IT从业者体验企业级架构的实战训练。
目录
相关文章
|
7月前
|
负载均衡 应用服务中间件 Linux
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
|
7月前
|
Linux
centos使用iptables实现nat端口转发
centos使用iptables实现nat端口转发
270 4
|
1月前
|
网络协议 开发工具 Docker
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.17.0.2:80 !
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.17.0.2:80 !
17 1
|
5月前
|
网络协议 网络安全 开发工具
iptables的源地址、目标地址转换
iptables的源地址、目标地址转换
104 1
|
5月前
|
网络安全 开发工具
iptables 源地址、目标地址转换
实验准备,配置web服务器,配置web防火墙网卡,配置客户机网卡,测试,开启防火墙功能,设置源地址转换,通过改变我客户机的地址身份为web服务器同网段来实现访问,通过改变目标地址(客户机)的地址为web同网段来实现
59 0
|
6月前
|
网络安全 Docker 容器
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
|
9月前
|
运维 Shell 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
1412 0
|
9月前
|
运维 网络协议 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
243 0
|
1月前
|
Linux 虚拟化
VMware workstation 中centos7虚拟机在nat模式下怎么配置网卡,指定我想要的IP并且可以联网
https://blog.csdn.net/2302_78534730/article/details/132825156?spm=1001.2014.3001.5502
137 0
|
6天前
|
安全 数据安全/隐私保护 网络架构
ensp中nat地址转换(静态nat 动态nat NAPT 和Easy IP)配置命令
ensp中nat地址转换(静态nat 动态nat NAPT 和Easy IP)配置命令