по существу все написанно в man ipfw
суть в прохождении пакета два раза в одну сторону
сначала с mac потом без него
из этого кстати следует, что
Код: Выделить всё
ipfw add allow ip from 192.168.0.1 to any in via int0
работать для первого раза не будет
ээ, ну там еще широковещательные arp запросы, vlan-ы и т.д.
сложность построения фаерваола увеличивается на парядок
в вашем случае вопервых поступите как советуют в man ipfw
отфильтруйте по признаку layer2 тот интерфейс где будете проверять мак-и
и пишите {неразборчивые ругательства} нат в виде
Код: Выделить всё
ipfw add nat X ip from any to any out via $uplink
ipfw add nat X ip from any to $nat_ip out via $uplink
не забывайте о порядке правил, разберите примеры из хэндбука в главе ipfw, подумайте почему там nat правила расположены именно так
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.