나에겐 이런 계획이 있다
라우터 192.168.2.254/24
eth0-192.168.2.1
br0
이더넷 1-192.168.4.1/24
사용자 - 192.168.2.2/24
eth0과 eth1을 이와 같이 연결하면 패킷이 brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 dhclient br0을 통과할 수 있습니다.
사용자가 라우터에 직접 핑을 보낼 수 있지만 해당 핑을 차단하고 싶습니다.
나는 심지어 시도했다
iptables -A 출력 -p icmp --icmp 유형 에코 요청 -j DROP
iptables -A FORWARD -p icmp --icmp-type echo-request -j DROP
사용자는 여전히 라우터에 ping을 보낼 수 있습니다. 제가 뭘 잘못하고 있는 걸까요?
답변1
브리지는 두 개의 인터페이스를 연결하는 데 사용됩니다.동일한서브넷.
서로 다른 서브넷이 있고 서로 통신하도록 하려면 라우팅을 활성화해야 echo 1 > /proc/sys/net/ipv4/ip_forward
하지만 라우팅은 기본적으로 활성화되어 있지 않으므로 서로 통신할 수 없습니다.
편집: 서로 다른 서브넷에 있는 두 인터페이스를 브리징하는 것은 작동하지만 전통적인 설정은 아닙니다. 이 구성을 유지하려면 트래픽을 차단하는 ebtables
대신 사용해야 합니다 iptables
.
답변2
라우터 IP 주소로 iptables를 정의해야 합니다. 어떤 사용자도 라우터 IP 주소를 ping할 수 없습니다. 귀하의 예는 일반적인 iptables 규칙입니다. ping을 방지하려면 icmp 프로토콜을 제거하는 것이 정확합니다.