div.main {margin-left: 20pt; margin-right: 20pt}
Конфигурирование Socks5 Автор: Денис Колисниченко, dhsilabs@mail.ru Опубликовано:
12.03.2002 Оригинал: http://www.softerra.ru/freeos/16589/
После прочтения этой статьи я все-таки
рекомендую вам прочитать документацию по socks5 (man socks5.conf и man
libsocks5.conf). В статье я не буду останавливаться на таких вопросах как
«Что такое socks5?», так как они довольно подробно рассмотрены на сайте http://www.socks.nec.com/.
Если же вас все же интересуют подобные вопросы, рекомендую прочитать
дополнительную информацию (см. ссылки в конце статьи).
Установка
socks5 Настройка socks5
Настройка licq
(настройка socks5-клиента) Альтернативные
серверы socks5
Установка socks5
Прежде всего, нужно загрузить последнюю версию
прокси-сервера (http://www.socks.nec.com/) - на данный момент это v1.0 release
11. То есть вам нужно выкачать файл socks5-v1.0r11. Желательно также скачать
socks5tools – в нем находится сценарий для обработки протоколов сервера.
После распаковки выполните привычную последовательность команд:
./configure make make install При корректной сборке в каталоге
/etc будет создан файл socks5.conf, в котором и содержатся все настройки
сервера.
Настройка socks5
В большинстве случаев параметры по умолчанию
являются вполне приемлемыми. Сейчас рассмотрим пример конфигурационного файла, а
потом разберемся, что все это означает:
Листинг 1. Файл /etc/socks5.conf 1. set SOCKS5_NOREVERSEMAP
2. set SOCKS5_NOSERVICENAME
3. set SOCKS5_NOIDENT
4. set SOCKS5_MAXCHILD 128
5. set SOCKS5_TIMEOUT 10
6. auth - - u
7. permit u - - - - - -
8. interface 192.168.0. - eth0
В первой строке мы отменяем обратный резолвинг
адресов, благодаря чему сервер будет работать заметно быстрее. Вторая строка
означает, что мы будем протоколировать номера портов вместо имен сервисов.
Теоретически это тоже должно повысить эффективность работы сервера. Параметр
SOCKS5_NOIDENT запрещает рассылку клиентам ident-запросов. Четвертая строка
устанавливает максимально допустимое число потомков сервера - не жадничайте.
Пятая строка, как вы уже успели догадаться, устанавливает тайм-аут (10 секунд).
Практически вся настройка сервера выполняется с
помощью манипулирования командами auth и permit. Первая устанавливает тип
аутентификация, а вторая – разрешает доступ определенным хостам/пользователям.
Полный формат команды auth такой: auth source-host source-port auth-method
В данном случае мы будем запрашивать пароль со
всех пользователей (точнее, клиентов).
Формат команды permit: permit auth cmd src-host dest-host src-port dest-port [user-list]
В примере я разрешаю доступ всем и отовсюду с
использованием аутентификации. Если вас интересует более расширенный пример
использования команды permit, который демонстрирует всю гибкость этого
прокси-сервера, обратите внимание на этот: permit u cpubt 192.168. - - [100,1000] user
В данном случае мы разрешаем доступ пользователю
user (с использованием пароля, конечно). Пользователь user имеет право
использовать Connect, Ping, Udp, Bind и Traceroute с адресов 192.168.*.*.
Диапазон входящих (первый "-") и входящих (второй "-") портов - 100..1000.
Директива interface (листинг 1, строка 8)
разрешает все соединения от компьютеров с адресами 192.168.0.* (наша внутренняя
сеть) ко всем портам на интерфейса eth0. Кроме команды permit существует
противоположная ей команда deny с аналогичными параметрами.
Все! Мы уже настроили наш сервер. Осталось его
запустить: # /usr/local/bin/socks5 -f -s
При этом демон должен перейти в фоновый режим и
выводить диагностические сообщения на стандартный вывод (в нашем случае это
экран) Если сервер сконфигурирован правильно, вы должны увидеть примерно
следующее: 11410: Socks5 starting at Mon Mar 4 19:13:55 2002 in normal mode
После удачного запуска остановим сервер и
добавим его в скрипты автозагрузки системы: killall socks5
Чуть не забыл! Создайте файл /etc/socks5.passwd
- в нем содержатся имена пользователей и их пароли. Например, user 123456
resu 654321
Настройка licq
Клиент licq настраивается предельно просто.
После настройки и запуска сервера socks5 нужно пересобрать licq с поддержкой
socks5. Для этого запустите скрипт configure с параметром --enable-socks5 ./configure --enable-socks5
После этого выполните привычные команды: make;
make install Теперь нужно создать файл /etc/libsocks5.conf и добавить
в него строку: socks5 - - - - 192.168.0.1:port
192.168.0.1 – это адрес нашего socks5-сервера,
port - порт, необходимый клиенту.
Альтернативные серверы socks5
В качестве альтернативы серверу socks5 вы можете
использовать dante-socks.
Данный сервер использует файл конфигурации sockd.conf.
Листинг 2. Файл /etc/sockd.conf 1. internal: 192.168.0.1 port = 1080
2. external: 111.111.111.111
3. client pass {
4. from: 192.168.0.0/16 to: 0.0.0.0/0
5. }
6. pass {
7. from: 0.0.0.0/0 to: 192.168.0.0/16
8. command: bindreply udpreply
9. log: connect error
10. }
Параметр internal определяет наш внутренний
интерфейс (точнее, внутренний IP-адрес), а external – наш настоящий IP
(111.111.111.111). В блоке client pass указываются возможные клиенты нашего
сервера (сеть 192.168.0.0), а в блоке pass указываются имена узлов, которые
могут «общаться» с нашими клиентами. В данном случае мы разрешаем отвечать
клиентам всем узлам (0.0.0.0). Протоколировать мы будем только ошибки
соединения.
|