새로운 가상 인터페이스를 만들고 있습니다.
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:0
ifconfig
이는 도구가 인터페이스의 두 번째 IP 주소를 처리하는 기존 방식입니다. 이와 같은 최신 도구를 사용하면ip addr
두 번째 IP 주소만 표시됩니다eth0
. 이는 OSI 레벨 3에서만 작동하므로 다른 MAC 주소가 없으며 docker와 같은 네트워크 네임스페이스와 상호 작용하지 않으며 일반적으로 모든 응용 프로그램이 주소에 올바르게 바인딩되는지 확인해야 하기 때문에 사용하기가 어렵습니다. 이 바인딩은 다음을 방지하는 데 필요합니다.애플리케이션eth0:0
0.0.0.0에서는 일반적으로 트래픽 " 수신 " 을 방지할 수 있는 방법이 없습니다0.0.0.0
(이 형식의 문장을 무시하는 것은 전혀 의미가 없습니다. 인터페이스는 수신하지 않고 애플리케이션은 다음을 통해 특정 IP 주소 및/또는 특정 인터페이스를 수신합니다. 바인딩).iptables
패킷 필터링, 방화벽, NAT 등을 수행할 수 있습니다.아니요MAC 주소를 변경하고, 어떤 애플리케이션이 어떤 주소를 수신하는지 제어하는 등의 작업을 수행할 수 있습니다."I have use
modprobe
"도 의미가 없습니다.modprobe
커널 모듈을 로드하는 방법이며, 어떤 커널 모듈을 사용하고 싶은지, 어떤 목적으로 사용하는지, 애초에 자동으로 로드되지 않는 이유를 알 수 없는 경우, 문장은 아무런 정보도 전달하지 않습니다.
또한 꼭 읽어주세요XY 문제: X를 하고 싶지만 X를 달성하려면 Y를 해야 한다고 생각할 때,항상 X에 대해 물어보세요.그 다음에Y를 시도했다고 언급하세요. 많은 경우(여기처럼) Y는 단순히 잘못된 것입니다.