Документация по ОС FreeBSD Пятница, 26.04.2024, 10:16
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » cvs

CVSUP и установка софта через Proxy [2008]

При работе за прокси, люди испытывают неудобство при обновлении и установке портов.
Хотя, наверное, догадываются, что FreeBSD может элегантно обходить эти камни, но не знают как. Ну что же, поможем им еще полюбить фри за ее разносторонность. Обновление портов будем производить CVSUPом с использованием prtunnel. Это может быть из-за  отсутствия NAT, например, при некоторых конфигурациях спутникового интернета, религиозного вероисповедания начальства и т.п. Загружать исподники будем традиционно с помощью утилиты fetch только укажем, куда ей ходить

  Обновление портов CVSUP через прокси.
Prtunnel это:

prtunnel is a program that can tunnel TCP/IP connections in a variety of ways,
including through HTTP and SOCKS5 proxy servers. Some if its possible uses include:
 
1) Tunneling TCP connections from client programs to a remote server through an 
HTTP or SOCKS5 proxy (useful if you're behind such a proxy and want to use a program
that doesn't have native proxy support) 
2) Tunneling TCP connections from SOCKS-capable client programs through an HTTP or 
SOCKS5 proxy 
3) Tunneling TCP connections from an IPv4 client program to an IPv6 server and 
vice-versa 
4) Forwarding TCP connections 
5) Running as a simple SOCKS proxy server 
 
prtunnel is open source software available under a BSD-style license. It has been 
developed and used under Linux and BSD-based operating systems.

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

Инсталлируем

# cd /usr/ports/
# make search name='prtunnel'
Port:   prtunnel-0.2.7
Path:   /usr/ports/net/prtunnel
Info:   Tunnel for TCP connections using an HTTP or SOCKS5 proxy
Maint:  vd@FreeBSD.org
B-deps:
R-deps:
WWW:    http://joshbeam.com/software/prtunnel.php

 

# cd //usr/ports/net/prtunnel && make install clean 
~~~~~~~~~~~~~~~~~~~~~~~~
===> SECURITY REPORT:
      This port has installed the following files, which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/bin/prtunnel
 
      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.
 
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://joshbeam.com/software/prtunnel.php
===>  Cleaning for prtunnel-0.2.7


Настраиваем CVSUP для работы с prtunnel.
Теперь необходимо поправить конфиг cvsup.conf, чтобы он смог работать через туннель
В default host нужно указать 127.0.0.1, а не cvsupX.FreeBSD.org.

*default host=127.0.0.1
*default base=/usr
*default prefix=/usr
*default release=cvs
 
*default tag=RELENG_6_3
*default delete use-rel-suffix
*default compress
src-all
*default tag=RELENG_6_3
*default tag=.
ports-all
doc-all


Создаем туннель синхронизируемся и закрываем его.
Создаем туннель с cvsup5.FreeBSD.org

# prtunnel -t http -H IP_Proxy -P Port_Proxy -D 5999 cvsup5.FreeBSD.org 5999

 

prtunnel daemon started
Waiting for connection to port 5999...


Флаги:
-t <Типр прокси> По умолчанию стоит http (default), но можно использовать socks5, direct, direct6
-H адрес прокси
-P порт прокси
-u имя пользователь
-p пароль пользователя
-D используемый порт

Запускаем cvsup.

# cvsup -g -L 2 -z /etc/cvsup.conf


После синхронизации незабываем закрыть туннель.

killall -9 prtunnel

 

  Использования nc в качестве прокси для cvsup и csup.
Есть еще один метод синхронизации портов с использованием netcat.
В /etc/rc.conf добавляем:

inetd_enable="YES"

В настройку /etc/inetd.conf добавим следующее:

cvsup stream tcp nowait root /usr/bin/nc -xIP_Proxy:Port_Proxy -Xconnect cvsup5.FreeBSD.org 5999


Теперь необходимо поправить конфиг cvsup.conf и начать синхронизацию.
В default host нужно указать 127.0.0.1, а не cvsupX.FreeBSD.org.

*default host=127.0.0.1
*default base=/usr
*default prefix=/usr
*default release=cvs
 
*default tag=RELENG_6_3
*default delete use-rel-suffix
*default compress
src-all
*default tag=RELENG_6_3
*default tag=.
ports-all
doc-all


Так же nc можно командой запустить:

# nc -x192.168.0.8:3128 -Xconnect cvsup5.FreeBSD.org 5999
OK 17 0 SNAP_16_1h CVSup server ready

Проверяем и не прерывая сесии синхронизируемся.

# sockstat |grep nc
root nc 56423 3 tcp4 192.168.0.8:56595 192.168.0.8:3128

 

  Установка портов через прокси.
Как было упомянуто выше, будем использовать утилиту fetch.

# мan 3 fetch

нам говорит следующее:

EXAMPLES
To access a proxy server on proxy.example.com port 8080, set the
HTTP_PROXY environment variable in a manner similar to this:

HTTP_PROXY=http://proxy.example.com:8080

If the proxy server requires authentication, there are two options avail-
able for passing the authentication data. The first method is by using
the proxy URL:

HTTP_PROXY=http://<user>:<pwd>@proxy.example.com:8080

The second method is by using the HTTP_PROXY_AUTH environment variable:

HTTP_PROXY=http://proxy.example.com:8080
HTTP_PROXY_AUTH=basic:*:<user>:<pwd>


Исходя из рекомендаций в странице руководства пропишем в /etc/make.conf такие параметры.

FETCH_ENV=FTP_PROXY=http://IP_Proxy:Port_Proxy
FETCH_ENV=HTTP_PROXY=http://IP_Proxy:Port_Proxy


При авторизации в прокси используем следующие значения в /etc/make.conf

FETCH_ENV=FTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
FETCH_ENV=HTTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy


Или следующий метод авторизации с применением HTTP_PROXY_AUTH

HTTP_PROXY=http://IP_Proxy:Port_Proxy
HTTP_PROXY_AUTH=basic:*:<USER>:<PASS>


Что бы соединение и подключение происходил, в настройках прокси сервера разрешите метод http_connect на порт  5999



Источник: http://www.lissyara.su/?id=1579
Категория: cvs | Добавил: oleg (31.01.2008) | Автор: Raven2000
Просмотров: 5527 | Рейтинг: 4.5/2 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024