WireGuard ਟਨਲ ਨੂੰ systemd ਸੇਵਾ ਵਜੋਂ ਕਿਵੇਂ ਸ਼ੁਰੂ ਕਰੀਏ
wg-quick@ ਟੈਂਪਲੇਟ ਨਾਮਿਤ ਪਰੋਫਾਈਲ ਚੁੱਕਦਾ ਹੈ ਅਤੇ ਰੂਟ, DNS ਤੇ ਹੁੱਕ ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ। ਯੂਨਿਟ ਦੀ ਜਾਂਚ ਕਰੋ, ਇੱਕ ਮੈਨੇਜਰ ਨੂੰ ਜ਼ਿੰਮੇਵਾਰ ਰੱਖੋ ਅਤੇ ਟੀਅਰਡਾਊਨ ਦੀ ਪਰਖ ਕਰੋ।
ਤੁਹਾਡੇ ਕੋਲ /etc/wireguard/wg0.conf ਉੱਤੇ WireGuard ਪਰੋਫਾਈਲ ਹੈ ਅਤੇ ਤੁਸੀਂ ਹਰ ਰੀਬੂਟ ਤੋਂ ਬਾਅਦ ਹੱਥ ਨਾਲ wg-quick up ਟਾਈਪ ਕੀਤੇ ਬਿਨਾਂ ਇਸ ਨੂੰ ਚਾਲੂ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ। ਪੈਕੇਜ ਦਾ systemd ਟੈਂਪਲੇਟ ਬਿਲਕੁਲ ਇਹੀ ਕਰਦਾ ਹੈ: [email protected] wg0 ਨਾਮ ਦੇ ਪਰੋਫਾਈਲ ਲਈ wg-quick ਚਲਾਉਂਦਾ ਹੈ। ਇਹ ਪਰੋਫਾਈਲ ਵੱਲੋਂ ਐਲਾਨੇ ਪਤੇ, ਰੂਟ, DNS ਅਤੇ ਕੋਈ ਵੀ ਹੁੱਕ ਵੀ ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ, ਜੋ ਕਰਨਲ ਵਿੱਚ ਸਿਰਫ਼ ਕੁੰਜੀ ਲੋਡ ਕਰਨ ਤੋਂ ਵੱਧ ਹੈ। ਟੈਂਪਲੇਟ ਮੌਜੂਦ ਹੈ ਇਹ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ ਜਾਂਚੋ ਕਿ ਇਹ ਤੁਹਾਡੇ ਸਿਸਟਮ ਉੱਤੇ ਸੱਚਮੁੱਚ ਹੈ।
ਇਸ ਗਾਈਡ ਦਾ ਬਾਕੀ ਹਿੱਸਾ ਉਸੇ ਕ੍ਰਮ ਵਿੱਚ ਚੱਲਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਸੱਚਮੁੱਚ ਕਰੋਗੇ।
ਯੂਨਿਟ ਅਤੇ ਉਹ ਪਰੋਫਾਈਲ ਲੱਭੋ ਜੋ ਇਹ ਪੜ੍ਹਦਾ ਹੈ
systemctl list-unit-files 'wg-quick*' ਨਾਲ ਯੂਨਿਟ ਫਾਈਲਾਂ ਦੀ ਸੂਚੀ ਬਣਾਓ। ਜੋ ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਇਸ ਨੂੰ ਪੈਕੇਜ ਕਰਦੇ ਹਨ ਉੱਥੇ ਤੁਹਾਨੂੰ [email protected] ਦਿਸੇਗਾ, ਇੰਸਟੈਂਸ ਦਾ ਨਾਮ ਪਰੋਫਾਈਲ ਤੋਂ ਲਿਆ ਜਾਂਦਾ ਹੈ। ਇੰਸਟੈਂਸ /etc/wireguard/<name>.conf ਵਿੱਚ ਹੱਲ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ wg-quick@wg0 ਸਿਰਫ਼ wg0.conf ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਹੋਰ ਕੁਝ ਨਹੀਂ। ਜੇ ਸੂਚੀ ਖਾਲੀ ਹੈ ਤਾਂ ਟੂਲ ਪੈਕੇਜ ਸਥਾਪਿਤ ਨਹੀਂ ਹੈ ਅਤੇ ਕਿੰਨਾ ਵੀ ਸਮਰੱਥ ਕਰਨਾ ਮਦਦ ਨਹੀਂ ਕਰੇਗਾ।
ਪਰੋਫਾਈਲ ਨੂੰ 600 ਮੋਡ ਉੱਤੇ ਅਤੇ root ਦੀ ਮਾਲਕੀ ਵਿੱਚ ਰੱਖੋ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਿੱਜੀ ਕੁੰਜੀ ਹੈ, ਅਤੇ ਜੇ ਤੁਸੀਂ ਇਜਾਜ਼ਤ ਦਿਓ ਤਾਂ ਯੂਨਿਟ ਖੁਸ਼ੀ ਨਾਲ ਮਾੜੀਆਂ ਇਜਾਜ਼ਤਾਂ ਨਾਲ ਵੀ ਚੱਲੇਗੀ।
ਇਸ ਨੂੰ ਉੱਪਰ ਚੁੱਕੋ ਅਤੇ ਜਰਨਲ ਪੜ੍ਹੋ
systemctl start wg-quick@wg0 ਨਾਲ ਇੰਸਟੈਂਸ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ systemctl status wg-quick@wg0 ਅਤੇ journalctl -u wg-quick@wg0 -b ਜਾਂਚੋ। ਜੋ ਯੂਨਿਟ ਸ਼ੁਰੂ ਹੋ ਕੇ ਤੁਰੰਤ ਬੰਦ ਹੋ ਜਾਂਦੀ ਹੈ ਉਸ ਵਿੱਚ ਆਮ ਤੌਰ ਉੱਤੇ ਪਰੋਫਾਈਲ ਗਲਤੀ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਜਰਨਲ ਉਸ ਲਾਈਨ ਦਾ ਨਾਮ ਦੱਸਦਾ ਹੈ। wg show ਨਾਲ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਇੰਟਰਫੇਸ ਮੌਜੂਦ ਹੈ ਅਤੇ ਨਵੀਨਤਮ ਹੈਂਡਸ਼ੇਕ ਤਾਜ਼ਾ ਹੈ। wg-quick ਮੈਨੂਅਲ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ ਕਿ ਸਕ੍ਰਿਪਟ ਇੰਟਰਫੇਸ ਤੋਂ ਅੱਗੇ ਕੀ ਕਰਦੀ ਹੈ।
ਹੈਂਡਸ਼ੇਕ ਤੋਂ ਬਿਨਾਂ ਸੰਰਚਿਤ ਇੰਟਰਫੇਸ ਪਾਥ ਜਾਂ ਕੁੰਜੀ ਦੀ ਸਮੱਸਿਆ ਹੈ, ਸੇਵਾ ਦੀ ਨਹੀਂ।
ਇੱਕ ਮੈਨੇਜਰ ਨੂੰ ਜ਼ਿੰਮੇਵਾਰ ਰੱਖੋ
ਜੇ NetworkManager ਜਾਂ ਕੋਈ ਹੋਰ ਕਲਾਇੰਟ ਪਹਿਲਾਂ ਹੀ ਟਨਲ ਦਾ ਮਾਲਕ ਹੈ, ਤਾਂ systemd ਯੂਨਿਟ ਸ਼ੁਰੂ ਕਰਨ ਨਾਲ ਉਸੇ ਇੰਟਰਫੇਸ, ਰੂਟ ਅਤੇ DNS ਲਈ ਦੂਜਾ ਮਾਲਕ ਬਣ ਜਾਂਦਾ ਹੈ। ਲੱਛਣ ਉਲਝਾਉਣ ਵਾਲੇ ਹਨ: ਟਨਲ ਉੱਪਰ ਆਉਂਦਾ ਹੈ, ਫਿਰ ਰੂਟ ਗਾਇਬ ਹੋ ਜਾਂਦੇ ਹਨ, ਜਾਂ ਕੁਝ ਸਕਿੰਟਾਂ ਬਾਅਦ DNS ਵਾਪਸ ਪਲਟ ਜਾਂਦਾ ਹੈ। ਇੱਕ ਮੈਨੇਜਰ ਚੁਣੋ ਅਤੇ ਉਸ ਪਰੋਫਾਈਲ ਲਈ ਦੂਜੇ ਨੂੰ ਅਸਮਰੱਥ ਕਰੋ। ਜਰਨਲ ਆਮ ਤੌਰ ਉੱਤੇ ਯੂਨਿਟ ਦੇ ਸਫਲਤਾ ਦੱਸਣ ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਕਬਜ਼ੇ ਨੂੰ ਰੂਟ ਜਾਂ ਰਿਜ਼ੌਲਵਰ ਤਬਦੀਲੀਆਂ ਵਜੋਂ ਦਿਖਾਉਂਦਾ ਹੈ।
ਦੋ ਮੈਨੇਜਰ ਮਾਲਕੀ ਸਾਂਝੀ ਨਹੀਂ ਕਰਦੇ। ਉਹ ਇੱਕ ਦੂਜੇ ਉੱਤੇ ਲਿਖਦੇ ਹਨ।
ਰੋਕਣ, ਮੁੜ-ਸ਼ੁਰੂ ਅਤੇ ਬੂਟ ਦੀ ਪਰਖ ਕਰੋ
systemctl stop wg-quick@wg0 ਚਲਾਓ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਇੰਟਰਫੇਸ ਚਲਾ ਗਿਆ ਹੈ ਅਤੇ ਰੂਟ ਹਟਾ ਦਿੱਤੇ ਗਏ ਹਨ। ਫਿਰ ਇਸ ਨੂੰ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਜਾਂਚੋ ਕਿ ਰੂਟ ਵਾਪਸ ਆਉਂਦੇ ਹਨ, ਕਿਉਂਕਿ ਟੀਅਰਡਾਊਨ ਦੀਆਂ ਬੱਗਾਂ ਅਸਫਲ ਸ਼ੁਰੂਆਤਾਂ ਵਜੋਂ ਨਹੀਂ ਬਲਕਿ ਬਚੇ ਹੋਏ ਰੂਟਾਂ ਵਜੋਂ ਦਿਸਦੀਆਂ ਹਨ। ਅੰਤ ਵਿੱਚ systemctl enable --now wg-quick@wg0 ਨਾਲ ਬੂਟ ਉੱਤੇ ਇਸ ਨੂੰ ਸਮਰੱਥ ਕਰੋ ਅਤੇ ਇੱਕ ਵਾਰ ਰੀਬੂਟ ਕਰੋ।
ਬੂਟ ਉੱਤੇ ਯੂਨਿਟ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਐਂਡਪੌਇੰਟ ਦਾ ਨਾਮ ਹੱਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇ DNS ਹਾਲੇ ਉੱਪਰ ਨਹੀਂ ਹੈ ਤਾਂ ਯੂਨਿਟ ਅਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ ਅਤੇ ਤੁਸੀਂ ਹੱਥ ਨਾਲ ਸ਼ੁਰੂ ਨਾ ਕਰੋ ਜਦ ਤੱਕ ਅਸਫਲ ਹੀ ਰਹਿੰਦੀ ਹੈ।
ਮਾਲਕ ਦਰਜ ਕਰੋ
ਲਿਖੋ ਕਿ ਯੂਨਿਟ ਕਿਹੜਾ ਪਰੋਫਾਈਲ ਪੜ੍ਹਦੀ ਹੈ, ਕਿਹੜਾ ਮੈਨੇਜਰ ਇੰਟਰਫੇਸ ਦਾ ਮਾਲਕ ਹੈ ਅਤੇ ਫਾਈਲ ਕਿੱਥੋਂ ਆਈ। ਜਦੋਂ ਬਾਅਦ ਵਿੱਚ ਕੋਈ ਉਹੀ ਟਨਲ ਡੈਸਕਟਾਪ ਕਲਾਇੰਟ ਵਿੱਚ ਆਯਾਤ ਕਰੇਗਾ, ਤਾਂ ਉਹ ਨੋਟ ਇੱਕ ਮਾਈਗ੍ਰੇਸ਼ਨ ਅਤੇ ਇੱਕ ਪਤੇ ਲਈ ਲੜਦੀਆਂ ਦੋ ਤੈਨਾਤੀਆਂ ਵਿਚਕਾਰਲਾ ਫ਼ਰਕ ਹੈ। ਇੰਟਰਫੇਸ ਦਾ ਨਾਮ ਵੀ ਦਰਜ ਕਰੋ, ਕਿਉਂਕਿ ਮਿਲਦੇ-ਜੁਲਦੇ ਨਾਮਾਂ ਵਾਲੇ ਦੋ ਪਰੋਫਾਈਲ ਉਲਝਣ ਦਾ ਆਮ ਸਰੋਤ ਹਨ।
ਦੋ ਮਾਲਕਾਂ ਵਾਲੀ ਟਨਲ ਪਹਿਲੇ ਰੀਬੂਟ ਤੱਕ ਕੰਮ ਕਰਦੀ ਹੈ, ਅਤੇ ਫਿਰ ਉਹ ਇੱਕ ਰਹੱਸ ਬਣ ਜਾਂਦੀ ਹੈ। ਇਸੇ ਲਈ ਉਹ ਨੋਟ ਚੈਟ ਥ੍ਰੈਡ ਵਿੱਚ ਨਹੀਂ, ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।