한 대의 컴퓨터나 노트북에서 여러 IP 주소가 있는 네트워크에 연결할 수 있도록 네트워크 어댑터 또는 무선 어댑터에 대한 가상 MAC 주소를 생성하고 싶습니다.
어떻게 해야 합니까? (내 친구가 대학에서 이 작업을 수행했고 네트워크에 여러 개의 IP 주소(때로는 최대 255개)가 있었기 때문에 이것이 가능하다는 것을 알고 있습니다.)
답변1
당신이해야 할 일은
ip link add link eth0 address 00:11:11:11:11:11 eth0.1 type macvlan
그런 다음 가상 네트워크 인터페이스를 엽니다.
ifconfig eth0.1 up
그런 다음 dhcp를 통해 IP를 얻도록 선택할 수 있습니다.
dhclient -v eth0.1
답변2
단일 네트워크 인터페이스에서 여러 IP 주소를 갖기 위해 여러 MAC 주소가 필요하지 않습니다. 이 기술을IP 별칭.
구문은 운영 체제마다 약간 다르지만 일반적으로 동일한 인터페이스에 다른 IP 주소를 설정하려면 다음을 수행하면 됩니다.
ifconfig eth0 192.168.100.200 netmask 255.255.255.0
ifconfig eth0:1 192.168.120.200 netmask 255.255.255.0
ifconfig eth0:2 192.168.130.200 netmask 255.255.255.0
위의 예는 Linux용입니다. BSD에서는 다음과 같은 것이 필요합니다:
ifconfig lnc0 192.168.100.200 netmask 255.255.255.0
ifconfig lnc0 192.168.120.200 netmask 255.255.255.0 alias
ifconfig lnc0 192.168.130.200 netmask 255.255.255.0 alias
답변3
편집: 가상 장치 설정에 대한 팁이 추가되었습니다.
다음과 같은 추가 장치를 설정하여 시작하십시오.
ifconfig eth0:1 up
IP를 추가할 수도 있습니다. 예를 들어:
ifconfig eth0:1 10.0.0.20 broadcast 10.255.255.255 netmask 255.255.255.255
정말로 원한다면 MAC 주소를 변경할 수도 있습니다.
ip link set eth0:1 address 02:73:53:00:ca:fe
첫 번째 바이트의 두 번째 비트는 LAA(로컬 관리 주소)를 나타내도록 설정되어야 합니다. 이는 MAC 주소가 로컬에서만(예: 회사 네트워크 내에서) 유효하고 전역적으로 고유할 수 없음을 의미합니다. 정식 등록 없이 자신의 MAC 주소를 사용할 수 있습니다).
답변4
이것은 Linux (Kali)에서 작동합니다. 개인 상황에 따라 주소, 게이트웨이 또는 넷마스크를 변경해야 할 수도 있습니다. 죄송합니다. 이것이 필요하지 않으면 방금 그랬던 것처럼 다음 사람이 여기에서 넘어질 것입니다.
<your-nicN>
ifconfig
" ~와 같은 " 또는 "~와 같은"에서 보이는 eth0
것은 어디에 있습니까?wlan0
sudo ip link add link <your-nicN> mac0 type macvlan && sudo ifconfig mac0 up
그러면 mac0이라는 새로운 "가상" 인터페이스가 생성되어 열립니다. 처음에는 작동하지 않을 것이라고 생각했기 때문에 up 명령을 추가했지만 sudo ip link show [tab][tab]
mac0 목록이 있는 이중 탭을 추가한 다음 ifconfig를 사용하여 시작하고 주소를 할당했습니다.
IP 주소를 할당하거나 dhcp를 사용하도록 지시하는 것을 잊지 마십시오.
ifconfig mac0 inet 192.168.1.107 netmask 255.255.255.0 #static/manual config
또는
dhclient mac0 # For a dhcp-client, to get ip from router.
기본 게이트웨이를 할당해야 하는 경우:
sudo ip route add default via 192.168.1.1
내가 정보를 얻은 곳은 다음과 같습니다. http://www.pocketnix.org/posts/Linux%20네트워킹:%20MAC%20VLANs%20and%20Virtual%20Ethernets
Edit3: "채권"을 다루려고 했지만 ifenslave
이에 대해 더 많은 조사가 필요하고 실제로 알 수 없습니다. 내가 한 일은 GNS3에서 "EtherSwitch 라우터"를 설정한 다음 macN
한쪽 "끝"에 10개 장치의 "클라우드"를 할당한 다음 다른 "클라우드"를 vmware 호스트 전용 어댑터에 할당하는 것이었습니다. virtualbox는 동일하게 작동할 수 있습니다. 다른 "끝"에서는 이것을 조금 가지고 놀면서 macN
"집계"를 시뮬레이션하기 위해 장치의 속도를 제한할 수 있는지, 아니면 대역폭을 "증가"하기 위해 10개의 연결에 로드를 분산시킬 수 있는지 알아볼 것입니다. . 어쩌면 Linux에서 모두 txqueuelen:10으로 설정하면 그럴 수도 있습니다. 반대편 "끝"에 DragonflyBSD가 있고 GNS3를 통해 실제 라우터에 연결해 보겠습니다.
Edit2: 다음은 dhclient를 사용하여 필요한 수량을 얻는 빠른 스크립트입니다. 루트로 실행해야 합니다. 따라서 파일을 생성한 다음 chmod 750 <script>
실행하십시오( sudo
가능한 경우/반드시). 나는 이것을 다음과 같이 사용합니다: ./crazy-mac.sh 20
첫 번째 매개변수를 취하고 각각 고유한 mac 및 ip 주소를 가진 많은 새로운 인터페이스를 생성합니다. 온전한 검사가 없으므로 현명하게 사용하거나 직접 추가하세요. ;)
참고: 먼저 일반 wlan0에 연결하십시오. 그렇지 않으면 작동하지 않습니다.
무선 AP에 수동으로 연결하는 방법
또한 라우터의 Mac 액세스 제어 목록인 경우 라우터에서 허용하는 Mac 주소 목록을 가져오기 위해 스니핑을 수행해야 할 수도 있습니다. 그런 다음 스크립트를 편집하여 목록이 포함된 파일을 구문 분석하고 $i
임의의 MAC 주소를 생성하도록 허용하는 대신 시퀀스의 각 파일에 대해 한 줄을 사용해야 합니다.
참고 2: 루프 어딘가에 a를 배치할 수 있습니다 sleep <N>
. 이렇게 하면 여러 "장치"가 순서대로 표시되고 누군가가 네트워크에 주의를 기울이고 있는 경우 위험 신호가 발생할 수 있습니다. 일반적인 상황에서는 20개의 장치가 이런 식으로 나타날 것이라고 생각하지 않습니다.
#!/bin/sh
## crazy-mac.sh
for i in $(seq ${1}); do
ip link add link wlan0 mac${i} type macvlan && \
ifconfig mac${i} up && \
dhclient mac${i};
done
그리고 그들을 실망시키세요. 다시 한 번 간단한 스크립트를 작성하겠습니다...
#!/bin/sh
## crazy-down.sh
for i in $(seq ${1}); do
ifconfig mac${i} down && \
ip link delete mac${i};
done
Mac 주소 목록이 필요한 경우 파일이 파일의 한 줄에 하나의 Mac 주소 목록인 경우 bash와 함께 사용할 수 있습니다.
#!/bin/bash
## crazy-mac2.sh
## Usage : crazy-mac2.sh <N> </path/to/mac-list.txt>
MACLIST=($(cat ${2}))
# This is for testing, comment this and uncomment out the other for loop
# if this one works the other should also.
for i in $(seq ${1}); do
echo "mac${i} : ${MACLIST[${i}-1]}"; done
#for i in $(seq ${1}); do
# ip link add link wlan0 mac${i} address ${MACLIST[${i}-1]} type macvlan && \
# ifconfig mac${i} up && \
# dhclient mac${i};
#done
unset MACLIST
편집: 성능을 향상시키기 위해 여러 인터페이스를 "lagg" 인터페이스로 집계하는 데 사용할 수 있는 "lagg" 장치(적어도 Unix의 경우)에 대해 읽었거나 어떤 이유로든 하나의 인터페이스가 실패하는 경우 백업을 제공합니다.
Mac 주소당 대역폭이 제한된 상황에서 이것이 어떻게 유용할지 궁금했습니다. 이 경우 작동하여 많은 가상 MacN 인터페이스를 모두 가져와 대역폭을 단일 인터페이스로 집계한 다음 조정할 수 있습니다. /가상 호스트 등을 탭하세요. 이것은 나에게 흥미롭습니다. Mac 주소당 개인 Wi-Fi에 대한 대역폭 제한을 설정하여 시나리오를 재현하고 이것을 시도해 볼 것입니다. 다시 돌아올 것입니다.