Страница 1 из 2
FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 8:00:57
Tuchka
Здравствуйте,
У меня следующая проблема. При попытке скачивания с
ftp ( fetch ftp:\\...) происходит долгое зависание и ничего не качается, при закачке с
http (fetch http:\\..) все качается удачно. Аналогично при закачке модулей и обновлении портов.
Описание системы:
Локальная сеть в фирме, компьютер
Windows на нем
VmWare c
FreeBSD 7. В интернет ходим через
Proxy server Squid. Все настройки брала из
Mozilla — Сеть, там брала IP адрес и порт (для
http и
ftpодинаковые настройки). Логин и пароль что для
http что для
ftp один и тот же ( в винде проверяла качает и так и так).
Вот настройки
make.conf:
Код: Выделить всё
# added by use.perl 2008-08-24 13:48:51
PERL_VER=5.8.8
PERL_VERSION=5.8.8
FETCH_ENV=HTTP_PROXY=http://login:pass@10.2.5.249:3128
FETCH_ENV=http_proxy=http://login:pass@10.2.5.249:3128
FETCH_ENV=FTP_PROXY=ftp://login:pass@10.2.5.249:3128
FETCH_ENV=ftp_proxy=ftp://login:pass@10.2.5.249:3128
FETCH_CMD=/usr/bin/fetch -ARrvp -T 10
Вот настройки для переменных окружения задавала в
/root/.cshrс:
Код: Выделить всё
....
setenv HTTP_PROXY http://login:pass@10.2.5.249:3128
setenv http_proxy http://login:pass@10.2.5.249:3128
setenv FTP_PROXY ftp://login:pass@10.2.5.249:3128
setenv ftp_proxy ftp://login:pass@10.2.5.249:3128
setenv FETCH_CMD "/usr/bin/fetch -ARrvp -T 10"
Также навсякий случай переменные окружения указала и в двух профилях
/root/.profile и
/etc/profile хотя похоже это не обязательно:
Код: Выделить всё
...
HTTP_PROXY=http://login:pass@10.2.5.249:3128
export HTTP_PROXY
FTP_PROXY=ftp://login:pass@10.2.5.249:3128
export FTP_PROXY
ftp_proxy=ftp://login:pass@10.2.5.249:3128
export ftp_proxy
Опять же повторюсь что с
http качает нормально, а что еще нужно прописать чтобы с
ftp качалось? Уже все перебрала, что делать не знаю.

Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 8:17:48
manefesto
тучка....оформлять тебя не учили ?
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 8:20:58
manefesto
обязательно бы иметь конфиг сквида
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 9:25:02
Tuchka
Получить конфиг никак не могу. Или вы знаете команду с помощью которой этот прокси может прислать свой конфиг?
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 9:29:02
zingel
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 9:46:48
Tuchka
Прокси сервер мне не доступен, поэтому конфиг сквида получить не могу
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 10:29:59
zg
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 10:37:58
Tuchka
Код: Выделить всё
freeserver# set | grep -i proxy
freeserver# sh -c 'set | grep -i proxy'
FTP_PROXY=ftp://login:pass@10.2.5.249:3128
HTTP_PROXY=http://login:pass@10.2.5.249:3128
ftp_proxy=ftp://login:pass@10.2.5.249:3128
http_proxy=http://login:pass@10.2.5.249:3128
freeserver#
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 10:55:22
Tuchka
Повторюсь в винде настройки для Mozilla стоит галочка что для http что для ftp один и тот же адрес сервера один и тот же порт. И винда отлично конектиться и к ссылкам по http и ftp. А в FreeBSD только по http получается скачивать.
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 11:11:53
zg
попробуй не прописывать протокол, а указать просто
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 13:23:50
Tuchka
zg писал(а):попробуй не прописывать протокол, а указать просто
Попробовала но не помогло. Стало работать когда для
ftp_proxy прописала вместо
ftp:\\ http:\\
А именно:
Код: Выделить всё
freeserver# cat /etc/make.conf
# added by use.perl 2008-08-24 13:48:51
PERL_VER=5.8.8
PERL_VERSION=5.8.8
FETCH_ENV=HTTP_PROXY=http://login:pass@10.2.5.249:3128
FETCH_ENV=http_proxy=http://login:pass@10.2.5.249:3128
FETCH_ENV=FTP_PROXY=http://login:pass@10.2.5.249:3128
FETCH_ENV=ftp_proxy=http://login:pass@10.2.5.249:3128
FETCH_CMD=/usr/bin/fetch -ARrvp -T 10
freeserver#
Так заработало!
Всем все равно большое спасибо.
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 13:28:31
Tuchka
Т.е. для переменной ftp_proxy нужно было указать протокол http
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 13:29:02
daemonmike
Понятно, все дело было в протокле...
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-19 14:11:50
zg
Tuchka писал(а):Стало работать когда для ftp_proxy прописала вместо ftp:\\ http:\\
от жеж как меня клинануло - ведь когда ftp работает через проксю (не сокс, а обычный сквид), то он использует именно HTTP

стока раз клиенты из-за этого жаловались, что не могли ничего залить на фтп, а ведь именно из-за протокола

ну главное, что трабла решилась невпользу траблы

Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 9:49:11
Tuchka
Теперь другая проблема fetch ходит и качает по ссылкам ftp и http хорошо. А ftp (/usr/bin/ftp) через проски идти не хочет и ничего не качает, хотя переменные окружения у него такие же как у fetch, вот что говорит ftp - set:
ftp> set
anonpass root@
ftp_proxy
http://login:pass@10.2.5.249:3128
http_proxy
http://login:pass@10.2.5.249:3128
no_proxy
pager more
prompt ftp>
rprompt
ftp>
Помогите разобраться, как заставить ходить ftp через прокси.
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 11:25:30
zg
Код: Выделить всё
zg# cat 2.sh
#!/bin/sh
ftp_proxy=http://127.0.0.1:3128
export ftp_proxy
ftp -o 2.bin "ftp://ftp.freebsd.org/pub/FreeBSD/README.TXT"
zg# ./2.sh
Requesting ftp://ftp.freebsd.org/pub/FreeBSD/README.TXT
(via 127.0.0.1:3128)
6581 55.36 KB/s
6581 bytes retrieved in 00:00 (55.30 KB/s)
zg#
Код: Выделить всё
zg# tail -f access.log
1221677840.394 2466 127.0.0.1 TCP_MISS/200 6844 GET ftp://ftp.freebsd.org/pub/FreeBSD/README.TXT - DIRECT/62.243.72.50 text/plain
Код: Выделить всё
zg# cat /usr/local/etc/squid/squid.conf
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
# Allow all
icp_access allow all
http_access allow all
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
access_log /usr/local/squid/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
coredump_dir /usr/local/squid/cache
сквид поставил только ради эксперимента... всё нормально работает

Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 18:59:09
Tuchka
Да, так действительно работает. Извиняюсь за вопрос. Но написала я это из-за того что не получается установить модули перла с помощью команды:
вот вывод этой команды:
Код: Выделить всё
freeserver# perl -MCPAN -e 'install "GD"'
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Warning: Found only 0 objects in /root/.cpan/Metadata
LWP not available
CPAN: Net::FTP loaded ok
Fetching with Net::FTP:
ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz
Issuing "/usr/bin/ftp -n"
ftp: hostname nor servname provided, or not known
Not connected.
Local directory now: /root/.cpan/sources/authors
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz.
Please check, if the URLs I found in your configuration file () are valid.
The urllist can be edited. E.g. with 'o conf urllist push ftp://myurl/'
Could not fetch authors/01mailrc.txt.gz
LWP not available
Fetching with Net::FTP:
ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz
Issuing "/usr/bin/ftp -n"
ftp: hostname nor servname provided, or not known
Not connected.
Local directory now: /root/.cpan/sources/modules
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz.
Please check, if the URLs I found in your configuration file () are valid.
The urllist can be edited. E.g. with 'o conf urllist push ftp://myurl/'
Could not fetch modules/02packages.details.txt.gz
LWP not available
Fetching with Net::FTP:
ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz
Issuing "/usr/bin/ftp -n"
ftp: hostname nor servname provided, or not known
Not connected.
Local directory now: /root/.cpan/sources/modules
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz.
Please check, if the URLs I found in your configuration file () are valid.
The urllist can be edited. E.g. with 'o conf urllist push ftp://myurl/'
Could not fetch modules/03modlist.data.gz
Going to write /root/.cpan/Metadata
Warning: Cannot install GD, don't know what it is.
Try the command
i /GD/
to find objects with matching identifiers.
freeserver#
Возможно это совсем другая ошибка и нужно новую тему начинать, я просто подумала что именно в
ftp дело так как он через неё архивы скачивает.
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 19:34:36
zg
да, дело действительно в ftp, нужно только понять передаются ли ему глобальные переменные
для этого просто запусти
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 19:55:49
Tuchka
Глобальные переменные вроде схватывает
Код: Выделить всё
freeserver# sh -c 'echo $ftp_proxy'
http://login:pass@192.168.100.1:3128
freeserver#
Но все равно комманда установки модулей не работает:
Код: Выделить всё
freeserver# perl -MCPAN -e 'install "GD"'
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Warning: Found only 0 objects in /root/.cpan/Metadata
LWP not available
CPAN: Net::FTP loaded ok
Fetching with Net::FTP:
ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz
Issuing "/usr/bin/ftp -n"
ftp: hostname nor servname provided, or not known
Not connected.
Local directory now: /root/.cpan/sources/authors
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz.
Please check, if the URLs I found in your configuration file () are valid.
The urllist can be edited. E.g. with 'o conf urllist push ftp://myurl/'
Could not fetch authors/01mailrc.txt.gz
LWP not available
Fetching with Net::FTP:
ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz
Issuing "/usr/bin/ftp -n"
ftp: hostname nor servname provided, or not known
Not connected.
Local directory now: /root/.cpan/sources/modules
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
...
А к примеру это срабатывает:
Код: Выделить всё
ftp ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/CHECKSUM.MD5
Я у себя дома тоже подняла сквид (поэтому ипишник другой) в сквиде тоже все отмечается:
Код: Выделить всё
server# tail -1 access.log
1222012427.349 14 192.168.100.100 TCP_MEM_HIT/200 692 GET ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/CHECKSUM.MD5 - NONE/- text/plain
server#
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 20:05:41
zg
гм... видимо перл даёт новое окружение при запуске ftp... тут нужен специалист по перлу..
как вариант могу прделожить подменить /usr/bin/ftp на скрипт, который бы запускал ftp с переданными аргументами, но с установленными значениями прокси. Хотя это не лучший вариант, но точно сработает.
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 20:23:41
Tuchka
Буду ковырять тогда в сторону перла. Как что наковыряю обязательно напишу.
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 21:43:19
Tuchka
Написала
perl - скрипт(script.pl) с возвратом переменных окружения:
Код: Выделить всё
#!/usr/bin/perl
#print "$ENV{PATH}\n";
print "$ENV{HTTP_PROXY}\n";
print "$ENV{http_proxy}\n";
print "$ENV{FTP_PROXY}\n";
print "$ENV{ftp_proxy}\n";
Получаю корректные значения переменных:
Код: Выделить всё
freeserver# ./script.pl
http://login:pass@192.168.100.1:3128
http://login:pass@192.168.100.1:3128
http://login:pass@192.168.100.1:3128
http://login:pass@192.168.100.1:3128
freeserver#
Проверила, используя конфигурацию модуля
CPAN(модуль для установки перловых модулей), что значения
http_proxy и
ftp_proxy корректные:
Код: Выделить всё
freeserver# perl -MCPAN -e "shell"
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')
cpan> o conf
CPAN::Config options from /usr/local/lib/perl5/5.8.8/CPAN/Config.pm:
commit Commit changes to disk
defaults Reload defaults from disk
init Interactive setting of all options
build_cache 10
build_dir /root/.cpan/build
cache_metadata 1
cpan_home /root/.cpan
ftp /usr/bin/ftp
ftp_proxy http://login:pass@192.168.100.1:3128
getcwd cwd
gpg
gzip /usr/bin/gzip
histfile /root/.cpan/histfile
histsize 100
http_proxy http://login:pass@192.168.100.1:3128
inactivity_timeout 0
index_expire 1
inhibit_startup_message 0
keep_source_where /root/.cpan/sources
lynx
make /usr/bin/make
make_arg
make_install_arg
makepl_arg
ncftp
ncftpget
no_proxy
pager more
prerequisites_policy ask
proxy_user
scan_cache atstart
shell /bin/csh
tar /usr/bin/tar
term_is_latin 1
unzip /usr/local/bin/unzip
urllist
wget
cpan>
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 21:50:14
zg
Tuchka писал(а):freeserver# perl -MCPAN -e "shell"
Код: Выделить всё
zg# perl -MCPAN -e "shell"
/usr/local/lib/perl5/5.8.8/CPAN/Config.pm initialized.
CPAN is the world-wide archive of perl resources. It consists of about
100 sites that all replicate the same contents all around the globe.
Many countries have at least one CPAN site already. The resources
found on CPAN are easily accessible with the CPAN.pm module. If you
want to use CPAN.pm, you have to configure it properly.
If you do not want to enter a dialog now, you can answer 'no' to this
question and I'll try to autoconfigure. (Note: you can revisit this
dialog anytime later by typing 'o conf init' at the cpan prompt.)
Are you ready for manual configuration? [yes]
.....
If you're accessing the net via proxies, you can specify them in the
CPAN configuration or via environment variables. The variable in
the $CPAN::Config takes precedence.
Your ftp_proxy?
я понятия не имею что такое CPAN, но у него есть настройки, которые он видимо где-то создаёт и хранит, в том числе и прокси
вобщем
и в добрый путь

Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 22:13:50
Tuchka
Сделала настройку конфигурации в ручную:
Он вроде сам коррекстно определил переменные окружения:
Код: Выделить всё
...
...
If you're accessing the net via proxies, you can specify them in the
CPAN configuration or via environment variables. The variable in
the $CPAN::Config takes precedence.
Your ftp_proxy? [http://login:pass@192.168.100.1:3128]
Your http_proxy? [http://login:pass@192.168.100.1:3128]
Your no_proxy?
If your proxy is an authenticating proxy, you can store your username
permanently. If you do not want that, just press RETURN. You will then
be asked for your username in every future session.
...
...
Тем не менее качать через squid не хочет, он к нему просто не обращается даже.
PS: А что такое no_proxy?
Re: FreeBSD не скачивает c ftp через proxy
Добавлено: 2008-09-21 22:35:31
gloom
no_proxy означает не использовать прокси даже если он прописан