WEB开发网
开发学院网络安全防火墙 如何用iptables实现NAT 阅读

如何用iptables实现NAT

 2007-03-12 12:42:13 来源:WEB开发网   
核心提示: 1. 使用拨号带动局域网上网 小型企业、网吧等多使用拨号网络上网,通常可能使用代理,如何用iptables实现NAT(5),但是考虑到成本、对协议的支持等因素,建议使用ip欺骗方式带动区域网上网,对防火墙接收到的源ip地址为192.168.1.100和192.168.1.200的数据包进行

1. 使用拨号带动局域网上网

小型企业、网吧等多使用拨号网络上网,通常可能使用代理,但是考虑到成本、对协议的支持等因素,建议使用ip欺骗方式带动区域网上网。

成功升级内核后安装iptables,然后执行以下脚本:

#载入相关模块

modprobe ip_tables

modprobe ip_nat_ftp

#进行ip伪装

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

2. ip映射

假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP地址都是伪IP,但是部分用户要求建立自己的WWW服务器对外发布信息。我们可以再防火墙的外部网卡上绑定多个合法IP地址,然后通过ip映射使发给其中某一 个IP地址的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。

我们假设以下情景:

该ISP分配给A单位www服务器的ip为:

伪ip:192.168.1.100

真实ip:202.110.123.100

该ISP分配给B单位www服务器的ip为:

伪ip:192.168.1.200

真实ip:202.110.123.200

linux防火墙的ip地址分别为:

内网接口eth1:192.168.1.1

外网接口eth0:202.110.123.1

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

ifconfig eth0 add 202.110.123.100 netmask 255.255.255.0

ifconfig eth0 add 202.110.123.200 netmask 255.255.255.0

成功升级内核后安装iptables,然后执行以下脚本:

#载入相关模块

modprobe ip_tables

modprobe ip_nat_ftp

首先,对防火墙接收到的目的ip为202.110.123.100和202.110.123.200的所有数据包进行目的NAT(DNAT):

iptables -A PREROUTING -i eth0 -d 202.110.123.100 -j DNAT --to 192.168.1.100

iptables -A PREROUTING -i eth0 -d 202.110.123.200 -j DNAT --to 192.168.1.200

其次,对防火墙接收到的源ip地址为192.168.1.100和192.168.1.200的数据包进行源NAT(SNAT):

iptables -A POSTROUTING -o eth0 -s 192.168.1.100 -j SNAT --to 202.110.123.100

iptables -A POSTROUTING -o eth0 -s 192.168.1.200 -j SNAT --to 202.110.123.200

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

上一页  1 2 3 4 5 

Tags:如何 iptables 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接