Компиляция и установка сервера данте из исходников для Ubuntu 16.04

Репозитории apt для сервера dante для Ubuntu 16.04 устарели (версия 1.1). Поэтому мне нужно скомпилировать программу из исходного кода и установить ее, потому что я не хочу использовать ненадежный PPA.

Обычно, когда я устанавливаю из репозиториев, apt install dante-server и он устанавливается! и если вы выполните danted -v , он распечатает версию, и вы можете отредактировать файл конфигурации dante в /etc/danted.conf и перезапустить службу danted и используйте свой прокси-сервер! Но когда я компилирую и устанавливаю программу, она по-прежнему не работает так, как я описал.


Вот что я сделал на данный момент:

Я загрузил dante-1.4.2.tar.gz с их веб-сайта https://www.inet.no/dante/download.html и сделал:

./configure
make
make check
sudo make install

Но когда я пробую danted -v , я вижу, что он еще не установлен (также проверено в / usr / bin и / usr / sbin ] и /etc/init.d ). Итак, из файла readme INSTALL внутри загруженного файла tar.gz я узнал, что программа устанавливается в / usr / local .

$ ls /usr/local/bin
socksify
$ ls /usr/local/sbin
sockd

Но, как видите, он не установлен, установлены только socksify и sockd. Я считаю, что sockd является зависимостью от данте-сервера.

Кроме того, я не нашел службы с именем danted в systemctl, как мне установить службу?

настроить статус:

                 Configure status:

Client:            Enabled
Server:            Enabled
Preloading:        Enabled
Libwrap:           Disabled, tcpd.h missing
BSD Auth:          Disabled, usable bsd_auth.h not found
PAM:               Disabled, security/pam_appl.h missing
GSSAPI:            Not found/disabled
KRB5:              Not found/disabled
SASL:              Not found/disabled
UPNP:              Not found/disabled
Compatability:     issetugid setproctitle strlcpy strvis

                     Modules:

redirect:          Not found
bandwidth:         Not found
ldap:              Not found
0
задан 5 April 2020 в 23:22

2 ответа

Похоже, что двоичный файл был правильно установлен - он называется sockd . Это имя по умолчанию для этого двоичного файла. Вы можете переименовать его с помощью mv / usr / local / sbin / sockd / usr / local / sbin / danted . Вы можете настроить это вместе с файлом конфигурации по умолчанию с такими параметрами конфигурации, как - с помощью -sockd-conf = FILE То же самое и с двоичным файлом apache2 в Ubuntu. В RHEL / Fedora этот двоичный файл называется httpd .

Поскольку вы редактировали свой вопрос несколько раз, некоторые из них могут больше не казаться актуальными:

При компиляции / установке вручную расположение по умолчанию для установки двоичных файлов - / usr / local / bin . Убедитесь, что это переменная PATH с помощью echo $ PATH .

libscompat / timer.h - файл заголовка C.

/usr/local/man/man5/socks.conf не является файлом конфигурации, это страница man .

Прочтите содержимое этого файла с помощью man /usr/local/man/man5/socks.conf, и вы получите представление о том, что поместить в /etc/socks.conf

Обычно вы можете включить это с помощью systemctl enable dante.service , но вам нужно будет вручную создать служебный файл systemd в / usr / lib / systemd / system /

Вот пример danted.service от 20.04:

[Unit]
Description=SOCKS (v4 and v5) proxy daemon (danted)
Documentation=man:danted(8) man:danted.conf(5)
After=network.target

[Service]
Type=simple
PIDFile=/run/danted.pid
ExecStart=/usr/sbin/danted
ExecStartPre=/bin/sh -c ' \
    uid=`sed -n -e "s/[[:space:]]//g" -e "s/#.*//" -e "/^user\\.privileged/{s/[^:]*://p;q;}" /etc/danted.conf`; \
    if [ -n "$uid" ]; then \
        touch /var/run/danted.pid; \
        chown $uid /var/run/danted.pid; \
    fi \
    '
PrivateTmp=yes
InaccessibleDirectories=/boot /home /media /mnt /opt /root
ReadOnlyDirectories=/bin /etc /lib -/lib64 /sbin /usr /var
DeviceAllow=/dev/null rw

[Install]
WantedBy=multi-user.target
3
ответ дан 24 April 2020 в 01:35

Когда вы устанавливаете сервер dante из исходного кода/tarball-файла, он устанавливает двоичный файл как sockd в /usr/bin. Вы можете переименовать двоичный файл sockd в dante, если хотите. Если вы это сделаете, вам также необходимо обновить имя в служебном файле.

Вы можете настроить сервер dante в /etc/sockd.conf. Пример конфигурации ниже.

internal: eth0 port = 3000
external: INSERT-YOUR-EXTERNAL-IP
socksmethod: none
logoutput: syslog stdout /var/log/sockd.log
client pass {
  from: 0.0.0.0/0 port 1-65535 to: 0.0.0.0/0
  clientmethod: none
  log: connect error
}
socks pass {
  from: 0.0.0.0/0 port 1-65535 to: 0.0.0.0/0
  clientmethod: none
  log: connect error
}

Когда вы устанавливаете сервер dante путем компиляции из исходного кода, Служба sockd не создается, но вы можете создать службу sockd вручную.

sudo nano /etc/systemd/system/sockd.service

Скопируйте содержимое ниже в редактор, сохраните и закройте его.

[Unit]
Description=Sockd Service
[Service]
Type=normal
ExecStart=/usr/local/sbin/sockd
[Install]
WantedBy=multi-user.target

Вы сможете запустить службу sockd и включить ее при загрузке.

sudo systemctl start sockd
sudo systemctl enable sockd
1
ответ дан 26 April 2020 в 08:56

Другие вопросы по тегам:

Похожие вопросы: