Содержимое этой страницы устарело и, скорее всего, не является актуальным. Обратитесь за советом к сообществу, если вам потребуется помощь.
С помощью Qubes + Whonix можно создать кошелек Monero, который не будет требовать подключения к сети и работать на фактически изолированной от демона Monero системе , у которого весь сетевой трафик будет проходить через сеть Tor.
Qubes предоставляет гибкость, позволяющую легко создавать отдельные виртуальные машины для разных целей. Сначала нужно создать рабочую станцию Whonix для кошелька без подключения к сети. Далее, создается другая рабочая станция Whonix для демона, который будет использовать шлюз Whonix, так как это NetVM. Для обмена данными между кошельком и демоном можно использовать Qubes qrexec.
Это безопаснее, чем другие популярные способы, в которых осуществляется маршрутизация трафика rpc кошельков поверх скрытой службы Tor или используется физическая изоляция, но при этом активна сеть для прямого подключения к демону. Таким образом, не требуется какое-либо сетевое соединение на кошельке, вы передаете весь трафик через сеть Tor.
Используя шаблон рабочей станции Whonix, создаем две рабочие станции следующим образом:
Первая рабочая станция будет использоваться для вашего кошелька, она будет называться monero-wallet-ws
. NetVM
оставляем не установленным, выбирая none
.
Вторая рабочая станция создается для демона monerod
, она будет называться monerod-ws
. NetVM
устанавливаем для шлюза Whonix sys-whonix
.
monerod-ws
делаем следующее:user@host:~$ curl -O "https://downloads.getmonero.org/cli/monero-linux-x64-v0.11.1.0.tar.bz2" -O "https://getmonero.org/downloads/hashes.txt"
user@host:~$ gpg --recv-keys BDA6BD7042B721C467A9759D7455C5E3C0CDCEB9
user@host:~$ gpg --verify hashes.txt
gpg: Signature made Wed 01 Nov 2017 10:01:41 AM UTC
gpg: using RSA key 0x55432DF31CCD4FCD
gpg: Good signature from "Riccardo Spagni <ric@spagni.net>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9
Subkey fingerprint: 94B7 38DD 3501 32F5 ACBE EA1D 5543 2DF3 1CCD 4FCD
user@host:~$ echo '6581506f8a030d8d50b38744ba7144f2765c9028d18d990beb316e13655ab248 monero-linux-x64-v0.11.1.0.tar.bz2' | shasum -c
monero-linux-x64-v0.11.1.0.tar.bz2: OK
user@host:~$ tar xf monero-linux-x64-v0.11.1.0.tar.bz2
user@host:~$ sudo cp monero-v0.11.1.0/monerod /usr/local/bin/
systemd
.user@host:~$ sudo gedit /home/user/monerod.service
Вставляем в него следующее содержимое:
[Unit]
Description=Monero Full Node
After=network.target
[Service]
User=user
Group=user
Type=forking
PIDFile=/home/user/.bitmonero/monerod.pid
ExecStart=/usr/local/bin/monerod --detach --data-dir=/home/user/.bitmonero \
--no-igd --pidfile=/home/user/.bitmonero/monerod.pid \
--log-file=/home/user/.bitmonero/bitmonero.log --p2p-bind-ip=127.0.0.1
Restart=always
PrivateTmp=true
[Install]
WantedBy=multi-user.target
monero-wallet-cli
на виртуальную машину monero-wallet-ws
.user@host:~$ qvm-copy-to-vm monero-wallet-ws monero-v0.11.1.0/monero-wallet-cli
monerod
в автозагрузку, отредактировав файл /rw/config/rc.local
.user@host:~$ sudo gedit /rw/config/rc.local
Добавляем эти строки в конец текста:
cp /home/user/monerod.service /lib/systemd/system/
systemctl start monerod.service
Создаем исполняемый файл.
user@host:~$ sudo chmod +x /rw/config/rc.local
user@host:~$ sudo mkdir /rw/usrlocal/etc/qubes-rpc
user@host:~$ sudo gedit /rw/usrlocal/etc/qubes-rpc/user.monerod
Добавляем строку:
socat STDIO TCP:localhost:18081
monerod-ws
.monero-wallet-ws
делаем следующее:monero-wallet-cli
.user@host:~$ sudo mv QubesIncoming/monerod-ws/monero-wallet-cli /usr/local/bin/
/rw/config/rc.local
.user@host:~$ sudo gedit /rw/config/rc.local
Добавляем эту строку в конец документа:
socat TCP-LISTEN:18081,fork,bind=127.0.0.1 EXEC:"qrexec-client-vm monerod-ws user.monerod"
Создаем исполняемый файл.
user@host:~$ sudo chmod +x /rw/config/rc.local
monero-wallet-ws
.dom0
делаем следующее:/etc/qubes-rpc/policy/user.monerod
:[user@dom0 ~]$ sudo nano /etc/qubes-rpc/policy/user.monerod
Добавляем следующую строку:
monero-wallet-ws monerod-ws allow