ਸਪਲਿਟ ਟਨਲ ਜਨਤਕ ਹੋਸਟ ਨੂੰ ASA ਦੇ NAT ਨਿਯਮਾਂ ਤੋਂ ਛੋਟ ਨਹੀਂ ਦਿੰਦਾ
split-include ਰੂਟ ਜਨਤਕ ਹੋਸਟ ਨੂੰ ਟਨਲ ਵਿੱਚ ਖਿੱਚਦਾ ਹੈ, ਜਿੱਥੇ ASA ਨੂੰ ਹੇਅਰਪਿਨ ਕਰਨਾ ਅਤੇ ਸਰੋਤ ਦਾ ਅਨੁਵਾਦ ਕਰਨਾ ਪੈਂਦਾ ਹੈ। ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਕਦਮ ਛੱਡੋ ਤਾਂ ਪ੍ਰਵਾਹ ਟੁੱਟ ਜਾਂਦਾ ਹੈ।
ਸਪਲਿਟ ਟਨਲਿੰਗ ਦਾ ਵਰਣਨ ਆਮ ਤੌਰ ’ਤੇ ਕਾਰਪੋਰੇਟ ਟ੍ਰੈਫਿਕ ਨੂੰ ਟਨਲ ਦੇ ਅੰਦਰ ਅਤੇ ਬਾਕੀ ਇੰਟਰਨੈੱਟ ਨੂੰ ਫਾਇਰਵਾਲ ਦੇ ਬਾਹਰ ਰੱਖਣ ਦੇ ਤਰੀਕੇ ਵਜੋਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਉਸ ਵਰਣਨ ਦੇ ਦੋਵੇਂ ਅੱਧ ਇੱਕੋ ਤਰੀਕੇ ਨਾਲ ਗਲਤ ਹਨ। ਸਪਲਿਟ ਟਨਲਿੰਗ ਕਲਾਇੰਟ ਵੱਲੋਂ ਲਿਆ ਗਿਆ ਰੂਟ ਫੈਸਲਾ ਹੈ, ਅਤੇ ਰੂਟ ਫੈਸਲਾ ਇਸ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ ਕਿ ਪੈਕਟ headend ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਬਾਅਦ ਉਸ ਨਾਲ ਕੀ ਹੁੰਦਾ ਹੈ।
ਜਨਤਕ ਪਤੇ ’ਤੇ ਇੱਕ ਭਾਈਵਾਲ ਸੇਵਾ, ਜੋ ਤੁਹਾਡੇ ਹੈੱਡਕੁਆਰਟਰ ਦਾ ਪਤਾ ਦੇਖਣ ਦੀ ਜ਼ਿੱਦ ਕਰਦੀ ਹੈ, ਇਸ ਕਹਾਣੀ ਨੂੰ ਤੋੜਨ ਲਈ ਕਾਫ਼ੀ ਹੈ।
ਮਿੱਥ: ਸਪਲਿਟ ਟਨਲ ਫਾਇਰਵਾਲ ਨੂੰ ਰਾਹ ਵਿੱਚੋਂ ਹਟਾ ਦਿੰਦਾ ਹੈ
ਮਾਨਤਾ ਇਹ ਹੈ ਕਿ ਨਿੱਜੀ ਰੇਂਜਾਂ ਤੋਂ ਬਾਹਰ ਦਾ ਕੋਈ ਵੀ ਮੰਜ਼ਿਲ ਸਥਾਨਕ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ’ਤੇ ਹੀ ਰਹਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਫਾਇਰਵਾਲ ਉਸ ਨੂੰ ਕਦੇ ਨਹੀਂ ਦੇਖਦਾ ਅਤੇ ਉਸ ਲਈ ਕਦੇ ਨਿਯਮ ਦੀ ਲੋੜ ਨਹੀਂ ਪੈਂਦੀ। ਇਹ ਤਾਂ ਹੀ ਸੱਚ ਹੈ ਜਦੋਂ ਮੰਜ਼ਿਲ ਟਨਲ ਸੂਚੀ ਵਿੱਚ ਨਾ ਹੋਵੇ। ਜਿਸ ਪਲ ਕੋਈ ਆਪਰੇਟਰ split-include ACL ਵਿੱਚ ਜਨਤਕ ਹੋਸਟ ਜੋੜਦਾ ਹੈ, ਕਲਾਇੰਟ ਉਹ ਟ੍ਰੈਫਿਕ ਟਨਲ ਵਿੱਚ ਭੇਜ ਦਿੰਦਾ ਹੈ, ਅਤੇ ASA ਨੂੰ ਉਸ ਨੂੰ ਕਿਸੇ ਹੋਰ ਡਿਕ੍ਰਿਪਟ ਕੀਤੇ ਪ੍ਰਵਾਹ ਵਾਂਗ ਰੂਟ, ਫਿਲਟਰ ਅਤੇ ਅਨੁਵਾਦ ਕਰਨਾ ਪੈਂਦਾ ਹੈ। ਕਲਾਇੰਟ ’ਤੇ ਮੰਜ਼ਿਲ ਸੂਚੀ ਤੋਂ ਇਲਾਵਾ ਕੁਝ ਨਹੀਂ ਬਦਲਿਆ।
ਕਲਾਇੰਟ ਰਾਊਟਰ ਨਹੀਂ ਬਣਿਆ। ਉਸ ਨੇ ਤੁਹਾਡੀ ਦਿੱਤੀ ਨੀਤੀ ਦੀ ਪਾਲਣਾ ਕੀਤੀ।
split-include ਰੂਟ ਅਸਲ ਵਿੱਚ ਕੀ ਕਰਦਾ ਹੈ
Cisco ASA ਰਿਮੋਟ-ਐਕਸੈਸ ਸੈਟਅਪ ਵਿੱਚ ਗਰੁੱਪ ਨੀਤੀ split-tunnel-policy tunnelspecified ਅਤੇ ਇੱਕ split-tunnel-network-list ਰੱਖਦੀ ਹੈ, ਜੋ ਇੱਕ ਮਿਆਰੀ ACL ਦਾ ਨਾਮ ਦਿੰਦਾ ਹੈ। ਉਸ ACL ਦੀ ਹਰ permit ਲਾਈਨ ਇੱਕ ਮੰਜ਼ਿਲ ਹੈ ਜੋ ਕਲਾਇੰਟ ਨੂੰ ਟਨਲ ਵਿੱਚ ਭੇਜਣੀ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਬਾਕੀ ਸਭ ਸਥਾਨਕ ਡਿਫਾਲਟ ਰੂਟ ਵਰਤਦਾ ਰਹਿੰਦਾ ਹੈ।
ਇੱਕ ਹੋਸਟ ਜੋੜਨਾ ਇੱਕੋ ਲਾਈਨ ਹੈ, ਅਤੇ ਇਹੀ ਬਦਲਾਅ ਦਾ ਇੱਕੋ-ਇੱਕ ਹਿੱਸਾ ਹੈ ਜੋ ਕਲਾਇੰਟ ਦੇਖ ਸਕਦਾ ਹੈ: access-list RA-SPLIT standard permit host 203.0.113.20।
ਉਸ ਤੋਂ ਬਾਅਦ ਕਲਾਇੰਟ ਨੂੰ ਦੁਬਾਰਾ ਕਨੈਕਟ ਕਰੋ। ਨੀਤੀ ਕਨੈਕਸ਼ਨ ਦੇ ਸਮੇਂ ਬਦਲੀ ਜਾਂਦੀ ਹੈ, ਇਸ ਲਈ ਸਥਾਪਿਤ ਸੈਸ਼ਨ ਪੁਰਾਣੀ ਸੂਚੀ ਰੱਖਦਾ ਹੈ ਅਤੇ ਬਦਲਾਅ ਨੂੰ ਇੰਝ ਦਿਖਾਉਂਦਾ ਹੈ ਜਿਵੇਂ ਉਸ ਨੇ ਕੁਝ ਨਾ ਕੀਤਾ ਹੋਵੇ।
ਪੈਕਟ ਉਸੇ ਇੰਟਰਫੇਸ ’ਤੇ ਆਉਂਦਾ ਅਤੇ ਜਾਂਦਾ ਹੈ
ਹੁਣ ਡਿਕ੍ਰਿਪਸ਼ਨ ਤੋਂ ਬਾਅਦ ਪ੍ਰਵਾਹ ਦਾ ਪਤਾ ਲਗਾਓ। ਪੈਕਟ VPN ਟਨਲ ਰਾਹੀਂ ਬਾਹਰੀ ਇੰਟਰਫੇਸ ’ਤੇ ਆਇਆ, ਉਸ ਦੀ ਮੰਜ਼ਿਲ ਇੱਕ ਜਨਤਕ ਪਤਾ ਹੈ, ਅਤੇ ਰੂਟਿੰਗ ਸਾਰਣੀ ਉਸ ਨੂੰ ਉਸੇ ਬਾਹਰੀ ਇੰਟਰਫੇਸ ਰਾਹੀਂ ਵਾਪਸ ਇੰਟਰਨੈੱਟ ਵੱਲ ਭੇਜਦੀ ਹੈ। ਇੱਕ ਇੰਟਰਫੇਸ ’ਤੇ ਆਉਣ ਅਤੇ ਜਾਣ ਵਾਲਾ ਟ੍ਰੈਫਿਕ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ASA ਨੂੰ ਇਜਾਜ਼ਤ ਨਾ ਦਿੱਤੀ ਜਾਵੇ, ਅਤੇ same-security-traffic permit intra-interface ਇਹੀ ਕਰਦਾ ਹੈ। ਇਸ ਤੋਂ ਬਿਨਾਂ ਕਨੈਕਸ਼ਨ ਇਸ ਤਰ੍ਹਾਂ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ ਜੋ ਰੂਟਿੰਗ ਸਮੱਸਿਆ ਵਰਗਾ ਲੱਗਦਾ ਹੈ ਪਰ ਹੈ ਨਹੀਂ।
ਉਹ ਸੈਟਿੰਗ ਗਲੋਬਲ ਹੈ। ਇਹ ਹਰ ਉਸ ਪ੍ਰਵਾਹ ਲਈ ਹੇਅਰਪਿਨਿੰਗ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ ਜਿਸ ਨੂੰ ਇਸ ਦੀ ਲੋੜ ਹੈ, ਸਿਰਫ਼ ਇਸ ਭਾਈਵਾਲ ਹੋਸਟ ਲਈ ਨਹੀਂ, ਇਸ ਲਈ ਇਹ ਤੇਜ਼ ਟੈਸਟ ਦੀ ਨਹੀਂ, ਸਮੀਖਿਆ ਕੀਤੇ ਬਦਲਾਅ ਦੀ ਚੀਜ਼ ਹੈ।
ਮੰਜ਼ਿਲ-ਸੀਮਿਤ PAT ਕਿਉਂ ਲਾਜ਼ਮੀ ਹੈ
ਡਿਕ੍ਰਿਪਟ ਕੀਤੇ ਪੈਕਟ ਦਾ ਸਰੋਤ ਪਤਾ ਅਜੇ ਵੀ ਕਲਾਇੰਟ ਦਾ VPN ਪਤਾ ਹੈ, ਆਮ ਤੌਰ ’ਤੇ 10.77.0.0/24 ਵਰਗੇ ਪੂਲ ਤੋਂ। ਉਸ ਪਤੇ ਦਾ ਜਨਤਕ ਇੰਟਰਨੈੱਟ ’ਤੇ ਕੋਈ ਰੂਟ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਭਾਈਵਾਲ ਜਾਂ ਤਾਂ ਕਦੇ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦਾ ਜਾਂ ਕਿਤੇ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦਾ।
ਅਨੁਵਾਦ ਸਰੋਤ ਨੂੰ ਸਹੀ ਕਰਦਾ ਹੈ ਅਤੇ ਮੰਜ਼ਿਲ ਨੂੰ ਅਛੂਤ ਛੱਡਦਾ ਹੈ। ਕਿਉਂਕਿ ਆਬਜੈਕਟ ਪਹਿਲਾਂ ਹੀ ਕਿਤੇ ਹੋਰ ਪਰਿਭਾਸ਼ਿਤ ਹਨ, ਇਸ ਮੰਜ਼ਿਲ ਤੱਕ ਸੀਮਿਤ ਮੈਨੂਅਲ ਨਿਯਮ ਦਾ ਇਹ ਰੂਪ ਹੈ:
same-security-traffic permit intra-interface
object network RA_POOL
subnet 10.77.0.0 255.255.255.0
object network PARTNER_HOST
host 203.0.113.20
nat (outside,outside) source dynamic RA_POOL interface destination static PARTNER_HOST PARTNER_HOSTdestination static ਹਿੱਸਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਇਸ ਨੂੰ ਛੱਡਣ ਨਾਲ ਨਿਯਮ ਇੱਕ ਵਿਸ਼ਾਲ ਅਨੁਵਾਦ ਬਣ ਜਾਂਦਾ ਹੈ ਜੋ ਇਰਾਦੇ ਨਾਲੋਂ ਕਿਤੇ ਵੱਧ ਟ੍ਰੈਫਿਕ ਨਾਲ ਮੇਲ ਖਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਕ੍ਰਮ ਵਿੱਚ ਪਹਿਲਾਂ ਆਉਣ ਵਾਲਾ ਵਿਸ਼ਾਲ identity ਨਿਯਮ ਇਸ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਹਰਾ ਸਕਦਾ ਹੈ। ਇਹ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਤੁਹਾਡਾ ਨਿਯਮ ਹੀ ਮੇਲ ਖਾਂਦਾ ਹੈ, show nat detail ਅਤੇ ਭਾਗਾਂ ਦਾ ਕ੍ਰਮ ਜਾਂਚੋ।
ਇੰਟਰਫੇਸ PAT ਦਾ ਮਤਲਬ ਇਹ ਵੀ ਹੈ ਕਿ ਭਾਈਵਾਲ ASA ਦਾ ਇੰਟਰਫੇਸ ਪਤਾ ਦੇਖਦਾ ਹੈ, ਜਿਸ ਦਾ ਉੱਪਰ ਵੱਲ ਦੁਬਾਰਾ ਅਨੁਵਾਦ ਹੋ ਸਕਦਾ ਹੈ। ਜੇ ਇਕਰਾਰਨਾਮਾ ਕਿਸੇ ਪਤੇ ਦਾ ਨਾਮ ਲੈਂਦਾ ਹੈ, ਤਾਂ ਇਸ ਨੂੰ ਇੱਕ ਹੌਪ ’ਤੇ ਨਹੀਂ, ਸਿਰੇ ਤੋਂ ਸਿਰੇ ਤੱਕ ਪੁਸ਼ਟੀ ਕਰੋ।
ਸਹੀ ਟੈਸਟ ਮੰਜ਼ਿਲ ਨਾਲ ਇਸ ਨੂੰ ਸਾਬਤ ਕਰੋ
ਸਧਾਰਨ what-is-my-ip ਪੰਨਾ ਨਹੀਂ, ਭਾਈਵਾਲ ਹੋਸਟ ਹੀ ਵਰਤੋ। ਉਹ ਪੰਨਾ ਲਗਭਗ ਨਿਸ਼ਚਿਤ ਤੌਰ ’ਤੇ split ਸੂਚੀ ਤੋਂ ਬਾਹਰ ਹੈ, ਇਸ ਲਈ ਉਹ ਤੁਹਾਡਾ ਸਥਾਨਕ ਇੰਟਰਨੈੱਟ ਪਤਾ ਦੱਸਦਾ ਹੈ ਅਤੇ ਇਸ ਰਾਹ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ। ਭਾਈਵਾਲ ਸੇਵਾ ਨਾਲ ਨਵਾਂ ਕਨੈਕਸ਼ਨ ਖੋਲ੍ਹੋ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਪੁੱਛੋ ਕਿ ਉਨ੍ਹਾਂ ਨੇ ਕਿਹੜਾ ਸਰੋਤ ਦੇਖਿਆ, ਜਾਂ packet-tracer input outside tcp 10.77.0.10 12345 203.0.113.20 443 detailed ਚਲਾਓ ਅਤੇ NAT ਤੇ ਰੂਟਿੰਗ ਦੇ ਪੜਾਅ ਲਾਈਨ-ਦਰ-ਲਾਈਨ ਪੜ੍ਹੋ। ਕਲਾਇੰਟ ਤੋਂ traceroute ਕਮਜ਼ੋਰ ਜਾਂਚ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਪਹਿਲਾਂ ਹੋ ਚੁੱਕੇ ਰਾਹ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ, ਉਸ ਨੂੰ ਚੁਣਨ ਵਾਲੀ ਨੀਤੀ ਨੂੰ ਨਹੀਂ।
ਫਿਰ ਜਾਂਚੋ ਕਿ ਕੀ ਨਹੀਂ ਬਦਲਣਾ ਚਾਹੀਦਾ। ਆਮ ਵੈੱਬਸਾਈਟ ਨੂੰ ਅਜੇ ਵੀ ਸਥਾਨਕ ਕਨੈਕਸ਼ਨ ਰਾਹੀਂ ਬਾਹਰ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਟਨਲ ਸੂਚੀ ਵਿੱਚਲੇ ਨਿੱਜੀ ਸਰੋਤ ਤੱਕ ਅਜੇ ਵੀ ਪਹੁੰਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਭਾਈਵਾਲ ਨੂੰ ਠੀਕ ਕਰਕੇ ਇਨ੍ਹਾਂ ਦੋਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਤੋੜਨ ਵਾਲਾ ਬਦਲਾਅ ਦੂਜੀ ਬੱਗ ਹੈ।
ਇਸ ਡਿਜ਼ਾਈਨ ਦਾ ਕੰਮ ਕਰਨ ਵਾਲਾ ਸੰਸਕਰਣ ਛੋਟਾ ਹੈ: split ACL ਵਿੱਚ ਇੱਕ ਹੋਸਟ, ਹੇਅਰਪਿਨ ਇਜਾਜ਼ਤ, ਮੰਜ਼ਿਲ-ਸੀਮਿਤ ਇੱਕ PAT ਨਿਯਮ। ਕਹਾਣੀ ਵਿੱਚ ਬਾਕੀ ਸਭ ਮਿੱਥ ਹੈ।