URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 3700
[ Назад ]

Исходное сообщение
"редирект портов ipfw"

Отправлено SatanaClause , 21-Ноя-05 17:02 
Воюю с freebsd 5.3, 5.4 и щас уже поставил 6.0 везде одна и таже проблема.

192.168.234.0/24 - первая локальная (роутер 192.168.234.254)
192.168.1.0/24 - вторая локальная сеть

В машине одна сетевая (rl0) ип 192.168.234.52 и алиас 192.168.1.1

Есть squid 2.5.11 на 3128 порту у 192.168.234.52 и 192.168.1.1 (собирал по дефорту из портов) и squidGuard 1.2.0

Если на клиенской машине прописать прокси то все работает, я хочу сделать невидимый прокси, для этого собрал ядро с

options         IPFIREWALL
options         IPFIREWALL_FORWARD
options         IPFIREWALL_FORWARD_EXTENDED
options         IPDIVERT

потом в фаервол пытался добавлять в тичение 2 недель разлицные вареанты fwd, и результат нулевой.

само правило fwd работает, проверил так для сети 192.168.1.0/24 запретил вход на порт 3128 и сделал
${fwcmd} add fwd 192.168.234.52,3128 log tcp from 192.168.1.0/24 to any 3128
в инет выхожу нормально

но если делать чтото типо
${fwcmd} add fwd 127.0.0.1,3128 log tcp from any to any 80
то результат нулево, причем cудя по логу пакеты успешно ходят

kernel: ipfw: 2300 Forward to 127.0.0.1:3128 TCP 192.168.1.200:1592 69.20.16.91:80 in via rl0
kernel: ipfw: 2300 Forward to 127.0.0.1:3128 TCP 192.168.1.200:1593 66.102.9.147:80 in via rl0

я пробывал и тоже самое проделать натом, порты нереадресовывать нехочет, пробывал вставлять до правила и после
${fwcmd} add divert natd all from any to any via ${natd_interface}
и в rc.conf прописывал
natd_enable="YES"
natd_interface="rl0"

пробывал разделять сети вставляя вторую сетевую и подключая к ней клиенскую машину, перепродывал все примеры что смог найти. Максимум что получилось это переадресовать ип адреса.


Содержание

Сообщения в этом обсуждении
"редирект портов ipfw"
Отправлено lenin , 22-Ноя-05 10:08 
Правильно надо написать
${fwcmd} add fwd 127.0.0.1,3128 log tcp from 192.168.1.0/24 to any 80
причем до правил ната, а то нат будет отрабатывать и форвардить будет уже нечего и настроить сквид на транспарент, т.е для данного случая добавить
httpd_accel_host virtual 80
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


"редирект портов ipfw"
Отправлено SatanaClause , 22-Ноя-05 10:49 
и так я тоже пробывал
правило
${fwcmd} add fwd 127.0.0.1,3128 log tcp from 192.168.1.0/24 to any 80

лог
ipfw: 2600 Forward to 127.0.0.1:3128 TCP 192.168.1.200:1092 64.233.167.147:80 in via rl0

ipfw show
02600   10     480 fwd 127.0.0.1,3128 log logamount 20 tcp from 192.168.1.0/24 to any dst-port 80

в сквиде все именно так
httpd_accel_host virtual 80
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

вот весь
# ipfw show
00100   0     0 allow ip from any to any via lo0
00200   0     0 deny ip from any to 127.0.0.0/8
00300   0     0 deny ip from 127.0.0.0/8 to any
00400   0     0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00500   0     0 deny icmp from any to any frag
00600   0     0 allow icmp from any to any
00700 172 45173 allow tcp from any to any established
00800   4   279 allow ip from 192.168.234.52 to any
00900   3   327 allow ip from 192.168.1.1 to any
01000   0     0 allow tcp from any to 192.168.234.52 dst-port 53 setup
01100   0     0 allow udp from any to 192.168.234.52 dst-port 53
01200   0     0 allow udp from 192.168.234.52 53 to any
01300   0     0 allow tcp from any to 192.168.1.1 dst-port 53 setup
01400   3   179 allow udp from any to 192.168.1.1 dst-port 53
01500   0     0 allow udp from 192.168.1.1 53 to any
01600   0     0 allow udp from any to any dst-port 137
01700   2   458 allow udp from any to any dst-port 138
01800   0     0 allow tcp from any to 192.168.234.52 dst-port 22 setup
01900   0     0 allow tcp from any to 192.168.234.52 dst-port 80 setup
02000   0     0 allow tcp from 192.168.234.0/24 to 192.168.234.52 dst-port 3128 setup
02100   0     0 allow tcp from 192.168.1.0/24 to 192.168.1.1 dst-port 3128 setup
02200   0     0 allow ip from any to 192.168.234.52 dst-port 1025-49151 keep-state
02300   4   389 allow ip from any to 192.168.234.52 dst-port 49152-65535 keep-state
02400   0     0 allow ip from any to 192.168.1.1 dst-port 1025-49151 keep-state
02500   0     0 allow ip from any to 192.168.1.1 dst-port 49152-65535 keep-state
02600   3   144 fwd 127.0.0.1,3128 log logamount 20 tcp from 192.168.1.0/24 to any dst-port 80
65534   0     0 deny log logamount 20 ip from any to any
65535   0     0 deny ip from any to any

я пробывал и с натом и без него, один хрен. В логи сквида просто ничего непоявляется, какбудто пакеты уходят в некуда


"редирект портов ipfw"
Отправлено SatanaClause , 22-Ноя-05 11:33 
Експеремент номер II

Повесил сквид на 80 порт, прописал у клиента как прокси сервер, все работает, сделал

02600   35   1680 fwd 192.168.1.1,80 log logamount 20 tcp from 192.168.1.0/24 to any dst-port 80

лог
Nov 22 09:29:13 proxy kernel: ipfw: 2600 Forward to 192.168.1.1:80 TCP 192.168.1.200:1152 69.20.16.91:80 in via rl0
Nov 22 09:29:13 proxy kernel: ipfw: 2600 Forward to 192.168.1.1:80 TCP 192.168.1.200:1153 69.20.16.91:80 in via rl0
Nov 22 09:29:13 proxy kernel: ipfw: 2600 Forward to 192.168.1.1:80 TCP 192.168.1.200:1154 69.20.16.91:80 in via rl0
Nov 22 09:29:13 proxy kernel: ipfw: 2600 Forward to 192.168.1.1:80 TCP 192.168.1.200:1155 69.20.16.91:80 in via rl0
Nov 22 09:29:13 proxy kernel: ipfw: 2600 Forward to 192.168.1.1:80 TCP 192.168.1.200:1156 69.20.16.91:80 in via rl0
Nov 22 09:29:13 proxy kernel: ipfw: 2600 Forward to 192.168.1.1:80 TCP 192.168.1.200:1157 69.20.16.91:80 in via rl0


неработает, а таже самая конструкция но с редиректом из 192.168.1.0/24:3128 -> 192.168.234.52:3128 работает


"редирект портов ipfw"
Отправлено Alchemist , 11-Июл-08 09:13 
правило 700 поставь вниз куда-нибудь