[TIL] iptables VS ufw

DEV_Eastwoo·2022년 10월 31일
1
post-thumbnail

회사에서 리눅스기반인 우분투로 테스트 서버를 구축할 일이 있었다.

ufw를 활용하여, 방화벽을 설정하고 있었는데 iptables로도 같은 작업을 할 수 있어서 무슨 차이점과 어떠한 것인지 궁금하여 글을 적어본다.

iptables이란?

iptables는 리눅스 운영 체제에서 사용되는 네트워크 패킷 필터링 시스템이다. 이는 패킷을 검사하고 필터링하거나 다른 동작을 수행하는 데 사용된다.
또한 네트워크 보안, 패킷 라우팅, 네트워크 주소 변환(NAT) 등 다양한 네트워크 작업에 이용된다.
iptables는 명령줄 인터페이스를 통해 구성되며, 규칙을 추가하거나 수정하고 삭제할 수 있다.

ufw이란?

ufw(Uncomplicated Firewall)는 iptables를 좀 더 쉽게 사용하기 위한 사용자 친화적인 인터페이스를 제공하는 프론트 엔드이라고 생각하면 될 것 같다.
기본적으로 Ubuntu와 같은 일부 리눅스 배포판에 포함되어 있으며, 간단한 명령을 사용하여 방화벽 규칙을 구성할 수 있다.

결론

ufw는 iptables의 간소화된 인터페이스를 제공하므로 iptables에 비해 상대적으로 사용하기 쉽다. 그러나 ufw는 iptables의 기능을 완전히 대체하지는 않으며, 필요한 경우에는 여전히 직접 iptables 규칙을 사용할 수 있다.

(추가) iptables에서 ufw가 하지 못하는 것

  1. 복잡한 네트워크 규칙:
  • iptables는 다양한 네트워크 패킷 필터링 규칙을 작성할 수 있는 더 많은 유연성을 제공
  • 만약 매우 복잡한 필터링 규칙이 필요한 경우에는 iptables를 직접 사용하는 것이 더 적합
  1. NAT (Network Address Translation) 설정:
  • iptables는 NAT 작업을 지원하여 개별 IP 주소를 여러 개의 내부 IP 주소로 변환하는 등의 작업을 할 수 있다.
  • ufw는 간단한 NAT 설정을 지원하지만, 더 복잡한 NAT 설정은 직접 iptables 규칙을 작성해야 할 수 있다.
  1. 사용자 정의 체인 (Custom Chains):
  • iptables는 사용자가 직접 정의한 체인을 생성하고 사용할 수 있도록 허용한다. 이는 규모가 크거나 복잡한 네트워크 환경에서 유용할 수 있다. ufw는 사용자 정의 체인을 지원하지 않으므로 이런 경우에는 iptables를 사용
  1. 트래픽 로깅: iptables는 트래픽 로깅을 지원하여 패킷의 원본, 대상, 포트, 프로토콜 등과 같은 정보를 기록할 수 있다. 반면 ufw는 로깅을 지원하지 않으므로 트래픽 로깅이 필요한 경우에는 iptables를 사용

요약

요약하자면, iptables는 네트워크 패킷 필터링을 위한 강력한 도구이며, ufw는 이를 좀 더 사용하기 쉽게 만들어주는 인터페이스이다.

profile
backend 개발

0개의 댓글