Next Previous Contents

9. Source NAT 与路由

如果您要做 SNAT,您会想要确定经过 SNAT 封包所传给的主机会将回应送回给 NAT 主机。例如,如果您映对某些传出封包到来源地址 1.2.3.4 之上,那麽外部的路由器就必须知道要将回应封包(目的地为 1.2.3.4 )送回给该主机。这可以用如下方法做到:

  1. 如果您要在主机自己的地址(路由和其它所有运作皆正常)上面做 SNAT,您无需做任何动作。
  2. 如果您要在一个在本机网路上尚未使用的地址做 SNAT(例如,映对到在 1.2.3.0/24 网路上的一个可用 IP 1.2.3.99),您的 NAT 主机就需要回应关於该地址的 ARP 请求,一如它自己本身的一样:最简单的方法就是建立 IP alias,例如:
    # ip address add 1.2.3.99 dev eth0
    
  3. 如果您要在一个完全不同的地址上做 SNAT,您就要确定 SNAT 封包抵达的机器能够路由回该 NAT 主机。如果 NAT 主机是它们的预设闸道器的话,是可以做到的,否则,您就要广告(advertize )一个路由(如果跑路由协定的话),或是手工的在每一台参与机器上增加路由。


Next Previous Contents