nylon - socks5 сервер FreeBSD


Автор H@wk!

Для начала, что такое "socks" (по материалам Википедии):

SOCKS — сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволлами). SOCKS — это сокращение от «SOCKetS» (сокеты, гнёзда).

Клиенты за межсетевым экраном, нуждающиеся в доступе к внешним серверам, вместо этого могут соединяться с SOCKS прокси сервером. Такой прокси сервер контролирует права клиента для доступа к внешним ресурсам и передаёт запрос к серверу. SOCKS может использоваться и противоположным способом, разрешая внешним клиентам соединяться с серверами за межсетевым экраном (брандмауэром).

nylon - очень простой сервер, разработка принадлежит команде OpenBSD, страничка проекта также очень проста: http://monkey.org/~marius/pages/?page=nylon

Установку проводим под FreeBSD:

cd /usr/ports/net/nylon/
make install clean

Конфиг не сложен, вот его содержимое с пояснениями:

#Общие настройки
[General]
#Число конкурентных соединений
No-Simultaneous-Conn=10
#Вести логи 1- да, 0 - нет
Log=1
#Вести подробные логи 0 - нет, 1 - да
Verbose=0
#Место нахождения pid файла
PIDfile=/var/run/nylon.pid
#Настройки сервера
[Server]
#Интерфейс на котором принимаем запросы
Binding-Interface=em0
#Интерфейс для исходящих соединений
Connecting-Interface=em1
#Порт на котором принимаем соединения
Port=1080
#Адреса от которых принимаем соединения
Allow-IP=127.0.0.1/32 192.168.0.0/24

Для запуска добавляем строчку в /etc/rc.conf:

nylon_enable=YES


echo "nylon_enable=YES" >> /etc/rc.conf

Для запуска вводим следующую команду:

/usr/local/etc/rc.d/nylon start


Пример рабочего конфигурационного файла:


# general settings
[General]

# number of simultaneous connections allowed
No-Simultaneous-Conn=10

# log connections and other information to syslog? 1: on, 0: off
Log=1

# be verbose on the console? 1: on, 0: off
Verbose=1

# store pid file
PIDfile=/var/run/nylon.pid

# server settings
[Server]

# interface to listen to connections
Binding-Interface=192.168.1.250 #это локальный адрес (на сетевой несколько адресов, поэтому явно указан)

# interface to bind outgoing connections to
Connecting-Interface=xx.xx.xxx.xxx #это внешний сетевой (на сетевой несколько адресов, поэтому явно указан)

# listening port to bind to
Port=1080 #это порт, который указывает клиент в ПО

# allowed is processed first, then deny

# allowable connect ips/ranges
#Allow-IP=141.0.0.0/8 127.0.0.1 10.0.0.0/24
Allow-IP=127.0.0.1/32 192.168.10.25 192.168.10.26 192.168.10.27 192.168.1.200 192.168.10.200 192.168.1.50 192.168.5.37 192.168.10.20 192.168.10.135 192.168.10.126 # вот тут я добавляю адреса локальной сети тех, кому можно выходить через данный сокс

# denied connect ips/ranges
#Deny-IP=192.0.0.0/24

http://unixa.ru

Обновлено: 12.03.2015