> Вот посмотри прокомментируй..
> немного внизу не понял.
> Включаем nat на tap1
> ipfw nat 1 config ip 192.168.137.1 same_ports
> Делаем проброс порта на веб сервер
> redirect_port tcp 192.168.10.5:80 80ipfw nat 1 config ip 192.168.137.1 same_ports \
redirect_port tcp 192.168.10.5:80 80
Это одна команда, а не несколько.
> Натить оттовсюду приходящие на 192.168.137.2 Через входящий интерфейс Tap1
> ipfw add 04410 nat 1 all from any to 192.168.137.1 in via
> tap1
+1
> Разрешить прохождения пакета если он пришел откуда угодно на подсеть 192.168.10.0/24 входящий
> через интерфейс tap1
> ipfw add 04800 allow all from any to 192.168.10.0/24 in via tap1
Пакет не может "откуда угодно" придти на подсеть. Но после нат-а некий входящий пакет может оказаться пакетом, в эту сеть. Это надо понимать.
> Запретить все остально через tap1 (входящее)
> ipfw add 04998 deny log ip from any to any in
> via tap
via tap1.
Возможно, что тебя это устроит.
> Натить все пакеты от 192.168.137.1 куда угодно выходящий через tap1
> ipfw add 06050 nat 1 all from 192.168.137.1 to any out via
> tap1
Нет. Пакеты, попадая в файрволл, маршрутизируются по таблице маршрутизации.
При отсутствии маршрутов - они идут в дефолт.
ЕСЛИ БЫ ТЫ ВНИМАТЕЛЬНО ПОСМОТРЕЛ И ПРОЧИТАЛ МОЙ СКРИПТ, ТО ТЫ БЫ УЖЕ УВИДЕЛ,
что правил там два. И СООТВЕТСТВУЮЩИЙ КОММЕНТАРИЙ.
> Заворачиваем на нат 1 tcp пакеты от 192.168.10.5 порт 80 (исходящий)
> ipfw add 06100 nat 1 tcp from 10.60.0.122 80 to any out
это сработает благодаря тому, что исходящий пакет в любой интерфейс (без указания via NETDEV) вероятнее всего будет уходить в сторону провайдера. Но в общем случае - это не верно - может быть второй локальный сетевой интерфейс / подсеть.
> Заворчиваем подсеть 192.168.10.0/24 на провайдера (все остальные пакеты - ведь правило
> выше если бы это был порт 80 уже завернуло ответ и
> запрос на 80 порт веб сервера)
> ipfw add 06110 nat 1 all from 10.60.0.0/24 to any out via
> $IFACE
парой строк выше был уже коммент про маршрутизацию пакета.
> Разрешаем
> ipfw add 06910 allow ip from 192.168.137.1 to 192.168.10.0/24 out via tap1
Предполагаю, что это бред. Что за сеть 192.168.10.0/24 ?
2) Вы точно знаете, с какой подсети к вам приходят запросы на ваш пробрасываемый сервис, или всё-таки запросы приходят "отовсюду" ?
> ------------------------------------
> Вот тут мне не понятно
> ipfw add 06911 fwd $IFACE_GW ip from $IP_NATD1 to any out via
> $IFACE
ну там ниже объяснил уже много раз.
Прошу перечитать всё.