nftables: ਡ੍ਰੌਪ ਹੈਂਡਲ ਤੋਂ ਪਹਿਲਾਂ VPN ਇਜਾਜ਼ਤ ਨਿਯਮ ਪਾਓ
nftables ਵਿੱਚ, insert ਅਤੇ add ਨਿਯਮ ਨੂੰ ਹੈਂਡਲ ਦੇ ਉਲਟ ਪਾਸਿਆਂ ’ਤੇ ਰੱਖਦੇ ਹਨ। ਡ੍ਰੌਪ ਲੱਭੋ, ਪਾਸਾ ਚੁਣੋ, ਫਿਰ ਨਿਯਮ-ਸਮੂਹ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਫਾਈਲ ਜਾਂਚੋ।
ਇਜਾਜ਼ਤ ਨਿਯਮ ਗਲਤ ਥਾਂ ’ਤੇ ਰੱਖੋ ਤਾਂ ਉਹ ਨਿਯਮ ਹੀ ਨਾ ਹੋਣ ਵਾਂਗ ਵਿਵਹਾਰ ਕਰਦਾ ਹੈ। nftables ਵਿੱਚ insert ਅਤੇ add ਵਿਚਕਾਰ ਚੋਣ ਤੈਅ ਕਰਦੀ ਹੈ ਕਿ ਨਵਾਂ ਕਥਨ ਹਵਾਲਾ ਦਿੱਤੇ ਨਿਯਮ ਦੇ ਕਿਹੜੇ ਪਾਸੇ ਬੈਠੇਗਾ, ਅਤੇ ਹੈਂਡਲ ਜੀਵੰਤ ਨਿਯਮ-ਸਮੂਹ ਵਿੱਚ ਨਿਯਮ ਦਾ ਨਾਮ ਦਿੰਦਾ ਹੈ, ਉਸ ਦੀ ਲਾਈਨ ਨੰਬਰ ਨਹੀਂ। ਥਾਂ ਗਲਤ ਹੋਵੇ ਤਾਂ ਪੈਕੇਟ ਪਹਿਲਾਂ ਡ੍ਰੌਪ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੀ ਤੁਲਨਾ ਇੱਕ ਸਥਿਰ ਸਾਥੀ ਅਤੇ ਇੱਕ ਬਾਹਰੀ ਸਰੋਤਾ-ਅਦਲਾ-ਬਦਲੀ ਵਰਤਦੀ ਹੈ। ਇਹ ਜਾਣ-ਬੁੱਝ ਕੇ ਤੰਗ ਹੈ; ਪੂਰੀ ਚੇਨ ਬਦਲਣਾ ਵੱਖਰੇ ਜੋਖਮ-ਪ੍ਰੋਫਾਈਲ ਵਾਲਾ ਦੂਜਾ ਬਦਲਾਅ ਹੈ।
ਦੋ ਥਾਵਾਂ, ਦੋ ਵੱਖਰੇ ਨਤੀਜੇ
insert ਹਵਾਲਾ ਦਿੱਤੇ ਨਿਯਮ ਤੋਂ ਪਹਿਲਾਂ ਨਿਯਮ ਰੱਖਦਾ ਹੈ। add ਉਸ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਰੱਖਦਾ ਹੈ। ਜੇ ਹਵਾਲਾ ਦਿੱਤਾ ਨਿਯਮ ਪ੍ਰਵਾਹ ਲਈ ਅੰਤਿਮ ਡ੍ਰੌਪ ਹੈ, ਤਾਂ ਨਿਯਮ ਦਾ ਪਾਠ ਇੱਕੋ ਜਿਹਾ ਹੋਣ ’ਤੇ ਵੀ ਇਹ ਦੋ ਆਦੇਸ਼ ਉਲਟ ਨਤੀਜੇ ਦਿੰਦੇ ਹਨ।
ਥਾਂ ਛੱਡਣ ਦਾ ਆਪਣਾ ਡਿਫਾਲਟ ਵਿਵਹਾਰ ਹੈ, ਜੋ ਫੋਰਮ ਤੋਂ ਆਦੇਸ਼ ਕਾਪੀ ਨ ਕਰਨ ਦਾ ਇੱਕ ਹੋਰ ਕਾਰਨ ਹੈ—ਬਿਨਾਂ ਪੜ੍ਹੇ ਕਿ ਉਹ ਕਿਸ ਨਾਲ ਜੁੜਿਆ ਹੈ। ਐਂਕਰ ਹੀ ਪੂਰਾ ਫੈਸਲਾ ਹੈ। ਆਦੇਸ਼ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਛਤ ਪਾਸਾ ਲਿਖ ਲਓ। ਫਾਈਲ ਵਿੱਚ insert ਅਤੇ add ਇੱਕ ਸ਼ਬਦ ਦੇ ਫ਼ਰਕ ’ਤੇ ਹਨ।
ਥਾਂ ਕਿਸੇ ਖਾਸ ਚੇਨ ਦੇ ਨਿਯਮ ਦੇ ਸਾਪੇਖ ਹੈ। ਉਹੀ ਕਥਨ ਦੂਜੀ ਚੇਨ ਜਾਂ ਦੂਜੀ hook ਤਰਜੀਹ ਵਿੱਚ ਭੇਜਣ ਨਾਲ ਬਦਲਦਾ ਹੈ ਕਿ ਉਹ ਕਿਹੜੇ ਪੈਕੇਟ ਵੇਖਦਾ ਹੈ, ਨਿਯਮ ਦਾ ਵਾਕ-ਵਿਉਂਤ ਸਹੀ ਲੱਗਣ ’ਤੇ ਵੀ।
ਹੈਂਡਲ ਨਿਯਮ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ, ਲਾਈਨ ਨੰਬਰ ਦੀ ਨਹੀਂ
42 ਵਰਗਾ ਹੈਂਡਲ ਮੌਜੂਦਾ ਨਿਯਮ-ਸਮੂਹ ਸਥਿਤੀ ਵਿੱਚ ਇੱਕ ਪਛਾਣਕਰਤਾ ਹੈ। ਉਹ ਬਤਾਲੀਵਾਂ ਨਿਯਮ ਨਹੀਂ ਹੈ, ਅਤੇ ਮੇਜ਼ਬਾਨਾਂ, ਮੁੜ-ਨਿਰਮਾਣਾਂ ਜਾਂ ਆਪਣੀ ਸੰਰਚਨਾ ਮੁੜ ਲੋਡ ਕਰਨ ਵਾਲੇ ਪ੍ਰਬੰਧਕ ਵਿਚਕਾਰ ਉਹ ਸਥਿਰ ਨਹੀਂ ਹੈ।
ਐਂਕਰ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਚੇਨ ਅਤੇ ਅਸਲ ਅੰਤਿਮ ਡ੍ਰੌਪ ਲੱਭੋ। ਫਿਰ ਡ੍ਰੌਪ ਦਿਖਾਉਣ ਵਾਲੀ ਉਸੇ ਸੂਚੀ ਵਿੱਚ ਉਸ ਨਿਯਮ ’ਤੇ ਹੈਂਡਲ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ, ਤਾਂ ਜੋ ਨੰਬਰ ਅਤੇ ਨਿਯਮ ਇਕੱਠੇ ਪੜ੍ਹੇ ਜਾਣ। ਪੁਰਾਣੀ ਸੂਚੀ ਤੋਂ ਪੜ੍ਹਿਆ ਹੈਂਡਲ ਪਹਿਲਾਂ ਹੀ ਕਿਸੇ ਹੋਰ ਨਿਯਮ ਦਾ ਹੋ ਸਕਦਾ ਹੈ। ਬਦਲਾਅ ਲਾਗੂ ਕਰਨ ਵਾਲੇ ਸੈਸ਼ਨ ਵਿੱਚ ਉਸ ਨੂੰ ਮੁੜ ਪੜ੍ਹੋ।
iptables --version
nft -a list ruleset
iptables ਸੰਸਕਰਣ ਦੱਸਦਾ ਹੈ ਕਿ ਕਿਹੜਾ backend ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ। iptables-nft ਨਿਯਮ-ਸਮੂਹ ਅਤੇ ਸੁਤੰਤਰ ਤੌਰ ’ਤੇ ਪ੍ਰਬੰਧਿਤ ਮੂਲ ਟੇਬਲ ਇਕੱਠੇ ਰਹਿ ਸਕਦੇ ਹਨ, ਇਸ ਲਈ ਇੱਕ frontend ਦੀ ਸੂਚੀ ਆਪਣੇ ਆਪ ਪੂਰੀ ਫਿਲਟਰਿੰਗ ਤਸਵੀਰ ਨਹੀਂ ਹੁੰਦੀ। ਚੇਨ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਦੋਵੇਂ ਦ੍ਰਿਸ਼ ਜਾਂਚੋ।
ਅਸਲ ਵਿੱਚ ਡ੍ਰੌਪ ਕਰਨ ਵਾਲੀ ਚੇਨ ਅਤੇ ਨਿਯਮ ਲੱਭੋ
input hook, ਚੇਨ ਦੀ ਤਰਜੀਹ ਅਤੇ ਇਸ ਸਰੋਤਾ-ਪ੍ਰਵਾਹ ਨੂੰ ਰੱਦ ਕਰਨ ਵਾਲਾ ਨਿਯਮ ਪੜ੍ਹੋ। inet ਟੇਬਲ ਦੋਵੇਂ ਪਤਾ ਪਰਿਵਾਰ ਰੱਖ ਸਕਦਾ ਹੈ, ਪਰ ਇੱਕਲਾ ਨਿਯਮ ਅਜੇ ਵੀ ਸਿਰਫ਼ IPv4 ਨਾਲ ਮੇਲ ਖਾ ਸਕਦਾ ਹੈ।
ਇੱਕ ਮਨਜ਼ੂਰ ਸਾਥੀ ਲਓ, ਉਦਾਹਰਣ ਵਜੋਂ ਦਸਤਾਵੇਜ਼ੀ ਰੇਂਜ ਤੋਂ 198.51.100.25 ਵਰਤਦੇ ਹੋਏ। ਸਮੀਖਿਆ ਕੀਤੀ ਮੂਲ ਫਾਈਲ ਹੈਂਡਲ 42 ਤੋਂ ਪਹਿਲਾਂ ਬਾਹਰੀ ਇਜਾਜ਼ਤ ਰੱਖ ਸਕਦੀ ਹੈ:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
ਜਾਂਚ ਤੋਂ ਬਾਅਦ ਪਰਿਵਾਰ, ਟੇਬਲ, ਚੇਨ, ਹੈਂਡਲ, ਦਾਖਲ ਇੰਟਰਫ਼ੇਸ ਅਤੇ ਸਾਥੀ ਬਦਲੋ। ਉਦਾਹਰਣ nft 1.0.9 ਲਈ ਦਸਤਾਵੇਜ਼ੀ ਹੈਂਡਲ-ਥਾਂ ਰੂਪ ਵਰਤਦੀ ਹੈ, ਅਤੇ ਉਹ input ਫਾਈਲ ਵਿੱਚ ਆਉਂਦੀ ਹੈ; ਆਦੇਸ਼ ਇੰਟਰਐਕਟਿਵ ਲਿਖੇ ਜਾਣ ’ਤੇ ਬਰੈਕਟਾਂ ਦਾ ਹਵਾਲਾ ਵੱਖਰਾ ਵਿਸ਼ਾ ਹੈ।
ਸੰਰਚਨਾ ਦਾ ਮਾਲਕ ਸਪਸ਼ਟ ਰੱਖੋ। ਆਪਣੇ ਨਿਯਮ ਮੁੜ ਬਣਾਉਣ ਵਾਲਾ ਪ੍ਰਬੰਧਕ ਰਨਟਾਈਮ ਸੋਧ ਉੱਤੇ ਲਿਖ ਸਕਦਾ ਹੈ, ਅਤੇ ਪੁਰਾਣਾ ਹੈਂਡਲ ਹਾਰਡਕੋਡ ਕਰਨ ਵਾਲੀ ਬੂਟ ਸਕ੍ਰਿਪਟ ਜਾਂ ਤਾਂ ਫੇਲ੍ਹ ਹੋਵੇਗੀ ਜਾਂ ਗਲਤ ਨਿਯਮ ਨਾਲ ਜੁੜ ਜਾਵੇਗੀ।
ਇਜਾਜ਼ਤ ਸੀਮਿਤ ਹੈ, ਡ੍ਰੌਪ ਅੰਤਿਮ ਹੈ
ਇਜਾਜ਼ਤ ਦਾ ਫੈਸਲਾ ਆਪਣੇ ਮੌਜੂਦਾ ਮਾਰਗ ਵਿੱਚ ਮੁਲਾਂਕਣ ਖ਼ਤਮ ਕਰਦਾ ਹੈ, ਪਰ ਬਾਅਦ ਵਿੱਚ ਲਾਗੂ ਹੋਣ ਵਾਲੀ ਅਧਾਰ ਚੇਨ ਅਜੇ ਵੀ ਪੈਕੇਟ ਡ੍ਰੌਪ ਕਰ ਸਕਦੀ ਹੈ। ਡ੍ਰੌਪ ਦਾ ਫੈਸਲਾ ਅੰਤਿਮ ਹੈ। ਇਸ ਲਈ ਵਧਦਾ ਇਜਾਜ਼ਤ ਕਾਊਂਟਰ ਪ੍ਰਵਾਹ ਦੇ ਸਫਲ ਹੋਣ ਦਾ ਸਬੂਤ ਨਹੀਂ ਹੈ।
ਇੱਕ ਚੇਨ ਨੂੰ ਵੱਖਰੇ ਤੌਰ ’ਤੇ ਜਾਂਚਣ ਦੀ ਬਜਾਏ ਸਾਰੀਆਂ ਸੰਬੰਧਿਤ hook ਤਰਜੀਹਾਂ ਜਾਂਚੋ। ਪੈਕੇਟ input ਫਿਲਟਰ ਪਾਰ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਫਿਰ ਵੀ ਦੂਜੇ ਟੇਬਲ ਦੇ hook ਵੱਲੋਂ ਵੱਖਰੀ ਤਰਜੀਹ ’ਤੇ ਰੱਦ ਹੋ ਸਕਦਾ ਹੈ। ਪ੍ਰਵਾਹ ਵੇਖ ਸਕਣ ਵਾਲੀ ਹਰ ਅਧਾਰ ਚੇਨ ਸੂਚੀਬੱਧ ਕਰੋ।
ਉਹ ਨਿਯਮ ਸਿਰਫ਼ ਬਾਹਰੀ ਸਰੋਤਾ-ਅਦਲਾ-ਬਦਲੀ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ। ਟਰਾਂਸਪੋਰਟ-ਇਨਕੈਪਸੁਲੇਟਿਡ ESP, ਮੂਲ ESP, IPv6 ਸਾਥੀ ਅਤੇ ਸੁਰੰਗ ਅੰਦਰ ਡੀਕ੍ਰਿਪਟ ਕੀਤਾ ਟ੍ਰੈਫ਼ਿਕ—ਸਭ ਨੂੰ ਆਪਣੀਆਂ ਨੀਤੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਇਹ ਪੂਰੀ ਸਾਈਟ VPN ਫਾਇਰਵਾਲ ਨਹੀਂ ਹੈ।
ਫਾਈਲ ਜਾਂਚੋ, ਫਿਰ ਜੀਵੰਤ ਨਤੀਜਾ ਤਸਦੀਕ ਕਰੋ
ਲਾਗੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਮੀਖਿਆ ਕੀਤੀ ਫਾਈਲ ’ਤੇ ਵਾਕ-ਵਿਉਂਤ ਅਤੇ ਲੈਣ-ਦੇਣ ਜਾਂਚ ਚਲਾਓ। ਜਾਂਚ ਮੋਡ ਦੱਸਦਾ ਹੈ ਕਿ nft ਬਦਲਾਅ ਨੂੰ ਪਾਰਸ ਅਤੇ ਤਿਆਰ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਨਹੀਂ; ਇਹ ਉਸ ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਕੋਈ ਹੋਰ hook ਪੈਕੇਟ ਨੂੰ ਮਨਜ਼ੂਰੀ ਦੇਵੇਗਾ। ਮਾਲਕ ਵੱਲੋਂ ਲਾਗੂ ਕਰਨ ਤੱਕ ਫਾਈਲ ਪ੍ਰਸਤਾਵ ਰਹਿੰਦੀ ਹੈ:
nft -c -f reviewed-vpn-rule.nft
ਮਾਲਕ ਦੀ ਨਿਯੰਤਰਿਤ ਪ੍ਰਕਿਰਿਆ ਰਾਹੀਂ ਲਾਗੂ ਕਰੋ ਅਤੇ ਬਹਾਲੀ ਪਹੁੰਚ ਬਣਾਈ ਰੱਖੋ। ਜੇ ਨਿਯਮ ਗਲਤ ਹੈ, ਤਾਂ ਜਿਸ ਡ੍ਰੌਪ ਤੋਂ ਪਹਿਲਾਂ ਤੁਸੀਂ ਆਉਣਾ ਚਾਹੁੰਦੇ ਸੀ ਉਹ ਤੁਹਾਡੇ ਸੁਧਾਰ ਵਾਲੇ ਰਾਹ ਨੂੰ ਵੀ ਕੱਟ ਸਕਦਾ ਹੈ।
ਬਦਲਾਅ ਤੋਂ ਬਾਅਦ ਨਵੀਂ ਮਨਜ਼ੂਰ ਸਾਥੀ ਕੋਸ਼ਿਸ਼ ਵੇਖੋ ਅਤੇ ਜਾਂਚੋ ਕਿ ਮਨਜ਼ੂਰ ਸਾਥੀ ਤੋਂ ਬਾਹਰਲੇ ਸਰੋਤ ਅਜੇ ਵੀ ਰੱਦ ਹੋ ਰਹੇ ਹਨ। ਟਿਕਾਊ ਨਿਯਮ ਨੂੰ ਉਸ ਪ੍ਰਬੰਧਕ ਕੋਲ ਭੇਜੋ ਜਿਸ ਕੋਲ ਨਿਯਮ-ਸਮੂਹ ਹੈ, ਕਿਉਂਕਿ ਰਨਟਾਈਮ ਹੈਂਡਲ ਮੌਜੂਦਾ ਵਸਤੂਆਂ ਦਾ ਟਿਕਾਣਾ ਲੱਭਦੇ ਹਨ, ਬੂਟਾਂ ਵਿਚਕਾਰ ਉਨ੍ਹਾਂ ਦੀ ਪਛਾਣ ਨਹੀਂ ਕਰਦੇ।