Vyatta で複数の NAT を設定する ( source NAT )





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 されるようになりました。