Intel Pentium Silver N6000(4 코어) · RAM 16 GB · SATA SSD · i226-V NIC 미니PC 에 OPNsense 26.1(FreeBSD 14.3)을 올린 구성이다.
| 항목 | 설정 | 이유 |
|---|---|---|
| Intel Virtualization (VT-x) | Enabled | 가상화 · 컨테이너를 쓸 경우 |
| VT-d | Enabled | NIC 패스스루 |
| C-State | Enabled 또는 C6 까지 | 저전력. 지연이 문제되면 낮춘다 |
| Turbo Boost | Enabled | 단일 스레드 처리량 |
| Hyper-Threading | 해당 없음 (N6000 은 미지원) | |
| Wake system from S5 | 정전 복구 자동 기동이 필요하면 Enabled | |
| Restore on AC Power Loss | Power On | 정전 후 자동 복구 |
| Secure Boot | Disabled | FreeBSD 부팅 |
| Boot device 선택 | 부팅 중 F7 또는 F11 (보드별 상이) |
i226-V 는 FreeBSD 의 igc 드라이버를 쓴다. System → Settings → Tunables 에서 설정한다.
# 하드웨어 오프로드 — OPNsense 는 기본적으로 끄는 것을 권장하나
# 단순 라우팅 위주면 켜서 CPU 부담을 줄일 수 있다
hw.igc.rx_process_limit=-1
hw.igc.max_interrupt_rate=8000
# 상태 테이블 — 세션이 많은 환경
net.pf.states_hashsize=524288
# 소켓 버퍼
kern.ipc.maxsockbuf=16777216
Interface → Settings 의 하드웨어 CRC · TSO · LRO 는 IDS/IPS 나 트래픽 셰이핑을 쓰면 꺼야 패킷이 정상 처리된다. 설정을 바꾼 뒤에는 실제 처리량과 CPU 사용률을 함께 측정해 판단한다.
룰셋을 41 개(약 103 MB) 올린 상태에서 Suricata 프로세스의 RSS 가 9.8 GB, VSZ 가 20 GB 까지 올라갔다. 16 GB 시스템에서는 위험한 수준이다.
ls -1 /usr/local/etc/suricata/rules/*.rules | wc -l
du -sch /usr/local/etc/suricata/rules/*.rules | tail -1
ps -o pid,rss,vsz,command -ax | grep '[s]uricata'
grep -iE 'error|warning' /var/log/suricata/latest.log | tail -20
줄이는 방법은 다음과 같다.
detect.profile 을 low 또는 medium 으로 낮춰 패턴 매칭 테이블 크기를 줄인다.signatures loaded 수와 메모리를 다시 확인한다.