Um script chamando o serviço ifconfig up e openvpn não funcionará, mas se a interface já estiver funcionando,

2

Estou enfrentando um problema estranho, tenho um script como este:

ifconfig eth0 up
sleep 2
systemctl start [email protected]

Se eth0 estiver inativo antes de chamar este script, o openvpn não conseguirá se conectar. journalctl retorna

openvpn Control process exited code exited status=1, Failed to start OpenVPN connection to client

No entanto, se eu executar novamente esse mesmo script uma segunda vez, com eth0 sendo a partir da primeira chamada, tudo funcionará bem .. Alguma idéia do que está acontecendo e como corrigir isso?

    
por ChiseledAbs 30.07.2016 / 17:40

1 resposta

2

O Arch é ótimo para esse tipo de configuração. No entanto, você não deveria estar usando ifconfig no Arch, ele mudou para iproute2 há muito tempo e é consideravelmente melhor fazer isso:

ip link set dev eth0 up
dhcpcd eth0

("Melhor" porque você tem duas etapas e sabe exatamente qual etapa falha. Além disso, acredito que você não tenha eth0 , mas algo como enp1s0 , mas esse é um pequeno detalhe.)

De qualquer forma, em vez de ifconfig eth0 , você pode iniciar uma interface com fio com:

systemctl start [email protected]

E então você pode simplesmente alterar o serviço openvpn, primeiro copie o arquivo de serviço:

cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/[email protected]

Em seguida, altere-o (a cópia) para:

[Unit]
...
[email protected]
[email protected]

(Isso não é muito de um hack, mesmo arch wiki sugere isso. Há um disputa sobre esse artigo porque ele usa o arquivo /usr/lib/systemd , então eu adaptei a resposta para fazer da maneira correta copiando primeiro)

Agora você deve poder iniciar a VPN com

systemctl start [email protected]

e a rede será iniciada primeiro. E pare os dois com:

systemctl stop [email protected]
    
por 30.07.2016 / 19:01