한 단계 더 나아가 EBtables(레이어 2 필터링 및 라우팅 테이블)를 설치하고 싶습니다. 이는 필요한 최소한의 항목(IPv4 및 ARP)만 허용하는 것입니다. 테스트하기 위해 다음을 실행했습니다.
ebtables -P INPUT DROP
ebtables -P FORWARD DROP
ebtables -P OUTPUT DROP
그런 다음 테스트를 했고 ping 8.8.8.8
확실히 응답을 받았습니다. 몇 가지 다른 조합을 시도하고 다른 테이블이 없는지 확인했지만 핑은 여전히 작동합니다. EBtables가 차단/필터링할 수 없다면 의미가 없습니다.
그래요아니요ICMP를 차단하려고 시도하면서 IPv4를 제외한 모든 항목을 차단해 보았습니다. EBtables를 테스트하려면 I시험을 마친ICMP가 사용되지만 차단되지는 않습니다(EBtables가 작동하지 않음을 의미).
내가 뭘 잘못했나요? (Debian Squeeze, iptables 등, EBtables v2.0.9-2)
답변1
ebtables는 브리지된 장치에서만 사용해야 하기 때문에 작동하지 않습니다(귀하의 경우는 아닌 것 같습니다). 대신 iptables를 확인하세요.
답변2
ebtables가 전혀 필요하지 않은 것 같습니다. Ebtables는 브리지 장치를 통해 라우팅되는 트래픽을 처리하는 데 사용됩니다. 설명하는 사용 사례는 iptables에 의해 제어됩니다.
Ping은 iptables의 icmp 프로토콜 옵션을 사용하여 차단할 수 있는 ICMP 패킷을 사용합니다.
iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
답변3
당신이 ebtables를 남용하는 것에 대해 다른 사람들은 모두 옳습니다. 그러나 귀하의 질문에 실제로 대답하자면, 위 명령을 입력한 것뿐이라면 이것이 작동하지 않는 이유는 이러한 명령이 "정책"만 수정하기 때문입니다. 이는 ebtables가 데이터에 수행하는 작업입니다. 패킷 변경 패키지가 하는 일. 통과할 체인이 없거나, 패킷이 규칙에 의해 수신되지 않고 체인을 통과합니다.
따라서 ACCEPT 규칙에 의해 수신되는 체인을 통과하는 일부 패킷이 있을 수 있습니다.
"x" 테이블을 사용하는 일반적인 방법은 먼저 모든 체인을 지우고 정책을 설정한 다음 체인을 입력하고 규칙으로 체인을 채우는 것입니다.