
나는 iptables에 대해 충분히 잘 알고 있으며 iptables -L -v
읽기가 충분히 쉽다고 생각합니다. 백업도 간편하고 만족스럽습니다.
그러나 최신 버전의 Ubuntu에는 iptables를 상당히 오염시키는 ufw가 있습니다. 깔끔한 규칙 목록 외에도 읽기 쉽지 않은 규칙이 많이 있습니다.
$ iptables -L -v
Chain INPUT (policy DROP 6114 packets, 331K bytes)
pkts bytes target prot opt in out source destination
131K 76M ufw-before-logging-input all -- any any anywhere anywhere
131K 76M ufw-before-input all -- any any anywhere anywhere
6618 368K ufw-after-input all -- any any anywhere anywhere
6191 346K ufw-after-logging-input all -- any any anywhere anywhere
6191 346K ufw-reject-input all -- any any anywhere anywhere
6191 346K ufw-track-input all -- any any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
390K 324M ufw-before-logging-forward all -- any any anywhere anywhere
390K 324M ufw-before-forward all -- any any anywhere anywhere
4 2160 ufw-after-forward all -- any any anywhere anywhere
4 2160 ufw-after-logging-forward all -- any any anywhere anywhere
4 2160 ufw-reject-forward all -- any any anywhere anywhere
4 2160 ufw-track-forward all -- any any anywhere anywhere
Chain OUTPUT (policy ACCEPT 1 packets, 52 bytes)
pkts bytes target prot opt in out source destination
326K 317M ufw-before-logging-output all -- any any anywhere anywhere
326K 317M ufw-before-output all -- any any anywhere anywhere
164 14960 ufw-after-output all -- any any anywhere anywhere
164 14960 ufw-after-logging-output all -- any any anywhere anywhere
164 14960 ufw-reject-output all -- any any anywhere anywhere
164 14960 ufw-track-output all -- any any anywhere anywhere
...
이러한 관점에서. ufw의 목적을 잘 모르겠습니다. 실제 이점 없이 iptables에 비해 복잡성을 추가하는 것 같습니다.
내가 잘못?
답변1
을 알고 있고 읽기에 충분히 쉽다고 iptables
생각 iptables -L -v
하고 선호한다면 은 필요하지 않습니다 ufw
.
iptables
Linux 커널의 패킷 필터 규칙 테이블과 함께 작동합니다. 생성할 수 있는 테이블, 체인 및 규칙은 강력하고 유연하지만 종종 위협적이고 직관적이지 않은 도구를 구성합니다. 이를 통해 고급 기능이 가능하지만 기본 기능이 초보 사용자(또는 일반 사용자)가 원하는 만큼 항상 쉬운 것은 아닙니다.
여기에는 ufw
위에 추가 레이어로 (또는 다른 유사한 도구) 가 들어갑니다 iptables
. 기본적인 일을 쉽게 해주지만 반드시 고급 일을 허용하는 것은 아닙니다. GUI를 선호하는 사람이라면 누구나 사용할 수 있습니다 gufw
. Ubuntu는 ufw
내부 작업 방식에 관심이 없는 사용자를 대상으로 하기 때문에 제공됩니다. 그들은 Windows나 홈 라우터의 HTTP 인터페이스에서 본 것과 유사한 간단한 인터페이스를 원합니다. 고급 사용자는 비활성화 ufw
하고 iptables
"수동"으로 사용할 수 있습니다.
의 목적은 ufw
간단한 프런트 엔드를 갖는 것입니다. 평균적인 Joe의 경우 이 프런트 엔드는더 간단하다에서 만들 수 있는 동등한 "깨끗한 규칙 목록"보다 iptables
. 실제로 생성되는 "읽기 쉽지 않은 많은 규칙"은 ufw
이제 백엔드입니다. 당신 말이 맞아 ufw
복잡성을 더하지만 Joe는 그것을 결코 보지 못합니다.
사용하기로 결정하면 ufw
(또는 기본적으로 존재하는 경우 계속 사용하기로 결정하면) 백엔드에 신경 쓰지 않아도 됩니다. 백엔드를 프런트엔드를 제공하는 도구의 내부 부분으로 취급합니다.
당신이 당신의 프론트엔드가 되고 싶다면 iptables
를 사용하지 마세요 ufw
. 왜냐하면 ufw
는 "더 앞쪽에" 있기 때문입니다.