UFW는 iptables 버전을 확인할 수 없습니다

UFW는 iptables 버전을 확인할 수 없습니다

저는 Yocto를 사용하여 NXP i.MX8 기반의 맞춤형 임베디드 Linux 플랫폼을 구축하고 있습니다. UFW를 사용하여 방화벽을 설정하고 싶습니다. 시스템을 부팅하고 UFW를 사용하려고 하면 오류가 반환됩니다.

Couldn't determine iptables version. 

iptables 및 nftables 패키지를 설치했습니다. iptables-legacy 바이너리를 가리키도록 itpables 심볼릭 링크를 수동으로 변경해 보았습니다. 여전히 실패합니다. 이 문제를 어떻게 해결할 수 있나요? 아래 버전을 참조하세요.

    root@iot-gate-imx8plus:~# iptables -v
    iptables v1.8.7 (legacy): no command specified
    Try `iptables -h' or 'iptables --help' for more information.
    root@iot-gate-imx8plus:~# nft -v
    nftables v1.0.2 (Lester Gooch)
    root@iot-gate-imx8plus:~# ufw version
    ufw 0.36.2
    Copyright 2008-2023 Canonical Ltd.
    root@iot-gate-imx8plus:~# ufw status
    ERROR: Couldn't determine iptables version
    root@iot-gate-imx8plus:~# uname -r
    5.15.32+g07c574e56d60
    root@iot-gate-imx8plus:~#

IP테이블:

    root@iot-gate-imx8plus:/usr/sbin# ls -lrt *iptables*

>    lrwxrwxrwx 1 root root 20 Mar  9  2018 iptables-save -> xtables-legacy-multi\
    lrwxrwxrwx 1 root root 20 Mar  9  2018 iptables-restore -> xtables-legacy-multi\
    lrwxrwxrwx 1 root root 20 Mar  9  2018 iptables-legacy-save -> xtables-legacy-multi\
    lrwxrwxrwx 1 root root 20 Mar  9  2018 iptables-legacy-restore -> xtables-legacy-multi\
    lrwxrwxrwx 1 root root 20 Mar  9  2018 iptables-legacy -> xtables-legacy-multi\
    lrwxrwxrwx 1 root root 20 Mar  9  2018 iptables -> xtables-legacy-multi
    

고쳐 쓰다:

스트레스는 문제를 지적했다. UFW는 iptables 바이너리의 위치를 ​​가정하고 Yocto는 이를 다른 곳에 설치합니다:

strace: Process 700 attached
[pid   700] openat(AT_FDCWD, "/proc/self/fd", O_RDONLY|O_CLOEXEC) = 3
[pid   700] execve("/sbin/iptables", ["/sbin/iptables", "-V"], 0xffffec437b88 /* 21 vars */) = -1 ENOENT (No such file or directory)
[pid   700] +++ exited with 255 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=700, si_uid=0, si_status=255, si_utime=0, si_stime=0} ---
ERROR: Couldn't determine iptables version
+++ exited with 1 +++
root@iot-gate-imx8plus:~# which iptables
/usr/sbin/iptables
root@iot-gate-imx8plus:~# ln -sf /usr/sbin/iptables /sbin/iptables
root@iot-gate-imx8plus:~# ufw status
Status: inactive

답변1

strace -f -s 1000 -e trace=file ufw status사용된 파일 경로를 확인하는 데 사용할 수 있으며 오류가 발견될 수 있습니다.

관련 정보