--- title: nft — 넷필터4 방화벽 관리 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: Linux 커널의 nftables 서브시스템을 관리합니다. iptables의 후계자입니다. tags: 프로그램, 네트워크 및 방화벽, nft --- **💬 "nft 명령어"** nft는 **넷필터4 방화벽 관리** Linux 커널의 nftables 서브시스템을 관리합니다. iptables의 후계자입니다. iptables·ip6tables·arptables·ebtables를 하나로 통합합니다. 동적 세트(set)로 대량 IP 관리가 가능합니다. - **개념**: iptables·ip6tables·arptables·ebtables를 하나로 통합합니다. - **주요 기능**: 동적 세트(set)로 대량 IP 관리가 가능합니다. - **장점**: 원자적 규칙 교체로 트래픽 끊김이 없습니다. - **활용**: JSON 기반 규칙 파일로 버전 관리가 가능합니다. ## 설치 및 다운로드 nft는 패키지 매니저 또는 공식 스크립트로 설치합니다. | 환경 | 명령 | | --- | --- | | Ubuntu 22.04+ | sudo apt install nftables | | RHEL / CentOS 9+ | sudo dnf install nftables | | Arch | sudo pacman -S nftables | | 확인 | nft --version | | 서비스 시작 | sudo systemctl enable --now nftables | 설치 확인은 `nft --version`으로 합니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | nft list ruleset | 현재 전체 규칙을 조회합니다 | | nft -f | 규칙 파일을 일괄 로드합니다 | | nft add table inet filter | IPv4/IPv6 통합 테이블을 생성합니다 | | nft add chain ... | 체인을 생성합니다 | | nft flush ruleset | 전체 규칙을 삭제합니다 (주의) | ## 필수 명령어 조합 3가지 - `nft add table inet filter` — 테이블 생성 - `nft add rule inet filter input tcp dport 22 accept` — SSH 허용 - `nft list ruleset > /etc/nftables.conf` — 규칙 영속화 **💬 "실제 서버에서 nft를 사용하는 예시를 보여줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 설치 확인 설치 여부를 확인합니다. ``` nft --version || sudo apt install -y nftables ``` ### 2단계 · 테이블 생성 IPv4/IPv6 통합 테이블을 만듭니다. ``` sudo nft add table inet filter ``` ### 3단계 · 규칙 추가 SSH와 HTTP를 허용합니다. ``` sudo nft add rule inet filter input tcp dport 22 accept ``` ## 실제 실행 화면 nftables 규칙을 추가한 결과입니다. ![nft 명령어 실행 결과](https://games.cursorai.co.kr/assets/nft-demo.png) 실제 운영 중인 서버 ## 실무에서는 이렇게 씁니다 ### 1. SSH 허용 규칙 **상황** — SSH 접속이 유지되도록 합니다. ``` sudo nft add table inet filter sudo nft 'add chain inet filter input { type filter hook input priority 0; policy drop; }' sudo nft add rule inet filter input ct state established,related accept sudo nft add rule inet filter input tcp dport 22 accept ``` **결과** — SSH가 유지된 상태에서 나머지 포트가 차단됩니다. **포인트** — 정책을 drop으로 두고 허용 규칙을 명시하는 방식이 안전합니다. ### 2. 대량 IP 차단 **상황** — 악성 IP를 세트로 관리합니다. ``` sudo nft add set inet filter blacklist { type ipv4_addr; } sudo nft add element inet filter blacklist { 1.2.3.4, 5.6.7.8 } ``` **결과** — 세트에 IP를 추가하면 즉시 차단됩니다. **포인트** — 규칙 재로드 없이 동적으로 관리됩니다. ## 실제 실행 화면 nft list ruleset으로 전체 규칙을 조회한 결과입니다. ![nft 명령어 실행 결과 2](https://games.cursorai.co.kr/assets/nft-demo2.png) 실제 운영 중인 서버 ## 주의할 점 - nft flush ruleset은 모든 규칙을 즉시 삭제합니다. SSH가 막히면 서버에 못 들어갑니다. 반드시 콘솔 접속 수단을 확보합니다. - IPv4/IPv6 혼용 환경에서는 inet 계열이 편하지만, 일부 커널 옵션은 family를 분리해야 합니다. - firewalld나 ufw를 동시에 쓰면 규칙이 충돌합니다. 하나만 선택합니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/network/nft.html