Ответы пользователя по тегу pf
  • FreeBSD, Packet filter (PF) и перенаправление портов?

    DmZ
    @DmZ
    Уже не один раз обсуждалось. Читайте как работает NAT и для чего он нужен.
    Роутер все заворачивает правильно, просто в данном случае работать оно не будет:
    • Из мира приходит пакет (предположим 8.8.8.8 -> 80.*.*.*), роутер его днатит в локальный адрес (8.8.8.8 -> 192.168.1.33), вебсервер получает запрос от 8.8.8.8 и шлет ответ обратно на роутер (дефолт-роут), роутер проводит пакет обратно по нат и отправляет в мир;
    • Если пакет приходит из локалки (предположим 192.168.1.2 -> 80.*.*.*), роутер его днатит в локальный адрес (192.168.1.2 -> 192.168.1.33), вебсервер получает запрос от 192.168.1.2 и шлет ответ обратно в ЛОКАЛЬНУЮ сеть, компьютер 192.168.1.2 не получает ожидаемого ответа от 80.*.*.* а ответ от 192.168.1.33 считает инвалидным, так как не отправлял туда запрос. Соотв. TCP соединение не устанавливается.


    (отсюда)

    Если хочется именно НАТом это сделать, то пакеты приходящие от em0 на Х нужно натить в адрес em0, чтобы вебсервер отвечал роутеру, а не напрямую в локалку.
    nat on em0 proto tcp from 192.168.1.0/24 to 192.168.1.2 port 80 -> (em0)
    

    Или можно локально поднять net/bounce, его поставить слушать 127.0.0.1:8080->192.168.1.2:80 а редирект заменить на:
    rdr on ng0 proto tcp from any to "X" port 80 -> 127.0.0.1 port 8080
    
    Ответ написан
    1 комментарий