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

ਕਿਸੇ ਕੰਟਰੋਲ ਨੂੰ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਟ੍ਰੈਫ਼ਿਕ ਭੂਮਿਕਾ ਦਾ ਨਾਮ ਲਓ

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

ਲਾਭਦਾਇਕ ਨਕਸ਼ਾ ਟ੍ਰੈਫ਼ਿਕ ਭੂਮਿਕਾ ਮੁਤਾਬਕ ਹੁੰਦਾ ਹੈ, ਕਿਉਂਕਿ ਕੁਝ ਅਸਫਲ ਹੋਣ ਵੇਲੇ ਤੁਸੀਂ ਉਹੀ ਦੇਖ ਸਕਦੇ ਹੋ। ਹੇਠਾਂ ਹਰ ਭੂਮਿਕਾ ਕੋਲ ਇੱਕ ਕੰਟਰੋਲ ਹੈ ਜੋ ਉਸਨੂੰ ਤੈਅ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਲੱਛਣ ਹੈ ਜੋ ਉਸ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ:

Traffic roleControl that decides itWhere it lives in the configSymptom when it is wrong
A client reaching a listener on the routerInput policy of the zone that carries the connection, or a rule for the portoption input in the zone stanza, or a named ruleThe handshake never completes and the tunnel log says nothing
A tunnel client reaching the router itselfInput policy of the tunnel zoneoption input in the VPN zoneA ping to the gateway fails
A tunnel client reaching another LAN hostForwarding from the tunnel zone to the LAN zoneconfig forwarding plus the zone assignmentThe gateway answers and the file share times out
The router's own traffic leaving the WANOutput policy, and translation if the far side needs itoption output and option masqThe tunnel never establishes, or replies vanish

ਰਾਊਟਰ ਉੱਤੇ ਸੁਣਨ ਵਾਲੇ ਨੂੰ ਇੱਕ ਤੰਗ ਇਨਪੁਟ ਨਿਯਮ ਚਾਹੀਦਾ ਹੈ

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

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

config zone
    option name 'wan'
    option input 'REJECT'
    option forward 'REJECT'
    option output 'ACCEPT'
    option masq '1'

config rule
    option name 'allow-openvpn'
    option src 'wan'
    option proto 'udp'
    option dest_port '1194'
    option target 'ACCEPT'

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

fw4 check
service firewall reload

ਕਲਾਇੰਟ ਦੀ ਬੇਨਤੀ ਇਨਪੁਟ ਵਿੱਚੋਂ ਨਹੀਂ, ਫ਼ਾਰਵਰਡਿੰਗ ਵਿੱਚੋਂ ਲੰਘਦੀ ਹੈ

ਪ੍ਰਮਾਣਿਕਤਾ ਤੋਂ ਬਾਅਦ, LAN ਸੇਵਾ ਮੰਗਦੇ ਟਨਲ ਕਲਾਇੰਟ ਦੀ ਬੇਨਤੀ ਫ਼ਾਰਵਰਡ ਕੀਤਾ ਪ੍ਰਵਾਹ ਬਣਾਉਂਦੀ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਤੈਅ ਕਰਨ ਵਾਲਾ ਕੰਟਰੋਲ ਟਨਲ ਜ਼ੋਨ ਅਤੇ LAN ਜ਼ੋਨ ਵਿਚਕਾਰ ਫ਼ਾਰਵਰਡਿੰਗ ਸੰਬੰਧ ਹੈ। ਟਨਲ ਇੰਟਰਫ਼ੇਸ ਨੂੰ ਲੋੜੀਂਦੇ ਜ਼ੋਨ ਵਿੱਚ ਸੌਂਪੋ, ਫਿਰ ਦਿਸ਼ਾ, ਸਰੋਤ ਅਤੇ ਸੇਵਾ ਘੋਸ਼ਿਤ ਕਰੋ। ਜ਼ੋਨ ਸੌਂਪਣਾ ਹੀ ਫ਼ਾਰਵਰਡਿੰਗ ਨਿਯਮ ਨੂੰ ਅਰਥ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਇਕੱਠੇ ਪੜ੍ਹਨ ਨਾਲ ਹੀ ਸਮਝ ਆਉਂਦੇ ਹਨ। ਜੋ ਫ਼ਾਰਵਰਡਿੰਗ ਸੰਬੰਧ ਟਨਲ ਜ਼ੋਨ ਨੂੰ ਸਰੋਤ ਅਤੇ LAN ਜ਼ੋਨ ਨੂੰ ਮੰਜ਼ਿਲ ਦੱਸਦਾ ਹੈ ਉਹ ਇੱਕ ਸੁਚੇਤ ਫ਼ੈਸਲੇ ਵਜੋਂ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ, ਜਦਕਿ ਪੂਰੇ ਜ਼ੋਨ ਦੀਆਂ ਦੋ ਇਜਾਜ਼ਤਾਂ ਹਾਦਸੇ ਵਜੋਂ ਪੜ੍ਹੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।

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

ਮਾਸਕਰੇਡਿੰਗ ਰਾਊਟਿੰਗ ਦਾ ਫ਼ੈਸਲਾ ਹੈ, ਇਜਾਜ਼ਤ ਨਹੀਂ

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

ਰਾਊਟ ਕੀਤੇ ਵਿਕਲਪ ਨੂੰ ਅਨੁਵਾਦ ਦੀ ਥਾਂ ਦੂਰ ਵਾਲੇ ਪਾਸੇ ਵਾਪਸੀ ਮਾਰਗ ਚਾਹੀਦਾ ਹੈ। ਦੋਵੇਂ ਵਿਕਲਪਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਫ਼ਾਇਰਵਾਲ ਇਜਾਜ਼ਤ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨ ਖਾਤਾ ਨਹੀਂ ਦਿੰਦਾ, ਇਸ ਲਈ ਮਾਸਕਰੇਡਿੰਗ ਬੰਦ ਕਰਨਾ ਕਿਤੇ ਵੀ ਨਾ ਪਹੁੰਚ ਸਕਣ ਵਾਲੇ ਟਨਲ ਕਲਾਇੰਟ ਨੂੰ ਲਗਭਗ ਕਦੇ ਵੀ ਠੀਕ ਨਹੀਂ ਕਰਦਾ। IPv4 ਅਤੇ IPv6 ਨੀਤੀ ਨੂੰ ਵੀ ਵੱਖਰਾ ਦੇਖੋ, ਕਿਉਂਕਿ ਇੱਕ ਅਨੁਵਾਦ ਸੈਟਿੰਗ ਦੋਵੇਂ ਪਰਿਵਾਰਾਂ ਦਾ ਵਰਣਨ ਨਹੀਂ ਕਰਦੀ।

ਮਨਜ਼ੂਰ ਅਤੇ ਰੱਦ ਕੀਤੀ ਬੇਨਤੀ ਨਾਲ ਫ਼ੈਸਲਾ ਸਾਬਤ ਕਰੋ

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

ਮੌਜੂਦਾ ਸੰਸਕਰਣ ਉੱਤੇ ਦੋ ਹੁਕਮ ਉਹ ਸਬੂਤ ਦਿੰਦੇ ਹਨ। ਬੇਨਤੀ ਸਵੀਕਾਰ ਹੋਣ ਵੇਲੇ ਮੇਲ ਖਾਣ ਵਾਲੇ ਨਿਯਮ ਦਾ ਕਾਊਂਟਰ ਹਿਲਦਾ ਹੈ, ਅਤੇ ਨਿਯਮ ਲਈ ਲੌਗਿੰਗ ਚਾਲੂ ਕੀਤੀ ਹੋਵੇ ਤਾਂ ਲੌਗ ਡ੍ਰੌਪ ਦਿਖਾਉਂਦਾ ਹੈ:

nft list chain inet fw4 forward_wan
logread -f | grep -i -E 'DROP|REJECT'

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

ਸੰਬੰਧਿਤ ਲੇਖ