ਰਾਊਟਿੰਗ ਨਿਯਮ ਪੈਕੇਟ ਮਾਰਕ ਪੜ੍ਹਦਾ ਹੈ, conntrack ਨਹੀਂ
ਨੀਤੀ-ਅਧਾਰਤ ਰਾਊਟਿੰਗ ਪੈਕੇਟ ਮਾਰਕ ਪੜ੍ਹਦੀ ਹੈ; conntrack ਲੰਮੀ ਉਮਰ ਵਾਲਾ ਹੋਰ ਮੁੱਲ ਸੰਭਾਲਦਾ ਹੈ। ਦੋਹਾਂ ਵਿਚਕਾਰ ਨਕਲ ਕਰਨਾ ਉਹ ਕਦਮ ਹੈ ਜੋ ਕਿਸੇ ਨੇ ਲਿਖਣਾ ਪੈਂਦਾ ਹੈ।
ਚਾਰ ਜਾਂਚਾਂ ਕੰਮ ਕਰਨ ਵਾਲੇ ਮਾਰਕ ਨਿਯਮ ਨੂੰ ਕੰਮ ਕਰਨ ਵਾਲੇ ਰਸਤੇ ਤੋਂ ਵੱਖ ਕਰਦੀਆਂ ਹਨ: ਨਿਯਮ ਕਿਹੜਾ ਮਾਰਕ ਪੜ੍ਹਦਾ ਹੈ, ਖੋਜ ਸਮੇਂ ਪੈਕੇਟ ਅਜੇ ਵੀ ਇਸਨੂੰ ਢੋਂਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਬਾਅਦ ਦੇ ਪੈਕਟਾਂ ਉੱਤੇ ਕਨੈਕਸ਼ਨ ਮਾਰਕ ਬਹਾਲ ਕੀਤਾ ਗਿਆ ਸੀ ਜਾਂ ਨਹੀਂ, ਅਤੇ ਕੀ ਮਿਲਦੇ ਨਿਯਮ ਦਾ ਮਾਸਕ ਅਤੇ ਤਰਜੀਹ ਇਸਨੂੰ ਸਰਗਰਮ ਹੋਣ ਦਿੰਦੇ ਹਨ। ਵਧਦਾ ਕਾਊਂਟਰ ਸਿਰਫ਼ ਇਹ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਕੋਈ ਨਿਯਮ ਕਿਸੇ ਚੀਜ਼ ਨਾਲ ਮਿਲਿਆ। ਇਹ ਇਸ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ ਕਿ ਕਰਨਲ ਨੇ ਆਪਣਾ ਰਾਹ ਚੁਣਦੇ ਸਮੇਂ ਪੈਕੇਟ ਕੀ ਢੋ ਰਿਹਾ ਸੀ।
ਦੋਵੇਂ ਮਾਰਕ ਵੱਖਰੀਆਂ ਥਾਵਾਂ ਉੱਤੇ ਰਹਿੰਦੇ ਹਨ ਅਤੇ ਵੱਖਰੇ ਸਮਾਂ-ਸਾਰਣੀਆਂ ਅਨੁਸਾਰ ਖ਼ਤਮ ਹੁੰਦੇ ਹਨ।
ਦੋ ਮਾਰਕ, ਦੋ ਉਮਰਾਂ
ਪੈਕੇਟ ਮਾਰਕ ਇੱਕ skb ਦਾ ਹੁੰਦਾ ਹੈ, ਉਸ ਨਾਲ ਹੁੱਕਾਂ ਵਿੱਚੋਂ ਲੰਘਦਾ ਹੈ ਅਤੇ ਨੀਤੀ ਰਾਊਟਿੰਗ ਦਾ fwmark ਚੋਣਕਾਰ ਇਸਨੂੰ ਵਰਤਦਾ ਹੈ। ਕਨੈਕਸ਼ਨ ਮਾਰਕ conntrack ਐਂਟਰੀ ਦਾ ਹੁੰਦਾ ਹੈ, ਉਸ ਵਹਾਅ ਦੇ ਪੈਕਟਾਂ ਵਿੱਚ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ ਅਤੇ ਜਦ ਤੱਕ ਕੋਈ ਇਸਨੂੰ ਵਾਪਸ ਨਕਲ ਨਹੀਂ ਕਰਦਾ, ਰਾਊਟਿੰਗ ਨਿਯਮ ਲਈ ਅਦਿੱਖ ਰਹਿੰਦਾ ਹੈ। ਪੈਕੇਟ ਮਾਰਕ ਨੂੰ ਕਨੈਕਸ਼ਨ ਵਿੱਚ ਸੰਭਾਲਣਾ ਇੱਕ ਭੰਡਾਰਨ ਹੈ; ਇਸਨੂੰ ਬਹਾਲ ਕਰਨਾ ਵੱਖਰੀ ਕਿਰਿਆ ਹੈ। ਦੋਵੇਂ ਆਪਣੇ ਆਪ ਨਹੀਂ ਹੁੰਦੇ।
ਇਸ ਲਈ ਨਿਯਮਾਂ ਦਾ ਸਮੂਹ ਇਕਸਾਰ ਦਿਸ ਸਕਦਾ ਹੈ, ਪਰ ਰਾਊਟਿੰਗ ਫ਼ੈਸਲਾ ਜ਼ੀਰੋ ਦੇਖਦਾ ਹੈ: ਮੁੱਲ ਸੰਭਾਲਿਆ ਗਿਆ ਸੀ ਅਤੇ ਕਿਸੇ ਨੇ ਇਸਨੂੰ ਬਹਾਲ ਨਹੀਂ ਕੀਤਾ।
ਦੋਹਾਂ ਵਿਚਕਾਰ ਨਕਲ ਕਰਨਾ ਉਹ ਕਦਮ ਹੈ ਜੋ ਤੁਸੀਂ ਲਿਖਦੇ ਹੋ
ਦੋ ਮਹੱਤਵਪੂਰਨ ਬਿਆਨ ਉਲਟ ਦਿਸ਼ਾਵਾਂ ਵਿੱਚ ਚੱਲਦੇ ਹਨ: ਇੱਕ ਪੈਕੇਟ ਦਾ ਮਾਰਕ ਕਨੈਕਸ਼ਨ ਵਿੱਚ ਸੰਭਾਲਦਾ ਹੈ, ਦੂਜਾ ਕਨੈਕਸ਼ਨ ਦਾ ਮਾਰਕ ਪੈਕੇਟ ਉੱਤੇ ਲੋਡ ਕਰਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਕਿਹੜਾ ਚਾਹੀਦਾ ਹੈ ਇਹ ਇਸ ਗੱਲ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਵਹਾਅ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਵਰਗੀਕਰਨ ਕਦੋਂ ਹੁੰਦਾ ਹੈ। ਕਿਸੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਸਿਰਫ਼ ਪੈਕੇਟ ਮਾਰਕ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ, ਅਤੇ ਇਹ ਕਿ ਕਿਸੇ ਕੰਮਚਲਾਊ ਉਪਾਅ ਨੇ ਦੋਵੇਂ ਵਰਤੇ ਸਨ ਇਸ ਲਈ conntrack ਮਾਰਕਿੰਗ ਜੋੜਨਾ ਉਹ ਤਰੀਕਾ ਹੈ ਜਿਸ ਨਾਲ ਸਾਧਾਰਨ ਨੀਤੀ ਦੂਜੀ ਅਸਫਲਤਾ ਵਿਧੀ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ।
ct mark set meta mark meta mark set ct mark
ਨਿਯਮ ਦੇ ਕੋਲ ਦਿਸ਼ਾ ਲਿਖੋ, ਕਿਉਂਕਿ ਪਹਿਲੀ ਨਜ਼ਰ ਵਿੱਚ ਵਾਕ-ਰਚਨਾ ਤੋਂ ਇਹ ਸਪੱਸ਼ਟ ਨਹੀਂ ਹੁੰਦੀ। ਪਹਿਲੀ ਲਾਈਨ ਸੰਭਾਲਦੀ ਹੈ, ਦੂਜੀ ਬਹਾਲ ਕਰਦੀ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਦੂਜੀ ਦਾ ਮਤਲਬ ਨਹੀਂ ਦਿੰਦੀ।
ਉਸ ਖੋਜ ਤੋਂ ਪਹਿਲਾਂ ਵਰਗੀਕਰਨ ਕਰੋ ਜੋ ਇਸਨੂੰ ਵਰਤਦੀ ਹੈ
ਸਥਾਨਕ ਤੌਰ ਉੱਤੇ ਪੈਦਾ ਹੋਇਆ ਟ੍ਰੈਫ਼ਿਕ ਅਤੇ LAN ਤੋਂ ਅੱਗੇ ਭੇਜਿਆ ਟ੍ਰੈਫ਼ਿਕ ਵੱਖਰੇ ਹੁੱਕਾਂ ਵਿੱਚੋਂ ਲੰਘਦੇ ਹਨ ਅਤੇ ਵੱਖਰੇ ਪਲਾਂ ਵਿੱਚ ਰਾਊਟਿੰਗ ਫ਼ੈਸਲਿਆਂ ਤੱਕ ਪਹੁੰਚਦੇ ਹਨ। ਰਾਊਟਰ ਦੇ ਆਪਣੇ ਕਨੈਕਸ਼ਨਾਂ ਲਈ ਕੰਮ ਕਰਨ ਵਾਲਾ ਆਉਟਪੁੱਟ ਨਿਯਮ ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਅੱਗੇ ਭੇਜੇ ਗਏ ਕਲਾਇੰਟ ਦਾ ਪੈਕੇਟ ਆਪਣੀ ਖੋਜ ਤੋਂ ਪਹਿਲਾਂ ਮਾਰਕ ਹੋਇਆ ਸੀ। ਵਰਗੀਕਰਨ ਉੱਥੇ ਰੱਖੋ ਜਿੱਥੇ ਇਸਨੂੰ ਵਰਤਣ ਵਾਲੀ ਖੋਜ ਅਜੇ ਨਹੀਂ ਹੋਈ, ਅਤੇ ਵੇਖੋ ਕਿ ਉਸੇ ਲੜੀ ਦੇ ਬਾਅਦ ਦੇ ਨਿਯਮ ਮੁੱਲ ਉੱਤੇ ਦੁਬਾਰਾ ਲਿਖਦੇ ਹਨ ਜਾਂ ਨਹੀਂ। ਲੜੀ ਦੇ ਅੰਦਰ ਕ੍ਰਮ ਸੰਰਚਨਾ ਦਾ ਹਿੱਸਾ ਹੈ, ਲਾਗੂ ਕਰਨ ਦੀ ਵਿਸਥਾਰ ਨਹੀਂ।
ਕਨੈਕਸ਼ਨ-ਹਾਲਤ ਦੀ ਟਿਕਾਊਪਨ ਲਈ ਵੀ ਸਪੱਸ਼ਟ ਯੋਜਨਾ ਚਾਹੀਦੀ ਹੈ। ਜੇ ਵਹਾਅ ਦਾ ਸਿਰਫ਼ ਪਹਿਲਾ ਪੈਕੇਟ ਵਰਗੀਕ੍ਰਿਤ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਬਾਅਦ ਦੇ ਪੈਕਟਾਂ ਨੂੰ ਸੰਭਾਲਿਆ ਮਾਰਕ ਬਹਾਲ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਨਹੀਂ ਤਾਂ ਉਹ ਮਾਰਕ ਰਹਿਤ ਰਾਹ ਲੈਣਗੇ। ਕਨੈਕਸ਼ਨ ਦਾ ਵਰਣਨ ਕਰਨ ਵਾਲੇ ਮਾਰਕ ਅਤੇ ਪੈਕੇਟ ਦਾ ਵਰਣਨ ਕਰਨ ਵਾਲੇ ਮਾਰਕ ਵਿਚਕਾਰ ਇਹੀ ਫ਼ਰਕ ਹੈ।
ਰਸਤੇ ਨੂੰ ਮਾਰਕ ਵਾਲਾ ਸਵਾਲ ਪੁੱਛੋ
ip route get 10.77.0.10 mark 0x2
ਨਿਯਮ ਅਤੇ ਸਾਰਣੀ ਜਾਂਚੋ, ਫਿਰ ਮਾਰਕ ਸੰਮਿਲਿਤ ਕਰਕੇ ਰਸਤੇ ਨੂੰ ਪੁੱਛੋ, ਅਤੇ ਜੇ ਸਰੋਤ ਜਾਂ ਆਉਂਦਾ ਇੰਟਰਫ਼ੇਸ ਨੀਤੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੇ ਹਨ ਤਾਂ ਉਹ ਵੀ ਜੋੜੋ। ਮਾਰਕ ਰਹਿਤ ਸਾਧਾਰਨ ਖੋਜ ਕਿਸੇ ਹੋਰ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦੀ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਨਾ-ਚਾਹੀਦੀ ਰਾਹ ਖ਼ੁਸ਼ੀ ਨਾਲ ਦੱਸਦੀ ਹੈ। ਨਿਯਮ ਦੇ ਮੁੱਲ ਦੇ ਨਾਲ-ਨਾਲ ਇਸਦਾ ਮਾਸਕ ਅਤੇ ਤਰਜੀਹ ਜਾਂਚੋ, ਅਤੇ ਪੱਕਾ ਕਰੋ ਕਿ ਚੁਣੀ ਸਾਰਣੀ ਵਿੱਚ ਵਰਤੋਂਯੋਗ ਰਸਤਾ ਹੈ।
ਵਧਦਾ ਕਾਊਂਟਰ ਇਸ ਗੱਲ ਦਾ ਸਬੂਤ ਹੈ ਕਿ ਕੋਈ ਨਿਯਮ ਕਿਸੇ ਪੈਕੇਟ ਨਾਲ ਮਿਲਿਆ। ਇਹ ਸਬੂਤ ਨਹੀਂ ਕਿ ਅੰਤਿਮ ਪੈਕੇਟ ਸਹੀ ਫ਼ੈਸਲਾ-ਬਿੰਦੂ ਉੱਤੇ ਲੋੜੀਂਦਾ ਮਾਰਕ ਢੋ ਰਿਹਾ ਸੀ।
ਮਾਰਕ, ਦਿਸ਼ਾ, ਸਮਾਂ ਅਤੇ ਮਾਸਕ ਪੜ੍ਹੋ। ਚਾਰ ਜਾਂਚਾਂ, ਅਤੇ ਰਸਤਾ ਭੇਤ ਰਹਿਣਾ ਬੰਦ ਕਰਦਾ ਹੈ।