De acordo com tudo que eu li, deveria estar em /etc
, mas não é. Eu li em algum post antigo que um pode simplesmente criar um como é um arquivo de texto. (Desculpe, não consigo mais encontrar a postagem.) Não tenho certeza se devo tentar, ou seja, criar o arquivo ou instalar dhcpcd
ou outra coisa. Neste ponto, eu prefiro perguntar do que ir sozinho.
O plano de fundo é que eu estava tentando instalar hostsblock
, o que me levou a instalar dnsmasq
, o que me levou a dhcpcd
e aqui. A página Wiki do dnsmask Arch (link abaixo) diz que o arquivo dhcpcd.conf
é usado para proteger /etc/resolv.conf
contra a substituição por dhcpd
, anexando a linha nohook resolv.conf
a ele.
Eu sei que dnsmasq
está instalado porque journalctl -u dnsmasq.service
informa o seguinte (última linha de saída):
Started dnsmasq - A lightweight DHCP and caching DNS server.
dhcpcd
NÃO está instalado. Eu não sei se posso apenas tentar instalá-lo sem quebrar alguma coisa, e se cometi erros (veja abaixo) como desfazer os passos que tomei. A página dnsmasq
MAN não menciona dhcpcd
.
O que eu fiz até agora, de ~/path/hostsblock/hostsblock-master/
: execute sudo sh install.sh
para começar a instalar o "hostsblock".
- adiciona "nobody dnsmask" ao grupo de host? %código%
-
adicione Y
aos sudoers: (username) ALL = (hostsblock) NOPASSWD: q/hostsblock,q/hostsblock-urlcheck
-
devo ativar e / ou iniciar o serviço hostsblock?
- Ativar apenas
- Apenas iniciar
- Iniciar e ativar
-
Não faça nada (padrão)
Y
Isso foi talvez um erro:
Job for hostsblock.service failed because the control process exited with error code. See "systemctl status hostsblock.service" and "journalctl -xe" for details.
-e hostsblock is now installed. Check out the configuration file under /hostsblock.conf.
By default, hostsblock does not directly write to /etc/hosts or manipulate your dnsmasq daemon.
To make it do so, see the instructions included in /hostsblock.conf.
Então, como sugerido acima, eu fiz:
systemctl status hostsblock.service
Não há desastre aparente, então continuei.
Do 2
, fiz o seguinte:
sudo install -Dm755 src/hostsblock.sh /usr/bin/hostsblock
sudo install -Dm644 conf/hostsblock.conf /var/lib/hostsblock/hostsblock.conf
sudo install -Dm644 conf/black.list /var/lib/hostsblock/black.list
sudo install -Dm644 conf/white.list /var/lib/hostsblock/white.list
sudo install -Dm644 conf/hosts.head /var/lib/hostsblock/hosts.head
sudo install -Dm644 systemd/hostsblock.service /usr/lib/systemd/system/hostsblock.service
sudo install -Dm644 systemd/hostsblock.timer /usr/lib/systemd/system/hostsblock.timer
Esse foi o meu erro. Isso fazia parte de "Para qualquer outro (o caminho mais difícil)" e eu já tinha feito "Para outras distros Linux (The Easy Way)" no arquivo README.md Hostsblock. Isso não deve ser um problema porque verifiquei o script install.sh e as mesmas linhas estão lá, mas com ~/path/hostsblock-master/
substituindo "$DESTDIR"
, /usr/bin
substituindo "$HOMEDIR"
e /var/lib
substituindo "$systemd_dir"
.
Então eu fiz
sudo systemctl enable --now hostsblock.timer
Neste ponto, o README.md diz:
To use hostsblock
together with dnsmasq
, configure dnsmasq
as
DNS caching daemon. Please refer to your distribution's manual. For
ArchLinux read the following: Wiki
section.
Eu também editei /var/lib/hostsblock
para adicionar o seguinte: /etc/dnsmasq.conf
.
Em seguida, fui editar listen-address=127.0.0.1
para adicionar a linha /etc/resolv.conf
, mas ela já estava lá.
Então, aqui estou eu ... Desculpe, eu não achei que meu post fosse tão longo assim.
Minha máquina está atrás de um roteador, mas é isso. Não é um servidor, apenas um desktop com o Xubuntu 16.04. Não há mais nada na LAN, nem mesmo uma impressora.
Então, especificamente, agora, estou tentando "configurar o 'dnsmasq' como um daemon de armazenamento em cache do DNS", de acordo com o documento Hostblock README.md.
Depois de muita pesquisa acabei com duas fontes que estou acompanhando, comparando-as enquanto vou adiante:
O primeiro é para o Arch, então não tenho certeza se ele se aplica ao Xubuntu, e o segundo é antigo. Há também, é claro, a página man do dhcpcd, mas não é útil, exceto para confirmar que o dhcpcd.conf deve estar em / etc /. Não está na minha máquina. Existe um diretório / etc / dhcp mas não há "dhcpcd.conf" nele.
Agradecemos antecipadamente por qualquer conselho ou comentário.
P.S. (veja o comentário no. 2) Depois de instalar o "dhcpcd" eu completei os passos do hostsblock README.md:
-
adicionou as seguintes linhas em nameserver 127.0.0.1
:
postprocess() {
sudo systemctl reload dnsmasq.service
}
-
adicionou a seguinte linha ao arquivo hostsblock.conf
:
hostsblock ALL = (raiz) NOPASSWD: / usr / bin / cp
hostsblock ALL = (root) NOPASSWD: /usr/bin/systemctl reload dnsmasq.service
-
adicionou a seguinte linha a sudoers
:
some-user ALL = (hostsblock) NOPASSWD: /usr/bin/hostsblock,/usr/bin/hostsblock-urlcheck
-
adicionou a seguinte linha a hostsblock.conf
:
addn-hosts=/var/lib/hostsblock/hosts.block
"dnsmasq" também aparentemente precisa da seguinte linha em
dnsmasq.conf
(veja a nota abaixo), para forçar "dhclient" a olhar para 127.0.0.1
antes que pareça em outro lugar:
-
dhclient.conf
Nota: prepend domain-name-servers 127.0.0.1;
está em dhclient.conf
no meu sistema. De várias
documentos da web apontam para outras distribuições linux, onde também é encontrado em /etc/dhcp
(Arch) e em /etc
(servidores, mais antigos).
-
adicionou o grupo "dnsmasq" ao grupo "hostsblock", de acordo com a documentação em /etc/dhcp3
(exemplo 1: "dnsmasq em systemd"):
hostsblock.conf