Vyatta で source NAT を設定する方法は次の通り。
例では、192.168.1.100 を送信元 IP アドレスとするパケットがインターフェース eth0 から出て行く時に、
送信元 IP アドレスを 210.168.1.100 に NAT するように設定しています。
まず、NAT する対象とする IP アドレスを設定します。
vyatta@vyatta1# set nat source rule 1 source address 192.168.1.100/32
次に、NAT した後の IP アドレスを設定します。
vyatta@vyatta1# set nat source rule 1 translation address 210.168.1.100
最後に、どのインターフェースから出て行く時に NAT するのかを設定します。
vyatta@vyatta1# set nat source rule 1 outbound-interface eth0
これで設定自体は終わり、commit します。
vyatta@vyatta1# commit [ nat source ] warning: IP address 210.168.1.100 does not exist on the system! [edit] vyatta@vyatta1#
例の設定では、設定を行っている Vyatta のインターフェースで使っていない
セグメントの IP アドレスをNAT 後の IP アドレスとして設定しているので、
一応 warning が出力されています。
今回設定した後のコンフィグは以下のようになっています。
nat { destination { rule 1 { destination { address 210.168.1.100 } inbound-interface eth0 translation { address 192.168.1.100 } } } source { rule 1 { outbound-interface eth0 source { address 192.168.1.100/32 } translation { address 210.168.1.100 } } } }
ちなみに、FTP Passive モードの通信も上記の NAT 設定による通信が可能でした。