Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Популярный прокси-сервер, работающий по протоколу SOCKS5, поддерживает компания Permeo (

www.socks.permeo.com
). Я пользуюсь socks5 v1.0 release 11 и настройку рассмотрю на его примере. Этот сервер не в полной мере некоммерческий (лицензия — не GPL), поэтому вам может быть удобнее использовать альтернативы — DeleGate (
www.delegate.org
) или Dante (
www.inet.no/dante
). О последнем я скажу в п.18.10.4.

Все настройки сервера socks5 содержатся в конфигурационном файле

/etc/socks5.conf
. В большинстве случаев параметры по умолчанию вполне приемлемы. Сейчас мы рассмотрим пример конфигурационного файла (листинг 18.1), а потом разберемся, что все это означает.

Листинг 18.1. Файл /etc/socks5.conf

set SOCKS5_NOREVERSEMAP

set SOCKS5_NOSERVICENAME

set SOCKS5_NOIDENT

set SOCKS5_MAXCHILD 128

set SOCKS5_TIMEOUT 10

auth - - u

permit u - - - - - -

interface 192.168.0.
– eth0

В первой строке мы отменяем обратное разрешение адресов, благодаря чему сервер будет работать заметно быстрее. Вторая строка означает, что мы будем протоколировать номера портов вместо имен сервисов. Теоретически это тоже должно повысить эффективность работы сервера. Параметр SOCKS5_NOIDENT запрещает рассылку клиентам ident-запросов. Четвертая строка устанавливает максимально допустимое число потомков сервера — не жадничайте. Пятая строка, как вы уже успели догадаться, устанавливает тайм-аут (10 секунд).

Вся остальная настройка сервера выполняется с помощью директив auth и permit. Первая устанавливает тип аутентификации, а вторая разрешает доступ определенным узлам и пользователям. Полный формат директивы auth такой:

auth <исходный_узел> <исходный_порт> <метод_аутентификации>

В приведенном примере мы будем запрашивать пароль у всех клиентов.

Формат директивы permit:

permit <аутентификация> <команда> <исх_узел> <узел_назначения> <исх_порт> <порт_назнач> [список_пользователей]

В примере я разрешаю доступ всем и отовсюду с использованием аутентификации. Следующий пример использования директивы permit демонстрирует гибкость этого прокси-сервера:

permit u cpubt 192.168.
– - [100,1000] den

В этом примере мы разрешаем доступ пользователю den (с использованием пароля, конечно). Пользователь

den
имеет право использовать Connect, Ping, UDP, BIND и Traceroute (cpubt) с адресов 192.168.*.*. Диапазон входящих (первый «-») и исходящих (второй «-») портов — от 100 до 1000.

В дополнение к директиве permit можно использовать директиву deny такого же формата, но противоположного назначения (запрет доступа).

Директива interface в приведенном примере разрешает все соединения от компьютеров с адресами 192.168.0.* (наша внутренняя сеть) ко всем портам интерфейса

eth0
.

Имена и пароли пользователей сервера socks5 содержатся в файле

/etc/socks5.passwd
в формате
<имя> <незашифрованный_пароль>
. После создания этого файла настройку socks5 можно считать законченной.

18.10.3. Запуск сервера socks5

Запускается сервер следующей командой:

# /usr/local/bin/socks5 -f -s

При запуске с этими ключами демон должен перейти в фоновый режим и выводить диагностические сообщения на стандартный вывод (в нашем случае это экран). Если сервер сконфигурирован правильно, вы должны увидеть примерно следующее:

11410: Socks5 starting at Mon Mar 4 19:13:55 2002 in normal mode

После удачного запуска остановите сервер (

killall socks5
) и добавьте его запуск в сценарий автозагрузки системы.

18.10.4. Dante — еще один сервер SOCKS5

Этот сервер считается более простым в настройке. Он использует файл конфигурации

/etc/sockd.conf
(листинг 18.2).

Листинг 18.2. Примерный файл /etc/sockd.conf

internal: 192.168.0.1 port = 1080

external: 111.111.111.111

client pass {

 from: 192.168.0.0/16 to: 0.0.0.0/0

}

pass {

 from: 0.0.0.0/0 to: 192.168.0.0/16

 command: bindreply udpreply

 log: connect error

}

Директива internal определяет ваш внутренний интерфейс (точнее, внутренний IP-адрес), a external — ваш настоящий IP (111.111.111.111). В блоке client pass указываются возможные клиенты вашего сервера (сеть 192.168.0.0), а в блоке pass — имена узлов, которые могут «общаться» с вашими клиентами. В приведенном примере разрешается отвечать клиентам со всех узлов (0.0.0.0). Протоколироваться будут только ошибки соединения.

18.10.5. Настройка клиентов SOCKS5 (ICQ и licq)

Настройку клиентов будем рассматривать на примере двух самых, наверное, популярных SOCKS-клиентов. Сначала рассмотрим настройку программы ICQ для Windows, а потом licq — ICQ-клиента для Linux.

Запустите программу ICQ и нажмите на кнопку ICQ. Из появившегося меню выберите команду Preferences и перейдите в раздел Connections на вкладку Server (рис.18.3). Включите режим использования прокси-сервера и установите тип прокси-сервера — SOCKS5. Потом перейдите на вкладку Firewall и установите параметры прокси-сервера: имя, порт, тип (socks5), имя пользователя и пароль (рис. 18.4).

Рис. 18.3. Свойства соединения ICQ

Рис. 18.4. Параметры прокси-сервера

С программой licq будет немножко сложнее. Во-первых, нужно установить на компьютере пользователя программу runsocks, входящую в состав пакета прокси-сервера (эту программу можно также найти в Интернете отдельно), и перекомпилировать licq, включив поддержку SOCKS5. Для этого перейдите в каталог, содержащий исходные тексты licq, и запустите сценарий

configure
с параметром – -enable-socks5:

Поделиться:
Популярные книги

Неведомые поля (сборник)

Бигл Питер Сойер
Шедевры фантастики
Фантастика:
фэнтези
6.60
рейтинг книги
Неведомые поля (сборник)

Печать пожирателя 2

Соломенный Илья
2. Пожиратель
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
5.00
рейтинг книги
Печать пожирателя 2

Звездная Кровь. Экзарх VII

Рокотов Алексей
7. Экзарх
Фантастика:
боевая фантастика
рпг
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Звездная Кровь. Экзарх VII

Лондон

Резерфорд Эдвард
The Big Book
Проза:
историческая проза
6.67
рейтинг книги
Лондон

Инженерный Парадокс 9

Cyberdawn
9. Инженерный Парадокс
Фантастика:
боевая фантастика
юмористическое фэнтези
попаданцы
5.00
рейтинг книги
Инженерный Парадокс 9

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Андер Арес

Грехов Тимофей
1. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Андер Арес

Зауряд-врач

Дроздов Анатолий Федорович
1. Зауряд-врач
Фантастика:
альтернативная история
8.64
рейтинг книги
Зауряд-врач

Убивать чтобы жить 9

Бор Жорж
9. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 9

Академия

Щепетнов Евгений Владимирович
3. Петр Синельников
Фантастика:
фэнтези
6.20
рейтинг книги
Академия

Имперец. Том 4

Романов Михаил Яковлевич
3. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 4

На границе империй. Том 7. Часть 5

INDIGO
11. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 7. Часть 5

Я С СССР! Том 5

Вязовский Алексей
5. Я спас СССР
Фантастика:
альтернативная история
6.22
рейтинг книги
Я С СССР! Том 5