Назад | Перейти на главную страницу

ipfw не задерживает запросы на localhost (OS X)

Я пытаюсь добавить некоторую задержку для подключения к веб-приложению, работающему на localhost: 8080 (Tomcat). Я пробовал добавить следующее:

sudo ipfw pipe 1 config delay 500ms
sudo ipfw add 1 pipe 1 dst-port 8080

Но в браузере я наблюдаю, как запросы к веб-приложению обрабатываются менее чем за 10 мс, согласно отладчику браузера. Возможно ли, что мне что-то не хватает в конфигурации канала или я просто не понимаю, что говорит браузер?

Я также пробовал добавлять очень длинные задержки (до нескольких секунд), но, похоже, это меня не останавливает: telnet localhost 8080 и сразу же подключаемся.

Я сам играю с этим. Попробуйте также настроить свой src-порт таким же.

У меня это отлично работает:

# sudo ipfw pipe 1 config delay 500ms
# sudo ipfw add 1 pipe 1 src-port 9160
# sudo ipfw add 2 pipe 1 dst-port 9160

Просмотр настроек ipfw также помогает отладить любые проблемы:

# sudo ipfw show
00001    58   69110 pipe 1 ip from any 9160 to any
00002    59    3138 pipe 1 ip from any to any dst-port 9160

# sudo ipfw pipe show
00001: unlimited  500 ms   50 sl. 1 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 tcp        127.0.0.1/53547       127.0.0.1/9160   270    92414  0    0   0

В моем случае я использую Cassandra, и это (болезненно), очевидно, работает.

Для меня решение использовало IP-адрес:

telnet localhost <port> (подключается сразу)

telnet 127.0.0.1 <port> (работает как положено)