NAT は、発信元 IP アドレスと宛先 IP アドレスをほかのインターネットアドレスまたはイントラネットアドレスに変換するマッピング規則を設定します。これらの規則は、受信 IP パケットまたは発信 IP パケットの 発信元アドレスおよび宛先アドレスを変更し、パケットを送信します。また、NAT を使用して、あるポートから別のポートにトラフィックの方向を変更することもできます。NAT は、パケットに修正または方向の変更が行われても、パケットの完全性を維持します。
NAT 規則は、ipnat コマンドを使用してコマンド行で作成することも NAT 構成ファイルで作成することもできます。NAT 構成ファイルを作成し、そのパス名をサービスの config/ipnat_config_file プロパティーの値として設定する必要があります。デフォルト値は /etc/ipf/ipnat.conf です。詳細は、ipnat(1M) コマンドを参照してください。
NAT 規則は IPv4 と IPv6 アドレス両方に適用できます。ただし、アドレスの種類ごとに個別のルールを作成する必要があります。IPv6 アドレスを含む NAT 規則では、mapproxy および rdrproxy NAT コマンドを同時に使用することはできません。
次の構文で NAT 規則を作成します。
command interface-name parameters
各規則の冒頭には、次のコマンドのいずれかが記述されています。
ある IP アドレスまたはネットワークを規制のないラウンドロビン方式で別の IP アドレスまたはネットワークにマッピングします。
ある IP アドレスとポートのペアから別の IP アドレスとポートのペアにパケットの方向を変更します。
外部 IP アドレスと内部 IP アドレス間で双方向の NAT を確立します。
静的 IP アドレスをベースにした変換を確立します。このコマンドは、アドレスを指定の範囲に変換するアルゴリズムに基づいています。
このコマンドに続く単語は、bge0 などのインタフェース名です。
次に、NAT 構成を決定するさまざまなパラメータを選択します。次に、この種のパラメータの例をいくつか挙げます。
ネットワークマスクを指定します。
ipmask が変換されるアドレスを指定します。
ポート番号の範囲と tcp、udp または tcp/udp プロトコルを指定します。
次の例は、NAT 規則を構築する方法を示しています。発信元アドレスが 192.168.1.0/24 のデバイス net2 から発信されるパケットを書き換え、外部に対して発信元アドレスが 10.1.0.0/16 であることを示すには、NAT 規則セットに次の規則を含めます。
map net2 192.168.1.0/24 -> 10.1.0.0/16
次の規則は IPv6 アドレスに適用されます。
map net3 fec0:1::/64 -> 2000:1:2::/72 portmap tcp/udp 1025:65000 map-block net3 fe80:0:0:209::/64 -> 209:1:2::/72 ports auto rdr net0 209::ffff:fe13:e43e port 80 -> fec0:1::e,fec0:1::f port 80 tcp round-robin
詳細な文法と構文については、ipnat(4) のマニュアルページを参照してください。