# nat rules

nat on   em0 from 192.168.168.0/24 to any -> 192.0.2.111
nat on ! em0 from 192.168.168.0/24 to any -> 192.0.2.111

nat on em0 inet from any to any -> 192.0.2.16/28 bitmask
nat on em0 inet from any to any -> 192.0.2.16/28 random
nat on em0 inet from any to any -> 192.0.2.16/28 random sticky-address
nat on em0 inet from any to any -> 192.0.2.16/28 source-hash
nat on em0 inet from any to any -> 192.0.2.16/28 source-hash hex-key
nat on em0 inet from any to any -> 192.0.2.16/28 source-hash string-key
nat on em0 inet from any to any -> 192.0.2.16/28 round-robin
nat on em0 inet from any to any -> 192.0.2.16/28 round-robin sticky-address
nat on em0 inet from any to any -> 192.0.2.16/28 static-port

nat on em0 inet proto udp from any port 10000       to any -> em0
nat on em0 inet proto udp from any port 10000       to any -> (em0)
nat on em0 inet proto udp from any port 10000       to any -> (em0) port 10000
nat on em0 inet proto udp from any port 10000:10010 to any -> (em0) port 10000
nat on em0 inet proto udp from any port 10000:10010 to any -> (em0) port 10000:*

nat on em0 inet proto udp from any port 10000 to any -> \
                                                192.0.2.16/28 port 10000 bitmask
nat on em0 inet proto udp from any port 10000:10010 to any -> \
                                                192.0.2.16/28 port 10000:* bitmask

# no nat rule
no nat on em0 proto ah from 192.168.1.0/24 to any
nat on em0 from 192.168.1.0/24 to any -> 192.0.2.100

