У меня есть машина OS X 10.6 с двумя сетевыми картами:
1 - 10.1.10.2
2 - 192.168.1.2
и я хотел бы перенаправить весь трафик, поступающий через порт 192.168.1.2:4096, на другую машину в подсети 10. * (10.1.10.42). Я включил брандмауэр (ipfw) и добавил основные правила:
00100 divert 8668 ip from any to any via en1 (en1 is the interface with the 192* addr)
00200 allow ip from any to any
65535 allow ip from any to an
и затем запустите natd с:
sudo natd -v -l -a 192.168.1.2 en1 -dynamic -redirect_port tcp 10.1.10.42:3333 192.168.1.2:4096
Запуск в подробном режиме это дает:
In [TCP] [TCP] my_remote_ip:50116 -> 192.168.1.2:4096 aliased to
[TCP] my_remote_ip:50116 -> 10.1.10.42:3333
Поэтому natd видит соединение и думает, что оно создает псевдоним, но попытка соединения (на удаленной машине) всегда зависает и время ожидания истекает.
Я включил IP-пересылку (sysctl -w net.inet.ip.forwarding=1
) и не могу думать ни о какой другой причине, почему это не работает.
Любая помощь будет оценена.