네트워크 인터페이스를 읽기 전용으로 사용하는 방법은 무엇입니까?

네트워크 인터페이스를 읽기 전용으로 사용하는 방법은 무엇입니까?

내 홈 랩에는 특히 VLAN 및 더 잘 이해하고 싶은 기타 프로토콜과 관련하여 몇 가지 실험을 해보고 싶은 스위치가 있습니다. 이제 이 스위치(aTP-Link 5포트 관리형 스위치)는 포트 미러링을 허용합니다.

내 컴퓨터에서 이 미러링된 트래픽을 분석하고 모니터링 컴퓨터에서 "새로운" 트래픽을 가능한 한 적게 도입하고 싶습니다. 어떻게 해야 하나요?

원래 내 PC로 향하지 않은 패킷을 수신하려면 NIC를 무차별 모드로 설정해야 한다는 것을 이미 알고 있습니다. 이는 일반적으로 Wireshark 자체에서 수행되므로 걱정할 필요가 없습니다.

그러나 다른 포트에서 생성되는 트래픽을 실제로 볼 수 있도록 포트에 가능한 한 적은 "노이즈"를 도입하고 싶습니다. 나는 발견했다이 답변이는 실행 중인 모든 서비스(예: DHCP 등)를 비활성화하는 것이 좋습니다. 그러나 이렇게 하면 소음이 크게 줄어들지만 ARP 확인이나 기타 커널 기반 네트워크 상호 작용을 방지할 수는 없습니다.

또한 이 목적을 위해 특별히 설계된 몇 가지 프로토콜이 있다는 것도 알게 되었습니다(예:시스코 스팬), 하지만 내 스위치에는 이 기능이 없습니다.

그래서 내 질문은: 네트워크 인터페이스를 읽기 전용으로 어떻게 설정합니까?

답변1

Linux에서 인터페이스를 "읽기 전용"으로 만드는 가장 쉬운 방법은 종료를 적용하는 것입니다.tc물방울을 걸러내세요. 모든 것.

필터를 적용하려면,품격 있는 대기열 규율제자리에 있어야합니다. 이것프리오qdisc는 자체 기능이 아닌 인터페이스에서 필터를 사용할 수 있는 가장 간단한 클래스형 qdisc입니다.

최종 설정 인터페이스이더넷 1"읽기 전용":

tc qdisc add dev eth1 root prio
tc filter add dev eth1 matchall action drop

그러면 해당 인터페이스에서 나가는 트래픽이 차단됩니다. RAW 소켓도 차단하므로(방화벽의 영향을 받지 않음) IPv4 DHCP 클라이언트도 차단됩니다(방화벽에도 불구하고 여전히 주소를 얻을 수 있음). 여전히 방법이 있지만 신중하게 고려한 후에만 수행할 수 있습니다. 제가 아는 두 가지는 다음과 같습니다.

인터페이스의 원래 상태로 돌아가려면 qdisc를 삭제하면 됩니다.

tc qdisc del dev eth1 root

노트:

  1. 포트가 미러 모드로 설정된 스위치가 포트를 읽기 전용 모드로 설정했을 수 있다고 가정합니다.

    이것은 테스트가 필요한 것입니다. true인 경우 위의 필터나 아래의 2번 항목을 사용하는 것이 의미가 없게 됩니다.

  2. UP 상태이고 다른 설정이 적용되지 않은 인터페이스는 여전히 트래픽을 교환할 수 있습니다.

    이전 필터가 없으면 구성되지 않았지만 UP 상태인 인터페이스라도 트래픽을 남길 수 있습니다. 최소한 다음 두 가지 상황이 있습니다.

    • IPv6 자동 구성

      사용sysctl -w net.ipv6.conf.eth1.disable_ipv6=1

    • ARP가 비활성화되지 않은 경우( 사용 ip link set eth1 arp off)

      이 상황은 LAN의 시스템이 일부 시스템이 알려진 주소를 가진 다른 네트워크(가상 네트워크 포함)를 사용하고 있는지 여부를 조사할 수 있는 보다 일반적인 정보 유출 상황과 동일합니다. 기본적으로 Linux의 인터페이스는 ARP에 응답합니다. 요청하다어느기타 주소어느기타 인터페이스.그건 부분약한 자의호스트 모델.

      예를 들어, OP 시스템이 기본 설정으로 livbirt QEMU/KVM을 실행 중인 경우 192.168.122.1/24가 다음에 할당됩니다.바이러스 0, 구성되지 않은 UP 인터페이스에만 연결된 다른 Linux 시스템은 다음을 실행할 때 이를 통해 계속 ARP 응답을 받습니다.

      arping -I eth0 192.168.122.1
      

      시스템에 192.168.122.1에 대한 경로가 있는지 검색하는 것은 중요하지 않습니다. 이것은 ARP(및 라우팅에 관심이 없는 명령)에 관한 것입니다. LXC 및 10.0.3.1 등에서도 동일합니다.

관련 정보