две сетевых (vr0 внешка, rl0 локал). нат транслирует адреса с локальной сети на внешнююзадача повернуть 80 порт на порт сквида 3128.. но редиректа не происходит.
ipnat.conf:
map vr0 192.168.1.0/24 -> 192.169.1.2/32 proxy port ftp ftp/tcp
map vr0 192.168.1.0/24 -> 192.169.1.2/32 portmap tcp/udp 1000:64000
map vr0 192.168.1.0/24 -> 192.169.1.2/32ipfw list:
00005 allow ip from any to any
00010 allow ip from any to me
00020 allow ip from me to any
00030 allow ip from 192.168.1.0/24 to 192.169.0.0/16
00030 allow ip from 192.169.0.0/16 to 192.168.1.0/24
00058 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any dst-port 80,8080,8081
65535 deny ip from any to anyфорвардинг в ипфв включен.
grep ipfw2 /var/run/dmesg.boot
ipfw2 initialized, divert enabled, rule-based forwarding enabled, default to deny, logging limited to 10 packets/entry by defaultпробую добавить в начало ipnat.conf
rdr rl0 192.168.254.0/24 port 80 -> 127.0.0.1 port 3128но глухо... порт идет на прямую на внешний интерфейс..
>[оверквотинг удален]
>
>ipnat.conf:
>
>map vr0 192.168.1.0/24 -> 192.169.1.2/32 proxy port ftp ftp/tcp
>map vr0 192.168.1.0/24 -> 192.169.1.2/32 portmap tcp/udp 1000:64000
>map vr0 192.168.1.0/24 -> 192.169.1.2/32
>
>ipfw list:
>
>00005 allow ip from any to anyгг
убейте себя ап стену
все что ниже - уже не влияет
>[оверквотинг удален]
>
>форвардинг в ипфв включен.
>grep ipfw2 /var/run/dmesg.boot
>ipfw2 initialized, divert enabled, rule-based forwarding enabled, default to deny, logging limited
>to 10 packets/entry by default
>
>пробую добавить в начало ipnat.conf
>rdr rl0 192.168.254.0/24 port 80 -> 127.0.0.1 port 3128
>
>но глухо... порт идет на прямую на внешний интерфейс..
и вас туда же.удаление 5 правила и перемещение 58-го в начало списка ни к чему не приводят..
>и вас туда же.в отличие от вас - я могу самостоятельно решать подобные вопросы.
>удаление 5 правила и перемещение 58-го в начало списка ни к чему
>не приводят..включите логирование (man ipfw). проследите процесс движения пакета через правила файрвола.
>в отличие от вас - я могу самостоятельно решать подобные вопросы.я тоже очень многое решаю самостоятельно. на форумах не частый гость. все приходит с опытом
>
>>в отличие от вас - я могу самостоятельно решать подобные вопросы.
>
>я тоже очень многое решаю самостоятельно. на форумах не частый гость. все
>приходит с опытомудачи :)
>00058 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any dst-port 80,8080,8081У самого была похожая проблема. Вылечилось после того, как указал направление и интерфейс:
04600 fwd 192.168.0.200,3128 ip from 192.168.0.0/24 to any dst-port 80 out via xl0
xl0 - соответственно, внешний интерфейс.
Кстати, если во всех правилах писать направление и интерфейс, это избавляет от большого количества ошибок.
%cat /etc/ipnat.rules
rdr vr0 0.0.0.0/0 port 80 -> 192.168.0.1 port 3128 tcp
rdr vr0 0.0.0.0/0 port 8080 -> 192.168.0.1 port 3128 tcpmap re0 192.168.0.0/0 -> 93.74.xxx.xxx/32 #volia
map xl0 192.168.0.0/0 -> 193.222.yyy.yyy/32 #skif
#Radmin redirects
rdr re0 93.74.xxx.xxx/32 port 10127 -> 192.168.0.27 port 4899 tcp
rdr xl0 193.222.yyy.yyy/32 port 10127 -> 192.168.0.27 port 4899 tcpВ этом примере перенаправляем всех юзеров на машинку со сквидом 192.168.0.1:3128 (она же и шлюз) с портов 80 и 8080. Потом делаем нат на внешние интерфейсы re0 и xl0. Резервный канал(re0) выбирается сменой шлюза по-умолчанию. Я набросал скриптик:
%cat /bin/re
#!/bin/shcase "$1" in
skif)
route change default 193.222.140.229
echo "Switched to Skif ISP"
;;
volia)
route change default 93.74.0.1
echo "Switched to Volia ISP"
;;
*)
echo "Usage: re -skif - switch to Skif ISP "
echo "re -volia - switch to the Volia ISP"
;;
esac