OK, depois de alguns dias eu encontro resolução.
Primeiramente, eu tinha links fixos do padrão instalado em zebra.service
, que podemos encontrar em /lib/systemd/system/
. Execute zebra.service
em algum editor de texto e altere as linhas 4, 10, 11, 13. Escreva o diretório:
/usr/lib/quagga/zebra.conf
em vez /etc/quagga/zebra.conf
O arquivo final deve aparecer:
1 [Unit]
2 Description=GNU Zebra routing manager
3 After=network.target
4 ConditionPathExists=/usr/lib/quagga/zebra.conf
5 Documentation=man:zebra
6
7 [Service]
8 Type=forking
9 ExecStartPre=/sbin/ip route flush proto zebra
10 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/vtysh.conf /usr/lib/quagga/zebra.conf
11 ExecStartPre=-/bin/chown -f quagga:quagga /run/quagga /usr/lib/quagga/zebra.conf
12 ExecStartPre=-/bin/chown -f quagga:quaggavty /etc/quagga/vtysh.conf
13 ExecStart=/usr/sbin/zebra -d -A 127.0.0.1 -f /usr/lib/quagga/zebra.conf
14 Restart=on-abort
15 RuntimeDirectory=quagga
16
17 [Install]
18 WantedBy=network.target
Salve o arquivo e reinicie os daemons do sistema usando systemctl daemon-reload
. Inicie o serviço de zebra usando system zebra start
.
Outra forma de criar um link simbólico é ver em zebra.conf
. Para fazer isso, use:
ln -s /usr/lib/quagga/zebra.conf /etc/quagga/zebra.conf
Agora você acabou de consertar o repositório de pacotes implementado incorretamente do Ubuntu 16.04.
Na segunda etapa, precisamos corrigir uma instalação CORE. Exatamente poucas coisas que não são configuradas por padrão. Eu notei problema com o acesso de grupo. O CORE não quer iniciar o zebra.service automaticamente, porque o usuário root não tem acesso à pasta temporária específica. Como eu vi usuário root não era um membro do grupo 'quaggavty'.
Para mudar essa situação, basta adicionar root ao grupo:
usermod -a -G quaggavt root
Reinicie o CORE e aproveite o programa de trabalho da propriedade.