Ubuntu 24.04
Sponsored Link

Nftables : सेवा सक्षम करें2023/09/20

 

यह Nftables का मूल संचालन है।

[1] Ubuntu 24.04 पर, nftables का उपयोग डिफ़ॉल्ट UFW बैकएंड के रूप में किया जाता है।
root@dlp:~#
update-alternatives --config iptables

There are 2 choices for the alternative iptables (providing /usr/sbin/iptables).

  Selection    Path                       Priority   Status
------------------------------------------------------------
* 0            /usr/sbin/iptables-nft      20        auto mode
  1            /usr/sbin/iptables-legacy   10        manual mode
  2            /usr/sbin/iptables-nft      20        manual mode

Press <enter> to keep the current choice[*], or type selection number:
[2] यदि आप सीधे nftables का उपयोग करते हैं, तो विभिन्न फ़ायरवॉल सेवाएँ एक-दूसरे को प्रभावित करने से बचने के लिए UFW सेवा को अक्षम कर दें।
इसके अलावा, nftables.service को सक्षम करें जो सिस्टम पुनरारंभ होने पर फ़िल्टरिंग नियम को पुनर्स्थापित करता है।
root@dlp:~#
systemctl disable --now ufw

Synchronizing state of ufw.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install disable ufw
Removed "/etc/systemd/system/multi-user.target.wants/ufw.service".

root@dlp:~#
systemctl enable --now nftables

Created symlink /etc/systemd/system/sysinit.target.wants/nftables.service → /usr/lib/systemd/system/nftables.service.

# [nftables.service] [/etc/nftables.conf] से नियम सेट पुनर्स्थापित करता है

root@dlp:~#
systemctl cat nftables.service

# /usr/lib/systemd/system/nftables.service
[Unit]
Description=nftables
Documentation=man:nft(8) http://wiki.nftables.org
Wants=network-pre.target
Before=network-pre.target shutdown.target
Conflicts=shutdown.target
DefaultDependencies=no

[Service]
Type=oneshot
RemainAfterExit=yes
StandardInput=null
ProtectSystem=full
ProtectHome=true
ExecStart=/usr/sbin/nft -f /etc/nftables.conf
ExecReload=/usr/sbin/nft -f /etc/nftables.conf
ExecStop=/usr/sbin/nft flush ruleset

[Install]
WantedBy=sysinit.target

# [/etc/nftables.conf] में डिफ़ॉल्ट रूप से कोई फ़िल्टरिंग सेटिंग नहीं है

root@dlp:~#
cat /etc/nftables.conf

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
        chain input {
                type filter hook input priority filter;
        }
        chain forward {
                type filter hook forward priority filter;
        }
        chain output {
                type filter hook output priority filter;
        }
}
[3] यदि आप UFW पर कॉन्फ़िगर किए गए नियमसेट का उपयोग करके nftables service पर स्विच करते हैं, तो निम्नानुसार कॉन्फ़िगर करें।
# वर्तमान UFW नियमों की पुष्टि करें (उसके आधार पर ufw चल रहा है)

root@dlp:~#
ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
2049/tcp                   ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)
80/tcp (v6)                ALLOW IN    Anywhere (v6)
2049/tcp (v6)              ALLOW IN    Anywhere (v6)

# वर्तमान नियम सेट को [/etc/nftables.conf] पर आउटपुट करें

root@dlp:~#
iptables-save > ufw-rules.dump

root@dlp:~#
iptables-restore-translate -f ufw-rules.dump > ruleset.nft

root@dlp:~#
nft flush ruleset

root@dlp:~#
nft -f ruleset.nft

root@dlp:~#
nft list ruleset > /etc/nftables.conf
# ufw बंद करो & nftables प्रारंभ करें

root@dlp:~#
systemctl disable --now ufw

root@dlp:~#
systemctl enable --now nftables
# नियम-सेट दिखाएँ

root@dlp:~#
nft list ruleset

table ip filter {
        chain INPUT {
                type filter hook input priority filter; policy drop;
                counter packets 0 bytes 0 jump ufw-before-logging-input
                counter packets 0 bytes 0 jump ufw-before-input
                counter packets 0 bytes 0 jump ufw-after-input
                counter packets 0 bytes 0 jump ufw-after-logging-input
                counter packets 0 bytes 0 jump ufw-reject-input
                counter packets 0 bytes 0 jump ufw-track-input
                counter packets 0 bytes 0 jump ufw-before-logging-input
                counter packets 0 bytes 0 jump ufw-before-input
                counter packets 0 bytes 0 jump ufw-after-input
                counter packets 0 bytes 0 jump ufw-after-logging-input
                counter packets 0 bytes 0 jump ufw-reject-input
                counter packets 0 bytes 0 jump ufw-track-input
        }

.....
.....

# उदाहरण के लिए, [UFW] पर अनुमत सेवाओं की सेटिंग निम्नानुसार दिखाना संभव है

root@dlp:~#
nft list chain ip filter ufw-user-input

table ip filter {
        chain ufw-user-input {
                tcp dport 22 counter packets 0 bytes 0 accept
                tcp dport 80 counter packets 0 bytes 0 accept
                tcp dport 2049 counter packets 0 bytes 0 accept
        }
}
मिलान सामग्री