mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
add localhost config example, minor corrections
This commit is contained in:
parent
41c2d4602d
commit
f1dfa09883
1 changed files with 51 additions and 11 deletions
|
|
@ -116,17 +116,53 @@ ufw allow from a.a.a.a to b.b.b.b port 9150 proto tcp
|
||||||
* `a.a.a.a` - хост клієнта
|
* `a.a.a.a` - хост клієнта
|
||||||
* `b.b.b.b` - хост сервера
|
* `b.b.b.b` - хост сервера
|
||||||
|
|
||||||
## Системний сервіс
|
Для подальшого запуску з systemd, користувача створив наступним чином:
|
||||||
|
|
||||||
Сервіс systemd я пускаю від окремого користувача, до теки якого складатиму журнали і файл конфігурації:
|
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
sudo useradd -m arti
|
sudo useradd -m arti
|
||||||
```
|
```
|
||||||
|
* тобто, з домашньою текою, де роутер зберігатиме дані сесії за замочуванням - використовуючи змінні оточення `${ARTI_CACHE}` і `${ARTI_LOCAL_DATA}`
|
||||||
|
|
||||||
Приклад конфігурації для Debian є [в репозиторії](https://gitlab.torproject.org/tpo/core/arti/-/blob/main/debian/systemd/arti.service), але в мене вона інша:
|
### Локальний хост
|
||||||
|
|
||||||
|
Я довго думав, яким чином організувати багато-користувацький простір, щоб не конфліктували між собою сесії при запуску через системний сервіс. Взагалі, роутер розрахований на запуск від поточного системного користувача з подальшим зберіганням даних сесії в його домашній теці. Утім, я хочу обмежити доступ цього експериментального софту до моїх персональних даних в робочому середовищі.
|
||||||
|
|
||||||
|
Можливо, це не правильно, але оскільки сервіс один, я організував профіль роутера наступним чином:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
useradd -s /usr/sbin/nologin -Mr arti
|
||||||
```
|
```
|
||||||
|
* створюється прихований системний користувач `arti` без домашньої теки
|
||||||
|
|
||||||
|
Тепер знадобляться дві нові теки:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
sudo mkdir /var/lib/arti
|
||||||
|
sudo mkdir /var/log/arti
|
||||||
|
```
|
||||||
|
|
||||||
|
На які потрібно дати права:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
sudo chown arti:arti -R /var/lib/arti
|
||||||
|
sudo chown arti:arti -R /var/log/arti
|
||||||
|
```
|
||||||
|
|
||||||
|
У файлі конфігурації, вказуємо:
|
||||||
|
|
||||||
|
``` config.toml
|
||||||
|
[storage]
|
||||||
|
state_dir = "/var/lib/arti/state"
|
||||||
|
cache_dir = "/var/lib/arti/cache"
|
||||||
|
port_info_file = "/var/lib/arti/public/port_info.json"
|
||||||
|
```
|
||||||
|
* варто звернути увагу на всі змінні оточення (які починаються на `$`) але мені вистачило перевизначення тільки вказаних
|
||||||
|
|
||||||
|
### Системний сервіс
|
||||||
|
|
||||||
|
Приклад конфігурації для Debian є в [репозиторії](https://gitlab.torproject.org/tpo/core/arti/-/blob/main/debian/systemd/arti.service):
|
||||||
|
|
||||||
|
``` /etc/systemd/system/arti.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=System Tor Service (Arti)
|
Description=System Tor Service (Arti)
|
||||||
After=network.target
|
After=network.target
|
||||||
|
|
@ -138,7 +174,7 @@ Type=simple
|
||||||
User=arti
|
User=arti
|
||||||
Group=arti
|
Group=arti
|
||||||
|
|
||||||
ExecStart=/usr/local/bin/arti --config /home/arti/config.toml -l warn proxy
|
ExecStart=/usr/local/bin/arti --config /path/to/config.toml -l warn proxy
|
||||||
ExecReload=/bin/kill -HUP ${MAINPID}
|
ExecReload=/bin/kill -HUP ${MAINPID}
|
||||||
|
|
||||||
KillSignal=SIGINT
|
KillSignal=SIGINT
|
||||||
|
|
@ -151,14 +187,18 @@ ProtectHome=yes
|
||||||
ProtectSystem=full
|
ProtectSystem=full
|
||||||
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
||||||
|
|
||||||
StandardOutput=file:///home/arti/debug.log
|
# StandardOutput=file:///path/to/debug.log
|
||||||
StandardError=file:///home/arti/error.log
|
# StandardError=file:///path/to/error.log
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
```
|
```
|
||||||
* `systemctl restart arti` - (пере)запустити сервер:
|
* вказати актуальний шлях `/path/to/config.toml` - це може бути домашня тека або простір `/etc`
|
||||||
* `systemctl enable arti` - авто-запуск при старті системи
|
|
||||||
|
Керування:
|
||||||
|
|
||||||
|
* `sudo systemctl restart arti` - (пере)запустити сервер:
|
||||||
|
* `sudo systemctl enable arti` - авто-запуск при старті системи
|
||||||
* `systemctl status arti` - перевірити статус служби
|
* `systemctl status arti` - перевірити статус служби
|
||||||
|
|
||||||
## Підключення клієнтських застосунків
|
## Підключення клієнтських застосунків
|
||||||
|
|
@ -207,7 +247,7 @@ curl --socks5-hostname 127.0.0.1:9150 -I http://acetonemadzhxzi2e5tomavam6xpucdf
|
||||||
|
|
||||||
### Контроль витоків трафіку
|
### Контроль витоків трафіку
|
||||||
|
|
||||||
Реалізації журналів я не довіряю і додатково перевіряю трафік графічною утилітою Etherape:
|
Реалізації журналів я не довіряю і додатково перевіряю трафік графічною утилітою [Etherape](https://etherape.sourceforge.io):
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
apt install etherape
|
apt install etherape
|
||||||
|
|
@ -226,7 +266,7 @@ sudo etherape
|
||||||
Тому я вирішив проблему скидання кешу видаленням директорії профілю:
|
Тому я вирішив проблему скидання кешу видаленням директорії профілю:
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
rm -rf ~/.local/share/arti
|
rm -rf /home/arti/.local/share/arti
|
||||||
```
|
```
|
||||||
* у вас цей шлях може різнитися, в залежності від способу запуску роутера
|
* у вас цей шлях може різнитися, в залежності від способу запуску роутера
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue