항상 서비스가 설치되어 있어야만 iptables
명령어를 사용할 수 있다고 생각했는데 iptables.service
, 알고 보니 착각이었습니다.
┌──[[email protected]]-[~]
└─$systemctl status iptables.service
Unit iptables.service could not be found.
┌──[[email protected]]-[~]
└─$iptables -A INPUT -p icmp --icmp-type 13 -j DROP
┌──[[email protected]]-[~]
└─$iptables -A OUTPUT -p icmp --icmp-type 14 -j DROP
규칙은 추가 후 즉시 적용됩니다.
iptables.service
서비스가 없어도 명령은 계속 작동합니다.
┌──[[email protected]]-[~]
└─$whereis iptables
iptables: /usr/sbin/iptables /usr/libexec/iptables /usr/share/man/man8/iptables.8.gz
┌──[[email protected]]-[~]
└─$which iptables
/usr/sbin/iptables
왜 우리가 필요하고 그것이 무엇을 의미하는지 궁금합니다. iptables.service
단순화를 위해 firewalld.service
.
┌──[[email protected]]-[~]
└─$yum -y install iptables-services.x86_64 > /dev/null
┌──[[email protected]]-[~]
└─$systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
Active: inactive (dead)
설치했는데 구성파일만 있는걸 발견했어요
┌──[[email protected]]-[~]
└─$rpm -qlc iptables
/etc/sysconfig/ip6tables-config
/etc/sysconfig/iptables-config
또 어떤 역할을 iptable.service
하나요?
그렇다고 가정해도 될까요? iptables
커널 관련, iptables.service
작동하는데 설치가 필요하지 않지만 많은 사람들이 규칙을 iptable.service
변경한 iptable
후 구성 파일을 다시 로드하고 재부팅하는 것을 봅니다. 이것이 올바른 생각입니까?
답변1
이 iptables
명령은 규칙과 체인을 추가하거나 제거하는 데 사용되며 서비스 파일 없이도 사용할 수 있습니다. 그것이 하는 일은 iptables.service
시작 시 저장된 규칙 세트를 자동으로 로드하고 종료 시 규칙을 언로드하는 것뿐입니다. 시스템이 사용할 수 없는 규칙 세트를 가지지 않도록 종료 시 허용하도록 기본 체인 정책을 설정하는 등 스크립트에는 몇 가지 안전 검사가 있습니다. 시스템을 시작할 때마다 규칙을 수동으로 로드하려는 경우 이 서비스를 사용하면 작업이 더 쉬워집니다.
firewalld
규칙을 정의하기 위한 더 간단한 인터페이스가 제공되지만 iptables
이것이 실제로 주요 차이점입니다. 뒤에서는 규칙을 시행하는 firewalld
데 사용됩니다 iptables
. 개인적으로 저는 을 사용하는 것을 선호 iptables
하지만 수년에 걸쳐 해당 구성에 익숙해졌습니다. iptables
또는 선택은 firewalld
실제로 귀하의 선호도에 따라 다릅니다.