새로운 격리된 가상 인터페이스가 0.0.0.0에서 수신 대기하는 것을 방지하는 방법:*

새로운 격리된 가상 인터페이스가 0.0.0.0에서 수신 대기하는 것을 방지하는 방법:*

새로운 가상 인터페이스를 만들고 있습니다.

ifconfig eth0:0 123.123.22.22

이 명령은 netstat -tlnp다음을 반환합니다.

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:50505         0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:7337          0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:3790            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      2450/Xvnc4      
tcp        0      0 0.0.0.0:6002            0.0.0.0:*               LISTEN      2626/Xvnc4      
tcp        0      0 192.168.2.77:22         0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:3001          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:52698         0.0.0.0:*               LISTEN      3488/plugin_host
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -               
tcp6       0      0 ::1:7337                :::*                    LISTEN      -               
tcp6       0      0 :::5901                 :::*                    LISTEN      2450/Xvnc4      
tcp6       0      0 :::5902                 :::*                    LISTEN      2626/Xvnc4      
tcp6       0      0 ::1:631                 :::*                    LISTEN      -               
tcp6       0      0 ::1:5432                :::*                    LISTEN      -               
tcp6       0      0 ::1:6010                :::*                    LISTEN      -  

따라서 nmap가상 인터페이스와 물리적 인터페이스를 모두 생성하면 결과는 동일합니다(이는 의 "로컬 주소" 값으로 설명됩니다 netstat). 이 새로운 가상 인터페이스에서 포트(5901,5902,6001,6002)를 닫아 보았습니다. nmap두 인터페이스 모두 에 대해 :

PORT     STATE SERVICE
5901/tcp open  vnc-1
5902/tcp open  vnc-2
6001/tcp open  X11:1
6002/tcp open  X11:2

주문하다:

sudo iptables -A INPUT -i eth0:0 -p tcp --dport 5901 -j DROP

포트는 액세스할 수 없지만 열려 있습니다(의 경우 nmap). eth0:0에서 오는 트래픽을 스누핑하는 것을 막을 수 있는 방법이 있습니까 0.0.0.0?

호스트에 두 개의 IP 주소(192.168.1.1 및 10.1.2.1)가 있고 해당 호스트에서 실행 중인 서버가 0.0.0.0에서 수신 대기하는 경우 두 IP 주소를 통해 연결할 수 있습니다. (위키피디아)

표적:

  • LAN에 새로운 인터페이스를 노출하고 Mac 주소를 변경합니다(다른 시스템처럼 보임)
  • 도커 컨테이너를 최근 생성된 새 인터페이스에 바인딩하여 특정 포트에서 서비스를 노출합니다.

답변1

기존 이더넷 카드 위에 다른 MAC 및 다른 네임스페이스(예: 컨테이너)를 사용하여 두 번째(가상) 이더넷 카드를 에뮬레이션하려면 다음이 필요합니다.맥에버랜드상호 작용.

여기Docker 컨테이너에서 이를 사용하는 방법에 대한 지침입니다.

당신은 당신이 시도한 일부 네트워크 기능의 근거에 대해 약간 혼란스러워 보입니다. 아마도 다음이 도움이 될 것입니다.

  • eth0:0ifconfig이는 도구가 인터페이스의 두 번째 IP 주소를 처리하는 기존 방식입니다. 이와 같은 최신 도구를 사용하면 ip addr두 번째 IP 주소만 표시됩니다 eth0. 이는 OSI 레벨 3에서만 작동하므로 다른 MAC 주소가 없으며 docker와 같은 네트워크 네임스페이스와 상호 작용하지 않으며 일반적으로 모든 응용 프로그램이 주소에 올바르게 바인딩되는지 확인해야 하기 때문에 사용하기가 어렵습니다. 이 바인딩은 다음을 방지하는 데 필요합니다.애플리케이션eth0:00.0.0.0에서는 일반적으로 트래픽 " 수신 " 을 방지할 수 있는 방법이 없습니다 0.0.0.0(이 형식의 문장을 무시하는 것은 전혀 의미가 없습니다. 인터페이스는 수신하지 않고 애플리케이션은 다음을 통해 특정 IP 주소 및/또는 특정 인터페이스를 수신합니다. 바인딩).

  • iptables패킷 필터링, 방화벽, NAT 등을 수행할 수 있습니다.아니요MAC 주소를 변경하고, 어떤 애플리케이션이 어떤 주소를 수신하는지 제어하는 ​​등의 작업을 수행할 수 있습니다.

  • "I have use modprobe"도 의미가 없습니다. modprobe커널 모듈을 로드하는 방법이며, 어떤 커널 모듈을 사용하고 싶은지, 어떤 목적으로 사용하는지, 애초에 자동으로 로드되지 않는 이유를 알 수 없는 경우, 문장은 아무런 정보도 전달하지 않습니다.

또한 꼭 읽어주세요XY 문제: X를 하고 싶지만 X를 달성하려면 Y를 해야 한다고 생각할 때,항상 X에 대해 물어보세요.그 다음에Y를 시도했다고 언급하세요. 많은 경우(여기처럼) Y는 단순히 잘못된 것입니다.

관련 정보