曲径通幽论坛

标题: 一对多 NAT [打印本页]

作者: beyes    时间: 2014-12-10 11:58
标题: 一对多 NAT
一对多 NAT 是常见的一种 NAT,像家庭网络中通过路由器来上网一般就属于这种 NAT 。“多” 表示局域网中多个客户机; “一” 是拨号获得的公网 IP 。

假设路由上有两张网卡,分别是 eth0 和 eth1,eth0 对外,eth1 对内。eth0 上假设有公网 IP 103.22.39.24,eth1 上假设内网网管 IP 192.168.1.1 ,内网网络地址为 192.168.1.0/24 。

如果内部主机访问公网,则请求数据包中的源IP(source IP)一定是内网 IP,如果将内网 IP 直接发送到公网上,通讯肯定会失败。因此,数据包从内往外发送时,必须在路由上通过 SNAT 机制将 源IP 改为公网 IP , SNAT 从第一个字符 S (source)就知道是要修改源 IP 的机制,因此可以执行下面的命令:
  1. iptabls -t nat -A POSTROUTING -o eth0  -s 192.168.1.0/24 -j SNAT --to 103.22.39.24
复制代码


POSTROUTING 链的任务是修改数据包内的来源端 IP,位于整个 NAT 机制的最末端。

上面假定 eth0 上是固定公网 IP,如果是 ADSL 拨号,则每次获得的公网 IP 不一样,那么执行下面命令:
  1. iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
复制代码






欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2