피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Priority -150 기반 Native nftables 설계를 통한 SSH 연결성 보장
SSH died. Spent 3 hours fixing the wrong thing.
AI 요약
Context
k3s 클러스터 환경 내 kube-router와 UFW, Native nftables가 혼재되어 네트워크 룰 충돌 발생. kube-router의 지속적인 Reconciliation 프로세스로 인해 iptables-nft 레이어의 룰 순서가 변동되어 SSH 접근이 차단되는 병목 현상 노출.
Technical Solution
- iptables-nft 레이어와 독립적인 Native nftables 전용 Table(ssh_rescue) 설계
- Priority -150 설정을 통한 Filter Chain(Priority 0) 및 kube-router 룰보다 최우선 실행 보장
- Systemd 서비스화를 통해 Reboot 및 Network Reconciliation 상황에서도 SSH 접근 권한 유지
- 외부 VPN 제공업체의 Port 22 Outbound 차단이라는 외부 제약 사항 식별을 통한 문제 범위 확정
- nmap을 이용한 포트 상태(Filtered vs Closed) 분석으로 Firewall 드롭 지점 정밀 추적
실천 포인트
- 인프라 배포 후 nmap을 통해 주요 관리 포트(SSH 등)의 연결성 즉시 검증 - 복잡한 네트워크 레이어 구성 시 우선순위(Priority)가 가장 높은 별도의 Rescue Chain 구축 - 내부 시스템 디버깅 전 외부 네트워크 경로 및 서비스 제공업체의 공지 사항 최우선 확인