Использование PacketFilter для прозрачного прокси-пакетов в OS X
Там есть крутая утилита, которая называетсяsshuttle, Это зависело отipfw
пересылать пакеты в прошлом. Похоже, чтоipfw
в Mavericks в основном не работает, и советуем использовать PacketFilter для этого сейчас.
Я провел большую часть дня, глядя на PacketFilter, и он появляетсяipfw
есть функция, которую PacketFilter не поддерживает (надеюсь, я ошибаюсь по этому поводу).
Следующее правило:
ipfw -q add 12300 fwd 127.0.0.1,12300 tcp from any to any not ipttl 42 keep-state setup
перенаправит весь трафик на порт 12700.0.1 (localhost) 12300. Однако он не меняет IP-адрес или порт назначения в пакете TCP. Это важно для sshuttle, поскольку он использует информацию об исходном пункте назначения для пересылки пакета в другую сеть.
Самое близкое правило, которое я могу найти в мире PacketFilter:
rdr pass proto tcp from any to any -> 127.0.0.1 port 12300
Это правило отправляет трафик на порт 12700.0.1 (localhost), но оно также переписывает адрес назначения на 127.0.0.1.
Любые идеи о том, как получить поведение sshuttle нуждается в OS X?