3proxy — компактный, зараза, но мощный. Установка и настройка 3proxy

Написал(а): ZeroChaos| Когда: 17 февраля, 2010 г.

Захотелось мне тут с работы получить доступ к своим двум локальным сетям, доступным из дома. Простой и легковесный прокси-сервер с авторизацией — неплохое решение, на мой взгляд. 3proxy многоплатформенный компактный прокси-сервер, просто находка, ну не ставить же для таких простых задач SQUID, в самом деле. Вот об установке и настройке 3proxy на домашнем сервере мы и поговорим сегодня. Постарался сделать комментарии в конфиге как можно более подробными.

Приступим, пожалуй.

Для сборки:

sudo apt-get install build-essential

Скачиваем стабильную версию:

cd /usr/src
wget http://3proxy.ru/0.6.1/3proxy-0.6.1.tgz

Распаковываем:

tar zxvf 3proxy-0.6.1.tgz

Переходим в папку с исходниками:

cd 3proxy-0.6.1

Перед компиляцией добавим одну строчку, чтобы сервер был анонимным:

cd src
nano proxy.h

Добавить строку:

#define ANONYMOUS 1

Возвращаемся на уровень выше

cd ../

Собираем

make -f Makefile.Linux

Создаем директорию под лог-файлы, копируем бинарник ’3proxy’ и создаем конфиг ’3proxy.cfg’ в ‘/usr/local/3proxy’

mkdir -p /usr/local/3proxy/logs
cp 3proxy /usr/local/3proxy
cd /usr/local/3proxy
nano 3proxy.cfg

Пример моего конфига (изменен 25.09.2010):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#-------------3proxy.cfg------------
# ВНИМАНИЕ! Не должно быть пробелов
# перед любыми опциями конфигурации.
#-------------3proxy.cfg------------

# Важно указать данное значение, так как только при нем процесс 3proxy уйдет в background
daemon

# Записывать pid текущего процесса в файл
pidfile /usr/local/3proxy/3proxy.pid

# IP адреса
# меняем 192.168.1.2 на ip адрес вашего сервера (internal и external)
internal 192.168.1.2
external 192.168.1.2

# Пропишем правильные серверы имен, посмотрев их на своем сервере в /etc/resolv.conf
nserver 192.168.1.1

# Оставим размер кэша для запросов DNS по умолчанию
nscache 65536
# Равно как и таймауты
timeouts 1 5 30 60 180 1800 15 60

# Создаем двух пользователей zerochaos и zchaos и назначаем им пароли
users zerochaos:CL:password
users zchaos:CL:password

# Путь к логам и формат лога, к имени лога будет добавляться дата создания
log /usr/local/3proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

# Конфигурация FTP (ftp и icq), Web-proxy (http и https), SOCKS5-proxy
flush
auth strong
maxconn 32
# разрешим использовать прокси только тем пользователям, которых добавили в самом начале конфига и с определенным IP
allow zerochaos,zchaos 192.168.1.4,95.95.95.95 * * *
# запустим ftp прокси на порту 3127
#ftppr -p3127
# запустим web прокси на порту 3128
proxy -p3128
# запустим socks прокси на порту 3129
#socks -p3129

# Запустить административный веб-интерфейс на порту 8081
#admin -p8081

# Ограничиваем толщину канала для каждого пользователя, zerochaos и zchaos в 20000 bps
#bandlimin 20000 zerochaos,zchaos
#bandlimin 10000 test

# Отслеживать изменения в файле конфигурации
#monitor /usr/local/3proxy/3proxy.cfg

# Запускаем сервер от пользователя nobody
# (возможно в вашей ОС uid и gid пользователя nobody будут другими, для их определения воспользуйтесь командой id nobody)
setgid 65534
setuid 65534

Выставляем права

chown -R nobody:nogroup /usr/local/3proxy

Создаем init-script ’3proxy’ в ‘/etc/init.d’ (переписан с нуля 25.09.2010, идущий по умолчанию с дистрибутивом, иногда запускал 3proxy в двух экземплярах)

cd /etc/init.d
nano 3proxy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/3proxy/3proxy
DAEMON_OPTS=/usr/local/3proxy/3proxy.cfg
NAME=3proxy
DESC=3proxy

test -f $DAEMON || exit 0

set -e

case "$1" in
  start)
    echo -n "Starting $DESC: "
    start-stop-daemon --start --quiet --pidfile /usr/local/3proxy/$NAME.pid \
        --exec $DAEMON $DAEMON_OPTS
    echo "done."
    ;;
  stop)
    echo -n "Stopping $DESC: "
    start-stop-daemon --stop --quiet --pidfile /usr/local/3proxy/$NAME.pid \
        --exec $DAEMON
    echo "done."
    ;;
  *)
    N=/etc/init.d/$NAME
    # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
    echo "Usage: $N {start|stop}" >&2
    exit 1
    ;;
esac

exit 0

Выставляем права и добавляем в автозагрузку:

sudo chmod +x /etc/init.d/3proxy
sudo update-rc.d 3proxy defaults

Запускаем прокси-сервер

/etc/init.d/3proxy start

Проверяем слушается ли наш порт:

netstat -an | grep -i listen

Ну и проверим висит ли наш процесс:

ps ax | grep [3]proxy

На этом настройка закончена. Будут вопросы, задавайте в комментариях. Не смотря на подробные комментарии в конфиг-файле, советую почитать официальные маны на сайте, наверняка почерпнете что-то полезное для себя.

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

{ Комментариев - 53 … читайте их ниже или добавьте свой комментарий }

1 Алексей 28.02.10 в 11:01

Приветствую!
Спасибо, все вроде сделал, но 3proxy не стартует под infralinux почему-то. Пишет:
root@aleks-desktop:/etc/init.d# 3proxy start

[11]+ Stopped 3proxy start
root@aleks-desktop:/etc/init.d#
Конфиг вроде Ваш. Под виндой у меня со своим конфигом он работал кстати. А под Линукс я что-то не так делаю наверно…

ОтветитьОтветить
2 ZeroChaos 28.02.10 в 12:24

@Алексей: День добрый!
Судя по всему Вы пытаетесь запустить init-скрипт прямо из каталога ‘/etc/init.d’ (3proxy start), скорее всего Ваш дистрибутив linux-а попросту не понимает такой команды. Либо запускайте указывая полный путь ‘/etc/init.d/3proxy start’, либо, если уже находитесь в каталоге ‘/etc/init.d’ (Ваш случай), укажите командный обработчик shell-скрипта — ‘bash 3proxy start’, к примеру. Если дело не в этом, посмотрите что пишется при этом в log-файл.

ОтветитьОтветить
3 Алексей 28.02.10 в 16:59

@ZeroChaos:
Сейчас того компьютера нет под рукой, попробую вечером. Но что меня смутило — я пробовал просто запускать из каталога, где лежит исполняемый файл 3proxy, указывая ему через пробел файл конфигурации — проблема та же. Лог-файл не создается. Такое ощущение, что прокси начинает выролнятся, но аварийно завершается что ли. Но обязательно проверю Ваши советы — сам я с Линуксом первые разы работаю.

ОтветитьОтветить
4 Алексей 01.03.10 в 14:11

Что-то ничего не работает… Пробовал из терминала, из Гнома, запустить sudo mc, а а нем уже 3proxy 3proxy.cfg —
пишет — Stopped и никаких сообщений. Или я что-то не понимаю, и эту программу так запускать нельзя, или она не совместима с моим Линуксом? Но он вроде на базе Ubuntu.

ОтветитьОтветить
5 ZeroChaos 01.03.10 в 14:27

По описанию выше, мне сложно понять что Вы делаете не так. Извините, но это так, к сожалению я не телепат, а доступа к Вашей машине у меня нет. Нужно больше информации. Несовместима она с «Вашим Линуксом» быть не может, тем более Вы в нем же и компилировали бинарник. Запускайте используя init-скрипт, либо используя полные пути ‘/usr/local/3proxy/3proxy /usr/local/3proxy/3proxy.cfg’. Если у Вас правильный файл конфигурации, все должно запускаться без каких-либо проблем. Не забывайте, что не должно быть никаких пробелов перед/после любых опций в файле конфигурации. Дайте мне больше информации и я постараюсь помочь, пока же это не представляется возможным.

ОтветитьОтветить
6 proctoleha 07.03.10 в 20:37

Добрый вечер!
Я начинающий пингвинус. Искренне хочу уйти от мелкомягких. Стаж неделя. Так, что если вопросы будут тупыми, заранее извиняюсь.
Вы пишете:

1
Копируем бинарник 3proxy

Это что? Искал очень долго, не нашел. Методом тыка вычислил (надеюсь правильно), что это вроде бы proxy.sh. Во всяком случае при старте ошибки не выдало.
И тогда вопрос, что вы вообще подразумевали под бинарным, т.е. двоичным, файлом — это файл с расширением *.bin или что то другое? proxy.sh это вроде как сценарий оболочки, или попросту скрипт?

ОтветитьОтветить
7 proctoleha 07.03.10 в 20:43

ps: вдогонку — этот файл proxy.sh я тупо переименовал в 3proxy и после этого запустилось. До этого писал, что файл отсутствует.

ОтветитьОтветить
8 proctoleha 07.03.10 в 20:45

И еще — мысли разбегаются: у вас в начале статьи висит скрин, это откуда? У 3proxy есть графическая оболочка, или только под терминалом?

ОтветитьОтветить
9 proctoleha 07.03.10 в 20:53

Извините, еще раз решил проверить, вот что пишет, вроде как порта 3128 нет :((

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
alex@alex-PC:~$ netstat -an | grep -i listen
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN    
tcp6       0      0 ::1:631                 :::*                    LISTEN    
unix  2      [ ACC ]     STREAM     LISTENING     5975     @/tmp/gdm-session-uZEDmdHK
unix  2      [ ACC ]     STREAM     LISTENING     6194     /tmp/gpg-kOv9UG/S.gpg-agent
unix  2      [ ACC ]     STREAM     LISTENING     8563     /tmp/orbit-alex/linc-753-0-2ea5277041561
unix  2      [ ACC ]     STREAM     LISTENING     6796     /tmp/keyring-wbKMrS/socket
unix  2      [ ACC ]     STREAM     LISTENING     8531     /tmp/orbit-alex/linc-742-0-22da29c2693c
unix  2      [ ACC ]     STREAM     LISTENING     6578     /tmp/.ICE-unix/1556
unix  2      [ ACC ]     STREAM     LISTENING     5161     /var/run/avahi-daemon/socket
unix  2      [ ACC ]     STREAM     LISTENING     6805     /tmp/orbit-alex/linc-67d-0-4ba394d293f27
unix  2      [ ACC ]     STREAM     LISTENING     8869     /tmp/orbit-alex/linc-76a-0-3dc87c385ee19
unix  2      [ ACC ]     STREAM     LISTENING     5681     /var/run/cups/cups.sock
unix  2      [ ACC ]     STREAM     LISTENING     6809     /tmp/keyring-wbKMrS/socket.ssh
unix  2      [ ACC ]     STREAM     LISTENING     13995    /tmp/orbit-alex/linc-7f2-0-6ac12cd5b05ca
unix  2      [ ACC ]     STREAM     LISTENING     6296     /tmp/orbit-alex/linc-64d-0-2f60e8f0ddc9f
unix  2      [ ACC ]     STREAM     LISTENING     3364     @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     8861     /tmp/orbit-alex/linc-768-0-5090c7475e5d9
unix  2      [ ACC ]     STREAM     LISTENING     4924     /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     9375     /tmp/orbit-alex/linc-789-0-396200a91adca
unix  2      [ ACC ]     STREAM     LISTENING     6524     /tmp/orbit-alex/linc-64b-0-4e635474e5e73
unix  2      [ ACC ]     STREAM     LISTENING     5124     @/var/run/hald/dbus-5FZSVEE3wK
unix  2      [ ACC ]     STREAM     LISTENING     6244     /home/alex/.pulse/0c39294dd36ee8ab85830e314b9157c4-runtime/native
unix  2      [ ACC ]     STREAM     LISTENING     8567     /tmp/orbit-alex/linc-745-0-3719bc141f1b
unix  2      [ ACC ]     STREAM     LISTENING     6190     /tmp/ssh-WdLYDl1556/agent.1556
unix  2      [ ACC ]     STREAM     LISTENING     8905     /tmp/orbit-alex/linc-762-0-3085b2717f7b9
unix  2      [ ACC ]     STREAM     LISTENING     5812     @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     9026     /tmp/orbit-alex/linc-778-0-62a12be640e55
unix  2      [ ACC ]     STREAM     LISTENING     6595     /tmp/orbit-alex/linc-614-0-74b8aa127863
unix  2      [ ACC ]     STREAM     LISTENING     5757     /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     6811     /tmp/keyring-wbKMrS/socket.pkcs11
unix  2      [ ACC ]     STREAM     LISTENING     6925     /tmp/orbit-alex/linc-682-0-25aab57c2cb02
unix  2      [ ACC ]     STREAM     LISTENING     7869     /tmp/orbit-alex/linc-71a-0-31061e2b4ee79
unix  2      [ ACC ]     STREAM     LISTENING     108739   @/tmp/dbus-VgfgySVuVe
unix  2      [ ACC ]     STREAM     LISTENING     6207     @/tmp/dbus-OBSKDQGgKk
unix  2      [ ACC ]     STREAM     LISTENING     5308     @/var/run/hald/dbus-8GiHEJjI1o
unix  2      [ ACC ]     STREAM     LISTENING     6963     /tmp/orbit-alex/linc-68b-0-612f1c493ccc5
unix  2      [ ACC ]     STREAM     LISTENING     108606   /tmp/orbit-alex/linc-cea-0-2079fa61def9b
unix  2      [ ACC ]     STREAM     LISTENING     7261     /tmp/orbit-alex/linc-6e5-0-cf3be03f361b
unix  2      [ ACC ]     STREAM     LISTENING     95546    /tmp/orbit-alex/linc-c97-0-42a5f453c92aa
unix  2      [ ACC ]     STREAM     LISTENING     108756   /tmp/orbit-root/linc-cf2-0-59f15f3c4020
unix  2      [ ACC ]     STREAM     LISTENING     8600     /tmp/orbit-alex/linc-724-0-6463f4ffc057a
unix  2      [ ACC ]     STREAM     LISTENING     108772   /tmp/orbit-root/linc-ceb-0-5327f7d2c90d2
unix  2      [ ACC ]     STREAM     LISTENING     6241     /tmp/.esd-1000/socket
unix  2      [ ACC ]     STREAM     LISTENING     5813     /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     7571     /tmp/orbit-alex/linc-6e4-0-47a63ae66c861
unix  2      [ ACC ]     STREAM     LISTENING     7915     /tmp/orbit-alex/linc-726-0-75e607168958
unix  2      [ ACC ]     STREAM     LISTENING     6760     /tmp/orbit-alex/linc-67c-0-590627478b9ab
unix  2      [ ACC ]     STREAM     LISTENING     11032    /tmp/orbit-alex/linc-7ac-0-28ca468130055
unix  2      [ ACC ]     STREAM     LISTENING     6577     @/tmp/.ICE-unix/1556
alex@alex-PC:~$ ps ax | grep [3]proxy
 3591 ?        S      0:00 /tmp/3proxy-0.6.1/src/3proxy
ОтветитьОтветить
10 proctoleha 07.03.10 в 21:09

Где то я накосячил, после перезагрузки:

1
2
3
4
5
6
7
8
alex@alex-PC:~$ sudo /etc/init.d/3proxy start
Starting 3Proxy
Usage: /usr/local/3proxy/3proxy {start|stop|restart}

alex@alex-PC:~$ ps ax | grep [3]proxy
alex@alex-PC:~$ sudo /usr/local/3proxy/3proxy start
Starting 3Proxy
/usr/local/3proxy/3proxy: 47: /usr/local/etc/3proxy/bin/3proxy: not found

До этого, как я понимаю, процесс запускался из темпа.

ОтветитьОтветить
11 proctoleha 07.03.10 в 22:34

Ерунду, я тут все писал :((, почему то не компилируется файл 3proxy

1
2
3
 make[1]: *** [3proxy] Ошибка 1
make[1]: Выход из каталога `/tmp/3proxy-0.6.1/src'
make: *** [all] Ошибка 2
ОтветитьОтветить
12 ZeroChaos 07.03.10 в 22:36

@proctoleha: Вечер добрый!
Бинарник — это файл, получившийся после компиляции, ищите файл ’3proxy’ в папке с исходниками после выполнения ‘make -f Makefile.Linux’. proxy.sh — это действительно файл сценария, сценария инициализации запуска/остановки/перезапуска 3proxy. Скрин терминала, графической оболочки у 3proxy нет, есть минималистичная web-админка, но полезность ее весьма сомнительна.

ОтветитьОтветить
13 ZeroChaos 07.03.10 в 23:22

@proctoleha: Полный вывод ошибок где? Телепатов здесь нет.

ОтветитьОтветить
14 proctoleha 08.03.10 в 00:18

Долбодятел — это в плане критики про меня, вы писали о том, что нужно добавить одну строчку, чтобы проксик был анонимным, ее в конец ведь надо было добавлять? Тупо, но что пока поделаешь.
Все определилось и запустилось.
Вопрос по настройке: у меня серый адрес, dns тоже раздаются автоматом из диапазона 10.78.72.*, т.е /etc/resolv.conf выдает пусто, когда я отключен от интернета.
И что указывать в качестве external?

ОтветитьОтветить
15 ZeroChaos 09.03.10 в 15:40

127.0.0.1 попробуйте прописать в качестве dns, 0.0.0.0 в качестве external.

ОтветитьОтветить
16 proctoleha 09.03.10 в 23:51

Спасибо вам огромное за статью, и ответы на мои чайниковские вопросы.
Задача передо мной стояла простая как перпендикуляр: расшарить интернет на машину жены+расшарить диски с ntfs. Методом околонаучного тыка остановился пока на firestarter, все таки проще, один раз глюкнуло, пару раз перезагрузился, несколько раз матюгнулся и все заработало.
Спасибо еще раз.

ОтветитьОтветить
17 ZeroChaos 10.03.10 в 09:35

@proctoleha: Не за что. NAT для Вашей задачи действительно более простое решение. Чтобы расшарить диски, воспользуйтесь Samba, с примером конфига могу помочь.

ОтветитьОтветить
18 proctoleha 11.03.10 в 00:30

Ну ничего себе! Это же на какого гуру я набрел в сети! Это же на вашем MSI Lab я так долго сидел в начале своего знакомства с этим безумным компьютерным миром! И Вы находите время отвечать на мои, пока тупые вопросы! Спасибо!
А по поводу самбы: я еще не знаю, что и как нужно спрашивать, пока все сделал по простому:
shares-admin -> установить службу -> добавить ресурсы, а для корректной работы с ntfs разделами — ntfs configuration tool. Удачи Вам!

ОтветитьОтветить
19 ZeroChaos 11.03.10 в 09:30

@proctoleha: Спасибо, всегда приятно слышать слова благодарности.
С Samba все довольно-таки просто. То, что описали Вы, работа через какие-то графические надстройки, я не очень их признаю, тем более на сервере не должно быть никаких GUI. GUI мешает понять как работает то или иное приложение. Терминал и конфиг файлы — наше все. Поэтому я хотел бы привести Вам простой пример типичной настройки Samba-сервера.

Конфиг файл (/etc/samba/smb.conf):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#================== Global Settings ======================
[global]

# 1. Server Naming Options:
# Имя рабочей группы. Именно оно высвечивается в «Сетевом окружении».
   workgroup = zc

# NetBIOS-имя, под которым будет виден сервер остальным машинам сети.
# по умолчанию = hostname
  netbios name = zc-server

# Комментарий, появляющийся рядом с именем машины в "Сетевом окружении" Windows.
   server string = Home Server


# 2. Printing Options:
   printcap name = cups
   load printers = yes
   printing = cups


# 3. Logging Options:
# Параметры логирования - log.< имя_машины_клиента>
   log file = /var/log/samba/log.%m

# Put a capping on the size of the log files (in Kb).
# это кому скока не жалко
   max log size = 50


# 4. Security and Domain Membership Options:
# Следующий параметр влияет на безопасность. Hosts allow разрешает машинам с
# указанными IP-адресами присоединяться к Samba-серверу.
   hosts allow = 192.168.1. 192.168.0. 127. 10.

# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
# имя, под которым разрешен гостевой вход в систему
  guest account = nobody
# Allow users to map to guest:
  map to guest = bad user

# Уровень доступа. user — на уровне пользователя.
   security = share

# Поддержка шифрованных паролей
  encrypt passwords = true


# 5. Browser Control and Networking Options:
# Параметры оптимизации самбы,
# всеми рекомендуемые и проверенные опытным путем.
;   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
socket options = TCP_NODELAY IPTOS_LOWDELAY
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
dead time = 15
getwd cache = yes

# По умолчанию слушаются все интерфейсы, здесь можно указать конкретно
;   interfaces = 192.168.12.2/24 192.168.13.2/24


# 8. File Naming Options:
# Enabling internationalization:
dos charset = 866
unix charset = UTF-8
display charset = UTF-8

# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
;linpopup-removed    message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &

#================== Share Definitions ====================
# A publicly accessible directory, but read only, except for people in
# the "staff" group
# Отсюда можно будет только брать файлы
[Downloads]
   comment = Transmission catalog
   path = /home/transmission/Downloads
   public = yes
   writable = no
   admin users = transmission

# Общие каталоги для всех, полная анархия
[Exchange]
   comment = Exchange
   path = /home/zerochaos/Exchange
   public = yes
   only guest = yes
   writable = yes
   printable = no
   create mask = 0666
   directory mode = 0777

Запуск, остановка и перезапуск Samba:
sudo /etc/init.d/samba start
sudo /etc/init.d/samba stop
sudo /etc/init.d/samba restart

Да, небольшой совет, если Вы планируете в дальнейшем работать из под Linux, рассмотрите все-таки вариант перевода всех своих дисков на одну из родных файловых систем Linux-а. NTFS плохой для этого выбор, под Linux-ом нет его нативной поддержки, поэтому есть немного более высокая вероятность потерять свои ценные данные, чем в случае с родными файловыми системами.

ОтветитьОтветить
20 proctoleha 11.03.10 в 19:56

Все бы так объясняли как Вы, человеком себя начинаешь чувствовать. Действительно просто, лаконично, доступно. Стал сидеть на форуме убунты, не нравится отношение, выплюнут какой либо код и чеши репу дальше — что сказали, к чему…
Если бы я был сейчас на форуме, то админ бы меня однозначно зарубил — типа флуд пошел. Но тут Вы хозяин и поэтому хочу еще злоупотребить Вашим терпением :), россыпь вопросов:
1. Еще раз по поводу проксика: в мануале прочитал, что в конфиге работает команда include (возможно написал синтаксис команды с ошибками, с PHP на вы), возможно ли через нее подставлять серые DNS из /etc/resolv.conf ?
2. По поводу терминала, понимаю и стремлюсь, искренне хочу уйти от GUI, поэтому вопрос по поводу переадресации пакетов на соседнюю машину: юзаю firestarter, глючит. Пока не перезапустишь при запуске, сетки нет. Читал, что все настраивается через iptables, но опять же информация противоречивая, есть разночтения в описании настроек. Просветите пожалуйста.
3. Есть у меня жесткий диск, на котором скопилось гигов эдак 120 всего, что скоплено непосильным трудом. Есть ли корректно работающая программа для конвертации fs из ntfs в родной для unix формат? От windows уйду однозначно, вопрос времени.
С уважением Алексей Кулагин.

ОтветитьОтветить
21 proctoleha 11.03.10 в 20:25

И еще: подскажите пожалуйста html редактор под gnome, попробовал несколько — навскидку, с первого раза не впечатлили. Привык к Dreamweaver , особенно привык к автозаполнению, когда при вводе тега, тебе предлагают на выбор все, имеющиеся в наличии.

ОтветитьОтветить
22 proctoleha 11.03.10 в 22:16

С Вашим конфигом для самбы — заработало замечательно, до этого были проблемы с определением win машины.
Спасибо!
С уважением Алексей Кулагин.

ОтветитьОтветить
23 ZeroChaos 12.03.10 в 10:42

1. Не понимаю, что значит серые DNS? У провайдера обычно не больше двух-четырех DNS серверов, они и выдаются Вам ихним DHCP сервером. Именно они в /etc/resolv.conf и прописываются. Чтобы просмотреть, выполним:
cat /etc/resolv.conf
Далее, Вы можете вообще отказаться от использования DNS серверов провайдера и взять к примеру Google Public DNS:
8.8.8.8 и 8.8.4.4
Пропишите их. ;)
2. firestarter и есть графическая надстройка для iptables. iptables тема очень объемная и разобраться с цепочками правил без чтения полного мануала Вам будет довольно сложно. Я конечно могу Вам привести пример, но даже с подробными комментариями я думаю без мана по iptables Вам будет сложно понять как оно работает. Нужен пример?
3. Боюсь придется для начала перенести информацию на другой жесткий диск, отформатировать в родную fs и вернуть все данные назад. ;)
4. К сожалению или к счастью я сейчас не работаю с десктопным линуксом, Linux использую только на серверах, для десктопа мой выбор — Mac OS X, в ней для меня фаворитом является TextMate. Но посоветовать, пожалуй, могу, когда работал под линуксом не нашел ничего лучше, чем оттюнить gedit. Он легкий, быстро загружает объемные файлы, имеет встроенный ftp-клиент, расширяем за счет плагинов. Что еще нужно? Повозившись пару часов можно сделать из него конфетку. Вот Вам для начала статья по тюнингу gedit: http://bit.ly/dlhc7o
Всегда рад помочь. ;)

ОтветитьОтветить
24 ZeroChaos 12.03.10 в 12:34

Я тут подумал, что информация по iptables — тема для отдельной статьи:
http://zerolab.net/2010/03/12/iptables-v-dvux-slovax-osnovy-i-primer-konfiga/
Надеюсь это Вам хоть как-то поможет. Удачи! ;)

ОтветитьОтветить
25 proctoleha 12.03.10 в 18:40

Здорово!
Огромное спасибо за все! Толчок есть, что искать и чему учиться в общем понятно, напоследок только один самый последний вопрос: что Вы посоветуете по поводу виртуального сервера в никсах? В win тренировался на denwer’e. Мне не нужны настройки и мануалы, просто посоветуйте в какую сторону смотреть.
С уважением Алексей Кулагин.
зы: напоследок — в нашем маааааленьком городишке пингвинусов еще нет, я один такой больной на голову, посоветоваться не с кем, все методом самотыка и известной матери, так что еще раз спасибо.

ОтветитьОтветить
26 ZeroChaos 12.03.10 в 19:28

denwer, topserver и прочее из этой серии — это лишь огрызок web-сервера, иначе назвать не могу. Под линуксом Вам доступна вся мощь и все модули при настроенном web-сервере. В настройке нет абсолютно ничего сложного, виртуальные хосты на раз заводятся по заранее созданному шаблону. Я конечно понимаю, что denwer это просто и доступно, но такого простого решения под linux, насколько я знаю, нет, да впрочем оно и не нужно. Подобное решение есть под Mac OS X — MAMP и MAMP Pro, но сейчас речь не об этом. В Ubuntu/Debian классический LAMP полностью ставится из собранных пакетов в репозитории, нет ничего проще. Если остановить свой выбор на замечательном web-сервере nginx, то по нему у меня уже есть статья на этом сайте, по работе с MySQL из терминала так же есть статья. Впрочем, для начала я бы Вам все же посоветовал поставить phpMyAdmin, работа с мускулом будет проще и нагляднее. ;) С настройкой Apache тоже мог бы помочь, но боюсь на статью меня не хватит, больно простая и банальная тема. Удачи! Будут вопросы, задавайте. ;)
P.S. Что за город? Линуксоиды есть везде, я в этом уверен. ;)

ОтветитьОтветить
27 proctoleha 12.03.10 в 21:45

Есть такой город, называется Нерехта Костромской области. Население чуть больше 20 тыс. Всех более менее грамотных спецов можно пересчитать по пальцам, патриархальные нравы — все друг друга знают.
Есть и такие: один держал компьютерный отдел в магазине, потом что то не срослось, занялся шабашками, так не смог соединить два ноути и десктоп по WiFi, пришлось после него доделывать.

ОтветитьОтветить
28 ZeroChaos 13.03.10 в 23:52

Понятно. К слову сказать, когда осваивал никсы — у меня не было знакомых юниксоидов/линуксоидов у кого можно было бы проконсультироваться. Только книги и Интернет, но по мне так это и к лучшему, самообучение всегда наиболее эффективно. ;) Так что было бы желания, а со временем освоите все премудрости. ;) Удачи!

ОтветитьОтветить
29 bobo 05.07.10 в 18:26

@ZeroChaos: Полезность весьма сомнительна? Я так не думаю, а именно: при указании параметра writable в начале конфига, и monitor , в административной веб-морде можно будет напрямую менять конфиг из браузера, и не надо будет перезапускать сервер вручную, чтобы новый конфиг-файл прочитался, т.к. параметр monitor отследит изменения в конфигурационном файле, и сам перезапустит сервер. Не надо каждый раз заходит на сервер и перезапускать службу. И это не вся способность веб-морды. Также можно дать смертным пользователям прокси-сервера статистику о входящем и исходящем трафиках, без возможности просмотра конфиг.файла и других администраторских возможностей.
Я думаю, что веб-интерфейс весьма удобен и полезен.

ОтветитьОтветить
30 ZeroChaos 05.07.10 в 18:45

@bobo: Что ж, это было лишь мое мнение. ;) Для меня полезность столь минималистичной web-админки действительно весьма сомнительна, изменять же конфиг прокси-сервера приходится крайне редко. Но кому-то действительно это может показаться удобным, не зря ведь это реализовали, так что спорить не буду. ;)

ОтветитьОтветить
31 prx 13.09.10 в 10:03

Доброго дня.
Предпринял несколько попыток установить 3proxy. Сейчас решил воспользоваться Вашей инструкцией. Заминка произошла на этапе компиляции. После строки make … Makefile.Linux дает make: Makefile.Linux: Нет такого файла или каталога…
make: *** Нет правила для сборки цели ‘Makefile.Linux’. Останов.

ОтветитьОтветить
32 ZeroChaos 13.09.10 в 10:13

@prx: День добрый.
Полагаю Вы не перешли в каталог с исходниками.

ОтветитьОтветить
33 Boban 15.10.10 в 13:41

Кто нибудь объясните пожалуйста, вот с этим что делать не могу анонимным прокси сделать:
cd src
nano proxy.h
Добавить строку:
#define ANONYMOUS 1

После ввода nano proxy.h выдаёт ошибку command not found.

ОтветитьОтветить
34 ZeroChaos 15.10.10 в 13:43

@Boban: Значит у Вас в системе не установлен редактор nano, установите его или используйте тот, что уже есть в системе, к примеру vi или vim.

ОтветитьОтветить
35 pypeMutsCrups 02.04.11 в 05:00

Content inform appropriate me to beget collection

ОтветитьОтветить
36 FooFighter 25.04.11 в 10:18

Возникла такая проблема при запуске 3proxy.
/etc/init.d/3proxy start после ничего не происходит (в плане Starting 3proxy нет) . При нажатии стрелок выползают наборы символов. В чём возможна ошибка. Делал вроде все по инструкции.

ОтветитьОтветить
37 ZeroChaos 25.04.11 в 10:19

@FooFighter: Смотрите логи.

ОтветитьОтветить
38 FooFighter 25.04.11 в 11:24

Сие возникает при попытке запуска:
Starting 3Proxy
/etc/init.d/3proxy: line 14: /usr/local/etc/3proxy/bin/3proxy: Нет такого файла или каталога
А в файле лога сплошное Cannot assign requested address
Вроде всё по инструкции делал.

ОтветитьОтветить
39 ZeroChaos 25.04.11 в 11:28

@FooFighter: У Вас неправильный путь до бинарника ’3proxy’. В init-скрипте путь такой: ‘/usr/local/3proxy/3proxy’. У Вас же откуда-то взялся ‘/usr/local/etc/3proxy/bin/3proxy’.

ОтветитьОтветить
40 FooFighter 25.04.11 в 13:32

Starting 3Proxy прошло без ошибок, но дальше просто мигающий курсор и всё. при попытка ввода
ps ax | grep [3]proxy результат Unknown command: ‘ps’ line 1
После появляется обычная строка и таже команда выдаёт 3022 pts/0 R+ 0:00 grep 3proxy

ОтветитьОтветить
41 ZeroChaos 25.04.11 в 13:53

но дальше просто мигающий курсор и всё

А Вы чего ждали? :) Программа работает в режиме daemon.

ps ax | grep [3]proxy результат Unknown command: ‘ps’ line 1

Предлагаете мне подключиться к Вашей машине и посмотреть в чем проблема? Посмотрите в дереве процессов запущен ли 3proxy. Выполните ‘pstree’ в терминале.

ОтветитьОтветить
42 FooFighter 25.04.11 в 13:56

=( в дереве отсутствует любой похожий процесс. установил простейший конфиг

ОтветитьОтветить
43 ZeroChaos 25.04.11 в 14:05

@FooFighter: Значит проблемы в конфиге, я ведь не знаю настроек Вашей сети, может быть Вы не поправили конфиг в соответствии со своими настройками адресного пространства. Ошибка в логах «Cannot assign requested address» как бы на это намекает. Смотрите внимательно настройки internal, external и nserver. Я не видел настроек Вашей системы и помочь соответственно ничем не могу.

ОтветитьОтветить
44 FooFighter 25.04.11 в 14:30

пойду смотреть конфиг) Спасибо за содержательную статью и помощь. Мне как пользователю со стажем 3 дня очень помогло.)

ОтветитьОтветить
45 vessiorneProR 22.06.11 в 00:57

Hello all! I like this forum, i found many inviting people on this forum.!!!

Pronounced Community, consideration all!

ОтветитьОтветить
46 Poltarr 27.06.11 в 20:24

Здравствуйте. При выполнении update-rc.d 3proxy defaults возникает такая ошибка.
insserv: Starting vzquota depends on single and therefore on system facility `$all’ which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header

В ручную прокси сервер стартует, а в автозагрузке не хочет. Ставлю на VDS debian-6 Что может быть?

ОтветитьОтветить
47 ZeroChaos 28.06.11 в 07:49

@Poltarr: У Вас VDS работает на технологии виртуализации OpenVZ, вкупе с Debian Squeeze возникает проблема с vzquota. Решение проблемы можете нагуглить: http://bit.ly/isM7vN
Удачи!

ОтветитьОтветить
48 Poltarr 28.06.11 в 11:40

Спасибо помогло вписывание вот этого
В файле /etc/init.d/vzquota добавляем под строкой «#!/bin/sh» следующее:

### BEGIN INIT INFO
# Provides: vzquota
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start vzquota at the end of boot
# Description: This command is used to configure and see disk quota statistics for Containers.
### END INIT INFO

ОтветитьОтветить
49 Poltarr 01.07.11 в 15:43

Столкнулся с проблемой на хостинге reg.ru, установил 3proxy на план VPS-1 500 МГц 256 Мб, но когда я запускаю через один IP 3 авто серфинга начинает зашкаливать параметр numproc ограниченый на 100 процессов и мой VPS ложится намертво. Когда я ввожу команду netstat -anp | grep 80 и netstat -anp | grep 5555 то видно что через прокси идут параллельные потоки этих авто серфингов, в несколько каналов ну и количество процессов numproc равно им.
Как настроить 3proxy чтоб на один авто серфинг приходился один процесс?

ОтветитьОтветить
50 ZeroChaos 01.07.11 в 15:45

@Poltarr: Просите помощи в черном SEO? :)

ОтветитьОтветить
51 Poltarr 01.07.11 в 16:04

Нет, просто пытаюсь умножить доход увеличением количества IP.

ОтветитьОтветить
52 Виктор 15.10.11 в 16:35

Так все хлопаем в ладоши и говорим мне спасибо а не автору блога )))
бинарик надо было брать не отсюда
cp 3proxy /usr/local/3proxy
а от сюда
cp src/3proxy /usr/local/3proxy
он в папке src лежит послекомпиляции весит около 500кб , а до компиляции 49кб
кароче мучал я много чего почитал но этот автор адекватнее всех оказался )

P.S. на счет благодарностей я же пошутил, понятно же )
респект автору, только обнови статью

ОтветитьОтветить
53 Анатолий 05.01.12 в 00:11

Да действительно надо cp src/3proxy /usr/local/3proxy, а ещё у меня почемуто при ребуте 3прокси запускается 2 раза и соответственно виснет изза конфликта — если убить и заново пнуть скрипт то всё работает

ОтветитьОтветить

Оставить комментарий

Вы можете использовать HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
На сайте аватары обслуживаются системой Gravatar. При публикации сообщения, Вы можете указать свой e-mail в этой системе.