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