iptables 루프백 규칙

iptables 루프백 규칙

인터페이스 트래픽 필터링에 대한 다음 규칙을 설명할 수 있는 사람이 있습니까 loopback?

# Allow all loopback (lo0) traffic and reject traffic
# to localhost that does not originate from lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT

내가 설명하는 방식은 다음과 같습니다.

  1. 들어오는 모든 패킷을 수락합니다 loopback.

  2. 127.x.x.x.x속하지 않는 모든 수신 패킷을 거부합니다 loopback.

이 규칙은 실제로 어떤 용도로 사용됩니까? 사례 1의 경우 모든 패킷이 loopback추가 필터링을 거칠 필요가 없다는 뜻인가요 ? 들어오는 패킷이 loopback외부 소스에서 오는 것이 가능합니까 ?

답변1

규칙의 의미는 정확히 당신이 설명하는 것과 같습니다.

  1. 루프백 인터페이스에서 수신된 모든 패킷입니다.
  2. 다른 소스의 루프백 주소가 포함된 패킷은 허용되지 않습니다.

이는 루프백 인터페이스 자체에서 들어오는 데이터가 추가 필터링을 거쳐야 한다는 의미는 아닙니다. 규칙 2)가 다른 인터페이스에서 들어오는 루프백 주소를 사용하여 가짜/스푸핑된 패킷을 방지하려고 시도한다는 의미입니다.

답변2

이것첫 번째 규칙루프백 인터페이스에 도착하는 모든 트래픽(다른 호스트(LAN 또는 인터넷)에서 실제 물리적 NIC에 도착하는 트래픽)을 수락해야 합니다.

하지만! 규칙이 아직 완료되지 않았습니다. 기본 출력 정책이 있는 경우 모두 삭제합니다.

iptables -P OUTPUT DROP

루프백 인터페이스는 트래픽을 허용할 수 있지만 송신 정책이 이를 허용하지 않기 때문에 시스템이 루프백에서 트래픽을 보낼 수 없습니다.

따라서 출력 전략을 정의해야 합니다.

iptables -P OUTPUT ACCEPT

또는 루프백 인터페이스에 대한 규칙을 정의하십시오.

iptables -A OUTPUT -o lo -j ACCEPT

이것규칙 2소스 주소가 루프백인 비루프백 인터페이스(예: LAN 인터페이스 또는 인터넷)에 도착하는 패킷을 삭제하는 데 필요합니다. 이는 스푸핑 방지 보호입니다.

호스트에 인터넷에 직접 연결된 인터페이스가 있는 경우 해당 인터페이스가 개인 소스 주소를 사용하는 패킷을 수신하지 못하도록 하는 규칙을 추가할 수 있습니다.

네트워크 예 192.168.0.0/16:

iptables -A INPUT -s 192.168.0.0/16 -j DROP

다른 질문에 대한 답변:

  1. 존재하다기사www.linode.com에 장이 있습니다.현재 iptables 규칙 보기. 이 장에서는 다음과 같이 말합니다.

이는 모든 수신, 전달 및 발신 트래픽이 허용됨을 의미합니다. 인바운드 및 전달되는 트래픽을 필요한 정도로 제한하는 것이 중요합니다.

좋아요 기본적으로 모든 트래픽(출력, 수신, 전달)을 허용합니다. 하지만 시스템이 기본 규칙을 사용하지 않는다면 어떻게 될까요? 기본 규칙을 변경하고 이를 잊어버리면 어떻게 되나요? 따라서 모든 iptables 스크립트에서 기본 규칙을 설정하는 것이 좋습니다.

iptables -P OUTPUT ACCEPT

iptables 모범 사례에 따르면 모든 트래픽을 허용하고 (필요한 경우) 모든 트래픽을 거부하도록 마지막 규칙의 기본 정책을 설정하는 것이 좋습니다.

  1. 예. 내가 말한 것이 바로 그것이다. 모든 트래픽을 거부하려면 이 문서의 스크립트에 있는 기본 정책을 사용하세요.

# 그러면 거절하세요.

-A 입력 -j 거부

-A 전달 -j 거부

-A 출력 -j 거부

관련 정보