ConnMan ਇੱਕ ਦੁਪਹਿਰ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਮਨਾਹੀ ਕਰਦਾ ਹੈ, ਅਤੇ ਜਰਨਲ ਦੀ ਲਾਈਨ ਸਰਟੀਫਿਕੇਟ ਜਾਂਚ ਦਾ ਜ਼ਿਕਰ ਕਰਦੀ ਹੈ। ਉਹ ਲਾਈਨ ਲੋਕਾਂ ਨੂੰ ਉਹਨਾਂ CA ਬੰਡਲਾਂ ਵੱਲ ਭੇਜਦੀ ਹੈ ਜੋ ਕਦੇ ਟੁੱਟੇ ਨਹੀਂ ਸਨ। ਦੋ ਵੱਖਰੀਆਂ ਖ਼ਰਾਬੀਆਂ ਲਗਭਗ ਇੱਕੋ ਜਿਹੀ ਅਸਫਲਤਾ ਪੈਦਾ ਕਰਦੀਆਂ ਹਨ: ਸੈਸ਼ਨ ਕੂਕੀ ਦੀ ਮਿਆਦ ਖ਼ਤਮ ਹੁੰਦੀ ਹੈ, ਜਾਂ ਸਰਵਰ ਦਾ ਸਰਟੀਫਿਕੇਟ ਸੱਚਮੁੱਚ ਬਦਲ ਗਿਆ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਲਗਭਗ ਇੱਕ ਮਿੰਟ ਵਿੱਚ ਵੱਖਰਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ।

ਦੋ ਖ਼ਰਾਬੀਆਂ, ਇੱਕ ਉਲਝਾਉਣ ਵਾਲੀ ਲੌਗ ਲਾਈਨ

ਇਹ ਦੋ ਨਿਰੀਖਣਾਂ ਉੱਤੇ ਵੱਖ ਹੁੰਦੀਆਂ ਹਨ, ਅਤੇ ਕਿਸੇ ਨੂੰ ਵੀ ਦੂਜੀ ਵਾਰ ਪੜ੍ਹਨ ਦੀ ਲੋੜ ਨਹੀਂ। ਪਹਿਲਾ ਇਹ ਹੈ ਕਿ ਅਸਫਲਤਾ ਕਦੋਂ ਸ਼ੁਰੂ ਹੋਈ: ਮਿਆਦ ਖ਼ਤਮ ਹੋਈ ਕੂਕੀ ਘੰਟਿਆਂ ਜਾਂ ਦਿਨਾਂ ਦੇ ਕੰਮ ਤੋਂ ਬਾਅਦ ਆਉਂਦੀ ਹੈ, ਅਤੇ ਬਦਲਿਆ ਸਰਟੀਫਿਕੇਟ ਗੇਟਵੇ ਬਦਲਾਅ ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਆਉਂਦਾ ਹੈ।

SignalExpired cookieChanged certificate
When it startedafter hours or days of workingright after a gateway change
Fingerprint from a fresh authenticateunchangeddifferent value
Usual log tailHTTP CONNECT 401 / unauthorizedsigner not found / verify failed
Repairreplace the cookie, restartre-pin deliberately, then restart

ਇੱਕ ਮਿੰਟ ਦੀ ਪਰਖ ਹੇਠਾਂ ਦਿੱਤੀ authenticate ਰਨ ਹੈ। ਇਸਦੀ FINGERPRINT ਦੀ ਫਾਈਲ ਵਿੱਚਲੀ OpenConnect.ServerCert ਨਾਲ ਤੁਲਨਾ ਕਰੋ। ਇੱਕੋ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਤੇ ਵੱਖਰੀ COOKIE ਦਾ ਮਤਲਬ ਹੈ ਸਿਰਫ਼ ਕੂਕੀ ਬਦਲੋ। ਵੱਖਰੀ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦਾ ਮਤਲਬ ਹੈ ਸਰਵਰ ਦਾ ਸਰਟੀਫਿਕੇਟ ਸੱਚਮੁੱਚ ਬਦਲ ਗਿਆ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਜਾਣ-ਬੁੱਝ ਕੇ ਦੁਬਾਰਾ ਪਿੰਨ ਕਰੋ ਅਤੇ ਦਰਜ ਕਰੋ ਕਿ ਕਿਸਨੇ ਮਨਜ਼ੂਰੀ ਦਿੱਤੀ।

ਟਾਈਪ ਕਰਨ ਦੀ ਬਜਾਏ ਸਮੱਗਰੀ ਬਣਾਓ

NetworkManager ਵਾਂਗ ਨਹੀਂ, ConnMan ਵਿੱਚ OpenConnect ਪ੍ਰੋਫ਼ਾਈਲ ਲਈ ਕੋਈ ਆਯਾਤ ਕਦਮ ਨਹੀਂ ਹੈ। ਇਹ ਪ੍ਰੋਵੀਜ਼ਨਿੰਗ ਫਾਈਲ ਪੜ੍ਹਦਾ ਹੈ ਜਿਸਦੇ ਮੁੱਲ ਪਹਿਲਾਂ ਤੋਂ ਬਣਾਉਣੇ ਪੈਂਦੇ ਹਨ, ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਬਣਾਉਣ ਦਾ ਸਮਰਥਿਤ ਤਰੀਕਾ OpenConnect ਦਾ authenticate ਮੋਡ ਹੈ।

sudo openconnect --csd-wrapper=/home/user/.cisco/csd-wrapper.sh \
  --authenticate --user myuser vpn.example.com

ਆਉਟਪੁੱਟ ਚਾਰ ਮੁੱਲ ਛਾਪਦਾ ਹੈ: POST, COOKIE, HOST ਅਤੇ FINGERPRINT। sha256: ਉਪਸਰਗ ਵਾਲੀ ਫਿੰਗਰਪ੍ਰਿੰਟ ਸਰਵਰ ਪਿੰਨ ਹੈ। ਕੂਕੀ ਸੈਸ਼ਨ ਆਰਟੀਫੈਕਟ ਹੈ ਜਿਸਦੀ ਉਮਰ ਗੇਟਵੇ ਤੈਅ ਕਰਦਾ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਵੱਖਰੀਆਂ ਕਿਸਮਾਂ ਦੇ ਭੇਤ ਵਜੋਂ ਲਓ: ਇਹਨਾਂ ਦੀ ਮਿਆਦ ਵੱਖਰੇ ਸਮਾਂ-ਸਾਰਣੀ ਅਨੁਸਾਰ ਖ਼ਤਮ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਸਿਰਫ਼ ਇੱਕ ਦੇ ਬਦਲਣ ਦੀ ਆਸ ਹੈ।

ਫਾਈਲ ਦੋਵੇਂ ਰੱਖਦੀ ਹੈ, ਅਤੇ ਇਹ ਵੱਖਰੇ ਤਰੀਕੇ ਨਾਲ ਪੁਰਾਣੇ ਹੁੰਦੇ ਹਨ

ਪ੍ਰੋਵੀਜ਼ਨਿੰਗ ਫਾਈਲ /var/lib/connman-vpn/ ਹੇਠ ਹੁੰਦੀ ਹੈ ਅਤੇ ਹਰ ਕਨੈਕਸ਼ਨ ਲਈ ਇਸਨੂੰ VPN ਡੈਮਨ ਪੜ੍ਹਦਾ ਹੈ, ਟਰੇ ਐਪਲੈਟ ਨਹੀਂ। ਕਨੈਕਸ਼ਨ ਦਾ ਨਾਮ ਗਲੋਬਲ ਭਾਗ ਵਿੱਚ ਅਤੇ ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਵੇਰਵੇ ਪ੍ਰਦਾਤਾ ਭਾਗ ਵਿੱਚ ਰੱਖੋ।

[global]
Name = Company VPN

[provider_openconnect]
Type = OpenConnect
Name = Company Cisco VPN
Host = vpn.example.com
Domain = corp.example
OpenConnect.ServerCert = sha256:...
OpenConnect.Cookie = ...

ਪੋਰਟਲ ਸੱਚਮੁੱਚ ਜਿਸ ਹੋਸਟ ਨਾਮ ਦੀ ਸੇਵਾ ਕਰਦਾ ਹੈ ਉਹੀ ਵਰਤੋ। ਨੰਗਾ IP ਪਤਾ ਸਰਟੀਫਿਕੇਟ ਜਾਂਚ ਪਾਸ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਫਿਰ ਵੀ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ, ਕਿਉਂਕਿ ਯੰਤਰ ਵਰਚੁਅਲ ਹੋਸਟ ਉੱਤੇ ਰੂਟ ਕਰਦਾ ਹੈ ਅਤੇ ਨਾਮ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ।

systemctl status connman-vpn --no-pager   # is the daemon even installed and running
sudo systemctl restart connman-vpn       # after the file edit
journalctl -u connman-vpn --since '1 hour ago'  # after the connection attempt

ਜਰਨਲ ਸੱਚਮੁੱਚ ਕੀ ਦਿਖਾਉਂਦਾ ਹੈ

ਟਰੇ ਟੂਲਟਿਪ ਨਹੀਂ ਦੱਸੇਗਾ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਕਿਹੜੀ ਖ਼ਰਾਬੀ ਹੈ। ਜਰਨਲ ਦੱਸੇਗਾ, ਜੇ ਤੁਸੀਂ ਪਹਿਲੀ ਚਿੰਤਾਜਨਕ ਲਾਈਨ ਦੀ ਬਜਾਏ ਕ੍ਰਮ ਪੜ੍ਹੋ। ਪੁਰਾਣੀ ਕੂਕੀ ਆਮ ਤੌਰ ਤੇ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ TLS ਗੱਲਬਾਤ ਪੂਰੀ ਹੋਈ ਅਤੇ HTTP ਪਰਤ ਨੇ ਬਾਅਦ ਵਿੱਚ ਮਨਾਹੀ ਕੀਤੀ; ਇਸੇ ਲਈ ਸਰਟੀਫਿਕੇਟਾਂ ਬਾਰੇ ਸ਼ਬਦ ਕਿਸੇ ਅਧਿਕਾਰ ਅਸਫਲਤਾ ਦੇ ਨਾਲ ਖੜ੍ਹੇ ਹੁੰਦੇ ਹਨ।

ਨਵੀਂ authenticate ਰਨ ਦੀ ਫਾਈਲ ਵਿੱਚਲੇ ਮੁੱਲਾਂ ਨਾਲ ਤੁਲਨਾ ਕਰੋ। ਜੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਮੇਲ ਖਾਂਦੀ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਕੂਕੀ ਵੱਖਰੀ ਹੈ, ਤਾਂ ਭਰੋਸਾ ਸੈਟਿੰਗਾਂ ਨੂੰ ਛੂਹੇ ਬਿਨਾਂ ਤੁਹਾਡਾ ਜਵਾਬ ਮਿਲ ਗਿਆ।

ਮਿਆਦ ਖ਼ਤਮ ਹੋਇਆ ਖੇਤਰ ਤਾਜ਼ਾ ਕਰੋ

authenticate ਕਮਾਂਡ ਦੁਹਰਾਓ, OpenConnect.Cookie ਬਦਲੋ ਅਤੇ ਡੈਮਨ ਦੁਬਾਰਾ ਚਾਲੂ ਕਰੋ। ਫਿੰਗਰਪ੍ਰਿੰਟ ਨੂੰ ਛੇੜੋ ਨਾ ਜਦ ਤੱਕ ਨਵਾਂ ਆਉਟਪੁੱਟ ਵੱਖਰਾ ਮੁੱਲ ਨਾ ਦਿਖਾਏ; ਉਸ ਸਥਿਤੀ ਵਿੱਚ ਸਰਵਰ ਦਾ ਸਰਟੀਫਿਕੇਟ ਸੱਚਮੁੱਚ ਬਦਲਿਆ ਗਿਆ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਪਿੰਨ ਕਰਨਾ ਉਹ ਫੈਸਲਾ ਹੈ ਜੋ ਕਿਸੇ ਨੇ ਦਰਜ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ, ਗਲਤੀ ਸੁਨੇਹੇ ਤੋਂ ਚੇਪਣਾ ਨਹੀਂ।

ਤਾਜ਼ਾ ਕਰਨ ਨੂੰ ਸਵੈਚਾਲਿਤ ਕਰਨਾ ਵਾਜਬ ਹੈ: ਛੋਟੀ ਸਕ੍ਰਿਪਟ ਮਿਆਰੀ ਇਨਪੁੱਟ ਤੋਂ ਪਾਸਵਰਡ ਪੜ੍ਹਦੀ ਹੈ, authenticate ਮੋਡ ਚਲਾਉਂਦੀ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਕੂਕੀ ਦੀ ਲਾਈਨ ਦੁਬਾਰਾ ਲਿਖਦੀ ਹੈ। ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸਕ੍ਰਿਪਟ ਤੋਂ ਬਾਹਰ ਰੱਖੋ ਅਤੇ ਸਿਰਫ਼ ਉਸ ਖਾਤੇ ਲਈ ਪੜ੍ਹਨਯੋਗ ਬਣਾਓ ਜੋ ਇਸਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, ਅਤੇ ਦੁਬਾਰਾ ਲਿਖਣ ਨੂੰ ਪਰਮਾਣੂ ਬਣਾਓ ਤਾਂ ਜੋ ਅਸਫਲ ਰਨ ਅੱਧੀ ਲਿਖੀ ਫਾਈਲ ਨਾ ਛੱਡੇ।

ਜੇ ਹਰ ਕੁਝ ਘੰਟਿਆਂ ਬਾਅਦ ਤਾਜ਼ਾ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ ਅੰਤਰਾਲ ਲਿਖ ਲਓ। ਇਹ ਗੇਟਵੇ ਦੀ ਸੈਸ਼ਨ ਨੀਤੀ ਦਾ ਗੁਣ ਹੈ, ਅਤੇ ਇਹ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਤਾਜ਼ਾ ਕਰਨ ਨੂੰ ਸਵੈਚਾਲਿਤ ਕਰਨਾ ਹੈ ਜਾਂ ਲੰਮਾ ਸੈਸ਼ਨ ਮੰਗਣਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ