Я хочу создать несколько виртуальных MAC-адресов для моего сетевого адаптера или беспроводного адаптера, чтобы я мог подключаться к сети с несколькими IP-адресами с одного компьютера или ноутбука.
Как мне это сделать? (Я знаю, что это возможно, потому что один из моих друзей сделал это в университете и имеет более одного - иногда до 255 - IP-адресов в сети).
networking
ip
mac-address
Моин Хоссейни
источник
источник
Ответы:
Все, что вам нужно сделать, это
затем включите интерфейс виртуальной сети
а затем при желании получить IP через DHCP с
источник
Вам не нужно больше одного MAC-адреса, чтобы иметь несколько IP-адресов на одном сетевом интерфейсе. Эта техника называется IP-псевдонимами .
Каждая оперативная система имеет немного различный синтаксис, но обычно, чтобы установить разные IP-адреса на одном интерфейсе, вам нужно всего лишь сделать что-то вроде:
Пример выше работает на Linux. На BSD вам нужно что-то вроде:
источник
Редактировать: Добавить подсказку для настройки виртуального устройства:
Сначала настройте дополнительное устройство, например:
Вы можете дополнительно добавить IP к нему. например:
Если вы действительно хотите, вы также можете изменить MAC-адрес:
Обратите внимание, что второй бит первого байта должен быть установлен, чтобы сигнализировать о локально управляемом адресе (LAA), который говорит, что этот MAC-адрес действителен только локально (например, в вашей корпоративной сети) и может не быть уникальным во всем мире (поэтому Вы можете назначать свои собственные MAC-адреса без необходимости их официальной регистрации).
источник
eth0
и «0: 1». Предполагая, что вы создаете,eth0:1
как описано. Чтобы быть уверенным, я проверил это на моей системе. Последняя команда (ip link ...
) изменила MAC-адрес обоих «интерфейсов». Это означает, чтоeth0
сам по себе получил новый MAC-адрес. Причина в том, чтоifconfig eth0:1 up
не создаст новую ссылку. Это только добавит IP-адрес к существующему. Созданиеmacvlan
ссылки, кажется, путь.Это работает для меня на Linux (Кали). Вам может потребоваться изменить адреса, шлюзы или сетевые маски в зависимости от вашей личной ситуации. Извините, если вам это не нужно, потому что следующий человек споткнется здесь, как я сделал несколько минут назад.
Где
<your-nicN>
то, что вы видите,ifconfig
например,eth0
илиwlan0
Это создает новый «виртуальный» интерфейс с именем mac0 и вызывает его. Я добавил команду up, потому что сначала мне показалось, что это не сработало, но
sudo ip link show [tab][tab]
плюс двойная вкладка со списком, включающим mac0, затем я перешел к ifconfig и назначил ему адрес.Просто не забудьте назначить ему IP-адрес или сказать ему использовать DHCP
или
если вам нужно назначить шлюз по умолчанию:
Место, откуда я получил это, находится здесь: http://www.pocketnix.org/posts/Linux%20Networking:%20MAC%20VLANs%20and%20Virtual%20Ethernets
Edit3: я пытался возиться с "связью",
ifenslave
но мне нужно немного больше изучить это, я не мог понять это. Что я сделал, хотя установил «EtherSwitch Router» в GNS3, а затем назначил «облачное» десятьmacN
устройств на одном «конце», а затем другое «облако» адаптеру только для хоста vmware, virtualbox, вероятно, будет работать так же с другой стороны, я собираюсь немного поиграться с этим и посмотреть, смогу ли я ограничить скорость наmacN
устройствах для имитации «агрегации» или могу ли я распределить нагрузку по десяти соединениям для «увеличенного» пропускная способность. Может быть, если я установлю их все на txqueuelen: 10 в Linux. У меня есть DragonflyBSD на другом «конце» этого, я попытаюсь подключить его к моему реальному маршрутизатору через GNS3.Edit2: вот быстрый скрипт, чтобы получить столько, сколько вам нужно с dhclient. Это должно быть запущено от имени пользователя root. Итак, создайте файл, затем
chmod 750 <script>
запустите его,sudo
если можете / должны. Я использую его следующим образом:./crazy-mac.sh 20
он принимает первый аргумент и создает столько новых интерфейсов, каждый из которых имеет свой собственный mac и ip-адрес. Нет никаких проверок здравомыслия, так что используйте это с умом, или добавьте немного самостоятельно;)Примечание. Убедитесь, что вы сначала подключились к обычному wlan0, иначе это не сработает. how-to-connect-manual-to-a-wireless-ap Также, если это список контроля доступа Mac на маршрутизаторе, вам, возможно, понадобится сделать некоторый анализ, чтобы получить список MAC-адресов, принятых маршрутизатором. Затем вам нужно будет отредактировать скрипт, чтобы проанализировать файл с этим списком и использовать строку для каждого
$i
в последовательности, вместо того, чтобы позволять создавать случайные mac-адреса.Примечание 2. Возможно, вы захотите поместить
sleep <N>
где-нибудь цикл в цикл, это вызовет много «устройств» последовательно и, вероятно, поднимет некоторые красные флажки, если кто-то обратит внимание на сеть. Я не думаю, что некоторые устройства будут появляться таким образом при нормальных обстоятельствах.И чтобы сбить их с ног: опять быстрый сценарий ...
И если вам нужен список MAC-адресов, это работает с bash, когда файл представляет собой список из одного MAC-адреса на строку в файле.
Редактировать: я только что читал об устройствах с задержкой (по крайней мере, для Unix), которые можно использовать для объединения нескольких интерфейсов в единый интерфейс с задержкой, чтобы повысить производительность или обеспечить запасные варианты на случай, если по какой-либо причине отключиться.
Я просто думал о том, как это было бы полезно в ситуации, когда пропускная способность была ограничена для каждого MAC-адреса, и его можно было бы использовать в такой ситуации, чтобы вы могли использовать все многочисленные виртуальные интерфейсы MacN и объединить пропускную способность в один интерфейс, а затем, возможно, настроить / подключить это к виртуальному хосту или что-то. Это интересно для меня, я попытаюсь установить ограничение пропускной способности для моего личного Wi-Fi на Mac-адрес, чтобы воссоздать сценарий и попытаться это, я вернусь.
источник