Red Hat Enterprise Linux 8 환경에서 nftables을 사용하는 경우 iptables 규칙을 생성하는 과정에서 예상치 못한 동작이 발생할 수 있습니다. 이 문제는 잠재적인 버그로 식별되며 의도하지 않은 “모두 허용” 규칙이 생성됩니다. 이 문제를 살펴보고 버그가 해결될 때까지 일시적인 해결책을 제시합니다

iptables-translate-restore 문제 설명

iptable 규칙을 nftables로 생성하는 과정에서 특정 규칙이 버그를 유발하여 의도하지 않은 결과물이 생성될 수 있습니다. 문제가 되는 규칙은 다음과 같습니다.

-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

이 규칙을 번역하면 nftables에서 의도하지 않은 “모두 허용” 규칙이 생성됩니다.

# 원본 iptables 규칙:
-A INPUT -p icmp -m icmp –icmp-type any -j ACCEPT

# iptables-restore-translate의 잘못된 변환:
add rule ip filter INPUT counter accept

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
cat test_ruleset.txt
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT 

Results in:
# iptables-restore-translate -f test_ruleset.txt
# Translated by iptables-restore-translate v1.8.4 on Fri Oct 28 12:50:28 2023
add table ip filter
add chain ip filter INPUT { type filter hook input priority 0; policy accept; }
add chain ip filter FORWARD { type filter hook forward priority 0; policy accept; }
add chain ip filter OUTPUT { type filter hook output priority 0; policy accept; }
add rule ip filter INPUT  counter accept ←

iptables-translate-restore 해결 방법

영구적인 수정이 이루어질 때까지 이 문제를 해결하기 위해 해당 규칙을 더 구체적인 것으로 대체하는 것이 좋습니다. 권장하는 대체 규칙은 다음과 같습니다.

-A INPUT -p icmp -m icmp --icmp-type 5 -j ACCEPT

이 대체 규칙을 적용하면 의도치 않은 행동을 피하면서도 올바른 nftables 규칙이 생성됩니다.

iptables-translate-restore 변경 방법

권장하는 대체 방법을 적용한 후, 생성된 nftables 규칙은 다음과 같습니다.

# iptables-restore-translate -f test_ruleset.txt
# Translated by iptables-restore-translate v1.8.4 on Fri Oct 28 13:12:44 2023
add table ip filter
add chain ip filter INPUT { type filter hook input priority 0; policy accept; }
add chain ip filter FORWARD { type filter hook forward priority 0; policy accept; }
add chain ip filter OUTPUT { type filter hook output priority 0; policy accept; }
add rule ip filter INPUT icmp type redirect counter accept

nftables 소개

nftables은 Linux 커널의 새로운 패킷 필터링 및 NAT 프레임워크로서, iptables, ip6tables, arptables, ebtables 등과 같은 여러 도구들을 통합하고 향상시킨 것입니다. 이는 사용자에게 단일한 툴을 통해 모든 네트워크 관리 작업을 수행할 수 있는 편리함을 제공합니다.

nftables는 iptables와 호환되므로, 기존의 iptables 규칙을 nftables로 변환할 수 있습니다.

nftables는 다음과 같은 용도로 사용될 수 있습니다.

  • 방화벽: 불필요한 패킷을 차단하여 시스템을 보호하는 데 사용됩니다.
  • NAT: 패킷의 소스 IP 주소나 포트 번호를 변경하여 네트워크 주소 변환을 수행하는 데 사용됩니다.
  • IPsec: IP 보안 계층을 구현하여 데이터를 암호화하고 인증하는 데 사용됩니다.

nftables는 리눅스 커널 5.0 이상에서 기본적으로 지원됩니다.

결론

iptables-translate-restore의 버그에 대한 영구적인 수정을 기다리는 동안 사용자들은 해당 규칙을 더 구체적인 것으로 대체함으로써 제시된 해결책을 사용할 수 있습니다. 이를 통해 의도하지 않은 “모두 허용” 행동 없이 nftables 규칙 생성 프로세스가 의도대로 진행됩니다. 이 문제는 버그가 해결될 때까지 일시적인 해결책을 제시합니다

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

아마존 해외 구매: 서버, 네트워크, 노트북 구매

Amazon Best Sellers Servers

Amazon Best Sellers Networking

Amazon Best Sellers Laptops

위로 스크롤