LINUX.ORG.RU
ФорумAdmin

файралл


0

0

Здравствуйте!
Есть такая проблема - фтп не ходит через сквид. Поставил редирект - странная картина. Вроде бы количество пакетов и байт через правило редиректа увеличивается, а tcpdump показывает, что все без изменений - вместо 3128 - порт 21. Результат - клиент вылетает по таймауту. Мой скрипт:
EXT="eth0"
INT="eth1"
EXTIP="x.y.z.q"
INTIP="192.168.0.1"
LOCALIPS="192.168.0.0/24"
ANY="any/0"
FTPCONNECT="21"
SQUID="3128"
ipchains -F
echo 1 >/proc/sys/net/ipv4/tcp_syncookies
echo 1 >/proc/sys/net/ipv4/ip_forward
ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward ACCEPT
ipchains -A input -i $INT -p tcp -d $ANY $FTPCONNECT -j REDIRECT $SQUID
ipchains -A forward -i $EXT -s $LOCALIPS -j MASQ

при попытке попасть на фтп tcpdump выдает:
15:08:00.567846 192.168.0.12.1026 > 192.168.0.1.53: 13+ A? ftp.cdrom.com. (31)
15:08:00.780418 192.168.0.1.53 > 192.168.0.12.1026: 13 2/2/0 CNAME[|domain] (DF)
15:08:00.781009 192.168.0.12.1067 > 207.250.14.14.21: S 3105565473:3105565473(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
15:08:00.781054 207.250.14.14.21 > 192.168.0.12.1067: S 657641746:657641746(0) ack 3105565474 win 5840 <mss 1460,nop,nop,sackOK> (DF)
15:08:00.781143 192.168.0.12.1067 > 207.250.14.14.21: . ack 1 win 64240 (DF)
15:08:30.031465 207.250.14.14.21 > 192.168.0.12.1067: F 1:1(0) ack 1 win 5840 (DF)
15:08:30.031587 192.168.0.12.1067 > 207.250.14.14.21: . ack 2 win 64240 (DF)
15:08:30.031662 192.168.0.12.1067 > 207.250.14.14.21: F 1:1(0) ack 2 win 64240 (DF)
15:08:30.031679 207.250.14.14.21 > 192.168.0.12.1067: . ack 2 win 5840 (DF)
15:08:30.125433 192.168.0.12.1068 > 207.250.14.14.21: S 3112308486:3112308486(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
15:08:30.125455 207.250.14.14.21 > 192.168.0.12.1068: S 685474090:685474090(0) ack 3112308487 win 5840 <mss 1460,nop,nop,sackOK> (DF)
15:08:30.125548 192.168.0.12.1068 > 207.250.14.14.21: . ack 1 win 64240 (DF)
15:09:00.021470 207.250.14.14.21 > 192.168.0.12.1068: F 1:1(0) ack 1 win 5840 (DF)
15:09:00.021594 192.168.0.12.1068 > 207.250.14.14.21: . ack 2 win 64240 (DF)
15:09:00.021668 192.168.0.12.1068 > 207.250.14.14.21: F 1:1(0) ack 2 win 64240 (DF)
15:09:00.021685 207.250.14.14.21 > 192.168.0.12.1068: . ack 2 win 5840 (DF)

Ньюанс. это все клиенты - winXP. Есть один клиент MacOs X. У него нормально работают установки прокси и он спокойно ходит в фтп в любом случае:

13:55:15.589409 grafika2.mydomain.49162 > ns.mydomain.squid: S 996570039:996570039(0) win 32768 <mss 1460,nop,wscale 0,nop,nop,timestamp 3326381975 0> (DF)
13:55:15.589506 ns.mydomain.squid > grafika2.mydomain.49162: S 361769060:361769060(0) ack 996570040 win 5792 <mss 1460,nop,nop,timestamp 58707757 3326381975,nop,wscale 0> (DF)
13:55:15.589675 grafika2.mydomain.49162 > ns.mydomain.squid: . ack 1 win 33304 <nop,nop,timestamp 3326381975 58707757> (DF)
13:55:15.599067 grafika2.mydomain.49162 > ns.mydomain.squid: P 1:311(310) ack 1 win 33304 <nop,nop,timestamp 3326381975 58707757> (DF)
13:55:15.599138 ns.mydomain.squid > grafika2.mydomain.49162: . ack 311 win 6432 <nop,nop,timestamp 58707758 3326381975> (DF)
13:55:17.784986 ns.mydomain.squid > grafika2.mydomain.49162: P 1:193(192) ack 311 win 6432 <nop,nop,timestamp 58707977 3326381975> (DF)
13:55:17.786539 ns.mydomain.squid > grafika2.mydomain.49162: P 193:732(539) ack 311 win 6432 <nop,nop,timestamp 58707977 3326381975> (DF)
13:55:17.874030 grafika2.mydomain.49162 > ns.mydomain.squid: . ack 732 win 33304 <nop,nop,timestamp 3326381980 58707977> (DF)
13:55:17.874084 ns.mydomain.squid > grafika2.mydomain.49162: P 732:1764(1032) ack 311 win 6432 <nop,nop,timestamp 58707986 3326381980> (DF)
13:55:17.999470 ns.mydomain.squid > grafika2.mydomain.49162: P 1764:1894(130) ack 311 win 6432 <nop,nop,timestamp 58707998 3326381980> (DF)
13:55:17.999635 ns.mydomain.squid > grafika2.mydomain.49162: F 1894:1894(0) ack 311 win 6432 <nop,nop,timestamp 58707998 3326381980> (DF)
13:55:17.999766 grafika2.mydomain.49162 > ns.mydomain.squid: . ack 1895 win 33174 <nop,nop,timestamp 3326381980 58707986> (DF)
13:55:18.245333 grafika2.mydomain.49162 > ns.mydomain.squid: F 311:311(0) ack 1895 win 33174 <nop,nop,timestamp 3326381980 58707986> (DF)
13:55:18.245359 ns.mydomain.squid > grafika2.mydomain.49162: . ack 312 win 6432 <nop,nop,timestamp 58708023 3326381980> (DF)

Извините, что так длинно. Не надо напоминать о passive mode и т.д. - все сделано. В чем загвоздка?

anonymous

FTP по-моему нельзя заворачивать -j REDIRECT-ом на squid, т.к. squid ждет прихода http-запроса, а приходит FTP-запрос. Browser (или что там у вас) ведь не знает, что это все в конечном итоге пойдет через proxy, он думает, что общается напрямую с FTP-сервером. А когда явно указано "ходить через proxy", тогда клиент уже знает как общаться со squid-ом, чтоб тот залез на FTP.

spirit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.