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