<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Dante_%D0%BD%D0%B0_FreeBSD</id>
	<title>Установка Dante на FreeBSD - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Dante_%D0%BD%D0%B0_FreeBSD"/>
	<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Dante_%D0%BD%D0%B0_FreeBSD&amp;action=history"/>
	<updated>2026-10-12T23:39:45Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Dante_%D0%BD%D0%B0_FreeBSD&amp;diff=383&amp;oldid=prev</id>
		<title>Admin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Dante_%D0%BD%D0%B0_FreeBSD&amp;diff=383&amp;oldid=prev"/>
		<updated>2023-02-27T18:39:19Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 21:39, 27 февраля 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Dante_%D0%BD%D0%B0_FreeBSD&amp;diff=382&amp;oldid=prev</id>
		<title>lor&gt;Cetjs2: атоматическая мандала</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Dante_%D0%BD%D0%B0_FreeBSD&amp;diff=382&amp;oldid=prev"/>
		<updated>2018-10-08T12:32:32Z</updated>

		<summary type="html">&lt;p&gt;атоматическая мандала&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''При написании статьи использовались материалы https://bvn13.tk/posts/dante-server-on-ubuntu-16-04-lts'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOCKS - сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволами). SOCKS — это сокращение от &amp;quot;SOCKet Secure&amp;quot;. SOCKS не зависит от конкретных протоколов уровня приложений (7-го уровня модели OSI) и базируется на стандарте TCP/IP — протоколе 4-го уровня.&lt;br /&gt;
&lt;br /&gt;
Хотя этот протокол разработан достаточно давно, он является относительно новым (по сравнению с HTTP proxy). SOCKS позволяет работать с любыми (версия Socks 4 - с TCP, Socks 5 - с TCP и UDP) протоколами. SOCKS proxy просто передает данные от клиента к серверу, не вникая в содержимое самих данных (поэтому он может работать с HTTP, FTP, SMTP, POP3, NNTP, etc.).&lt;br /&gt;
&lt;br /&gt;
== SOCKS-сервер Dante Server ==&lt;br /&gt;
&lt;br /&gt;
В коллекции пакетов FreeBSD 11.2 имеется последняя (на момент написания статьи) версия Dante Server 1.4.2. Если не требуется специальных опций при сборке, то использовать заранее подготовленный пакет наиболее предпочтительно (иначе можно использовать коллекцию портов, но этот вопрос останется за рамками этой статьи). Для авторизации клиентов будем использовать PAM.&lt;br /&gt;
&lt;br /&gt;
=== Устанавливаем пакет ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# pkg install dante&lt;br /&gt;
# pkg install pam_pwdfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Модуль ''pam_pwdfile'' не включен в состав базовой системы, его тоже сразу устанавливаем.&lt;br /&gt;
&lt;br /&gt;
=== Редактируем файл конфигурации ===&lt;br /&gt;
&lt;br /&gt;
Файл конфигурации расположен по адресу ''/usr/local/etc/sockd.conf''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
# Расположение лог-файла&lt;br /&gt;
logoutput: /var/log/socks.log&lt;br /&gt;
&lt;br /&gt;
# На каком сетевом интерфейсе и порту обслуживаем socks клиентов&lt;br /&gt;
internal: em0 port = 1080&lt;br /&gt;
&lt;br /&gt;
# С какого IP или интерфейса выходим во внешний мир&lt;br /&gt;
external: em0&lt;br /&gt;
#internal: x.x.x.x port = 1080&lt;br /&gt;
&lt;br /&gt;
# Используемый метод авторизации клиентов.&lt;br /&gt;
socksmethod: pam&lt;br /&gt;
&lt;br /&gt;
# От имени какого пользователя запускается сеервер&lt;br /&gt;
user.privileged: root&lt;br /&gt;
&lt;br /&gt;
# Понижение привелегий&lt;br /&gt;
user.unprivileged: nobody&lt;br /&gt;
&lt;br /&gt;
# Правила&lt;br /&gt;
client pass {&lt;br /&gt;
        from: 0.0.0.0/0 to: 0.0.0.0/0&lt;br /&gt;
        log: error connect disconnect&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
client block {&lt;br /&gt;
        from: 0.0.0.0/0 to: 0.0.0.0/0&lt;br /&gt;
        log: connect error&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
socks pass {&lt;br /&gt;
        from: 0.0.0.0/0 to: 0.0.0.0/0&lt;br /&gt;
        log: error connect disconnect&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
socks block {&lt;br /&gt;
        from: 0.0.0.0/0 to: 0.0.0.0/0&lt;br /&gt;
        log: connect error&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Полный конфигурационный файл всегда можно найти в ''/usr/local/etc/sockd.conf.sample'' (не редактируйте его, это пример).&lt;br /&gt;
&lt;br /&gt;
Для правильной настроки нужно указать сетевой интерфейс или IP адрес, запросы с которого будут проксироваться. Узнать имя сетевого интерфейса можно командой ''ifconfig''. Сокращенный вывод этой команды:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ifconfig&lt;br /&gt;
&lt;br /&gt;
em0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; metric 0 mtu 1500&lt;br /&gt;
&lt;br /&gt;
lo0: flags=8049&amp;lt;UP,LOOPBACK,RUNNING,MULTICAST&amp;gt; metric 0 mtu 16384&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка PAM ===&lt;br /&gt;
&lt;br /&gt;
Создаем файл ''/etc/pam.d/sockd'' с таким содержанием ([https://www.freebsd.org/doc/ru/articles/pam/pam-config.html подробнее])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
auth required pam_pwdfile.so pwdfile /root/sockd.passwd&lt;br /&gt;
account required pam_permit.so&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создаем файл паролей ''/root/sockd.passwd'' (описание формата в файле, каждый пользователь с новой строки)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
# User:password&lt;br /&gt;
UserOne:5f+wBjfFf5R|tYuEM9Kj&lt;br /&gt;
UserTwo:hb~A5},t5&amp;gt;.bnTOKzTDj&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для генерации паролей удобно использовать утилиту ''pwgen''.&lt;br /&gt;
Пример генерации 5 паролей длинной 20 символов с добавленийм ключей для повышенной безопасности и использования спецсимволов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ pwgen -ys 20 5&lt;br /&gt;
-Sgd'Ss-yHfEi+=2TJ?Y mvxWwFYg/[4EI2aw/:^` hb~A5},t5&amp;gt;.bnTOKzTDj&lt;br /&gt;
@9FGi0^Qp7;F91ao9vw| 5f+wBjfFf5R|tYuEM9Kj&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматический запуск Dante server ===&lt;br /&gt;
&lt;br /&gt;
Добавляем в файл ''/etc/rc.conf'' строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
sockd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запускаем сервер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
service sockd start&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверяем с клиента работоспособность с помощью ''curl'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
$ curl --socks5 'UserOne:5f+wBjfFf5R|tYuEM9Kj@x.x.x.x:1080' ifconfig.me&lt;br /&gt;
xxx.xxx.xxx.xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>lor&gt;Cetjs2</name></author>
	</entry>
</feed>