В OpenBSD начиная с версии 4.7 убраны привычные конструкции nat/rdr (при использовании старых конструкций генериться ошибка). Теперь вместо них используются такие:
– RDR
pass in on $ext_if proto tcp from any to $ext_if port 5555 rdr-to 192.168.1.100 port 3389
– NAT
pass out on $ext_if proto tcp from 192.168.0.0/24 to any nat-to $ext_if
В ранних реализациях можно было применять обе конструкции.
Вот ещё небольшие дополнения
- nat-to, rdr-to, binat-to заменяют nat, rdr и binat
- route-to, reply-to, dup-to и fastroute теперь включены в filteropts
Пример.
Было
pass in on $ext_if route-to (em1 192.168.1.1) from 10.1.1.1
pass in on $ext_if reply-to (em1 192.168.1.1) to 10.1.1.1
Стало
pass in on $ext_if from 10.1.1.1 route-to (em1 192.168.1.1)
pass in on $ext_if to 10.1.1.1 reply-to (em1 192.168.1.1)
Примечание.
Учитывая, что правила NAT’a теперь могут идти в перемешку с остальными правилами, могут возникнуть проблемы, когда адреса не будут NAT’ится, так как они сработали на другом правиле. Поэтому, либо писать правила NAT’a в самом вверху и с ключевым словом quick, либо в самом низу и без него. Так же, будьте внимательны при составлении правила NAT.