Vyatta で複数の source NAT を設定する方法は次の通り。
例では、192.168.1.100 を送信元 IP アドレスとするパケットがインターフェース eth0 から出て行く時には、
送信元 IP アドレスを 210.168.1.100 に NAT するように設定して、・・・(1)
192.168.1.100 以外の 192.168.1.0/24 を送信元 IP アドレスとするパケットがインターフェース eth0 から出て行く時には、
送信元 IP アドレスを 210.168.1.200 に NAT するように設定しています。・・・(2)
まず、こちらを参考に (1) の設定をします。
続いて、(2) の設定をします。
まず、NAT する対象とする IP アドレスを設定します。
vyatta@vyatta1# set nat source rule 2 source address 192.168.1.0/24
次に、NAT した後の IP アドレスを設定します。
vyatta@vyatta1# set nat source rule 2 translation address 210.168.1.200
最後に、どのインターフェースから出て行く時に NAT するのかを設定します。
vyatta@vyatta1# set nat source rule 2 outbound-interface eth0
これで、NAT の source rule 1 と source rule 2 が設定できました。
Vyatta の動作としては、rule 番号の若い方から条件にマッチするかどうかを確認して、
パケットを処理します。
つまり、今回の設定では、rule 1 によって、送信元 IP アドレスが、
192.168.1.100 にマッチするかどうかをチェックして、
マッチすれば、送信元 IP アドレスを 210.168.1.100 に NAT して、
マッチしなければ、rule 2 によって、送信元 IP アドレスが、
192.168.1.0/24 にマッチするかどうかをチェックして、
マッチすれば、送信元 IP アドレスを 210.168.1.200 に NAT します。
rule 2 にもマッチしなければ、NAT はされません。
試しに、rule 1 と rule 2 を逆にしてみると、
192.168.1.100 を送信元 IP アドレスとするパケットも
210.168.1.200 に NAT されるようになりました。