仮想MACアドレスを作成する


10

ネットワークアダプターまたはワイヤレスアダプターにいくつかの仮想MACアドレスを作成したいので、1台のコンピューターまたはラップトップから複数のIPアドレスでネットワークに接続できます。

どうすればできますか?(私の友人の1人が大学でそれを行っており、ネットワークに複数のIPアドレス(場合によっては最大255)を持っているため、それが可能であることを知っています)。


どのオペレーティングシステムを使用しているか、最終的にはどのディストリビューションかを指定する必要があります。
andcoz

@ Moein7tlは、sysadminが各ユーザーの帯域幅を減らす場合、人々が不正にダウンロードすることを避け、検索データやクラウドコンピューティングなどのより重要なトラフィックをより優先することに注意してください...システムの制限を悪用しないでください。まともな帯域幅を取得します。
Kiwy

回答:


18

あなたがする必要があるのは

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

13

1つのネットワークインターフェイスで複数の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

私たちの大学のワイヤレスネットワークでは、システムは各MACアドレスに1つのIPアドレスを午前8時から午後9時まで与え、システムは各IPを最大32KBの速度に制限します。仮想MACアドレスを作成できる場合、検出できません。私のラップトップを1つとして使用すると、複数のIPアドレスが与えられます。
Moein Hosseini、2011

@ Moein7tlに質問を編集し、大学のdhcpサーバーから複数のIPアドレスを割り当てる方法を検索していることを指定してください。
andcoz

4

編集:仮想デバイスを設定するためのヒントを追加します。

最初に追加のデバイスをセットアップします。例:

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

最初のバイトの2番目のビットは、ローカル管理アドレス(LAA)を通知するように設定する必要があることに注意してください。これは、このMACアドレスはローカルでのみ有効で(たとえば、エンタープライズネットワーク内)、世界中で一意ではない可能性がある(つまり自分でMACアドレスを割り当てることができます。正式に登録する必要はありません)。


それを使ってホームワイヤレスネットワークに接続すると、MACアドレスしか変更できず、モデムから2つ以上のIPアドレスが得られません。モデムのページにMACアドレスが1つしか表示されません。
Moein Hosseini、2011

もちろん、最初に追加の仮想デバイスをセットアップする必要があります。だから「私も」と言いました。ip-aliasingの概要を示した質問への回答を見てください。これらには、ネットマスク255.255.255.255を使用することをお勧めします。しかし、仮想IPを要求しなかったため、MACを使用してデバイスを稼働させるだけで十分な場合があります。
ニルス

1
私の知る限り、eth0と「eth0:1」に異なるMACアドレスを割り当てることはできません。eth0:1説明どおりに作成するとします。確かに、私は自分のシステムでテストしました。最後のコマンド(ip link ...)は、両方の「インターフェース」のMACアドレスを変更しました。これは、eth0それ自体が新しいMACアドレスも取得したことを意味します。その理由は、ifconfig eth0:1 up新しいリンクが作成されないためです。既存のIPアドレスにIPアドレスを追加するだけです。macvlanリンクを作成するのが良い方法のようです。
JojOatXGME 2017

3

これはLinux(Kali)で私のために働いています。個人的な状況に基づいて、アドレス、ゲートウェイ、またはネットマスクを変更する必要がある場合があります。これが必要ない場合は申し訳ありませんが、少し前に行ったように、次の人がここでつまずきます。

またはなど<your-nicN>からどこを見ますかifconfigeth0wlan0

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%20Networking : %20MAC%20VLANs%20and%20Virtual%20Ethernets

Edit3:「ボンド」をいじってみifenslaveましたが、それについてもう少し勉強する必要があるので、本当に理解できませんでした。GNS3で「EtherSwitchルーター」をセットアップし、「クラウド」のmacNデバイスを1つの「エンド」に割り当て、次に別の「クラウド」をVMwareホストのみのアダプターに割り当てた場合、仮想ボックスはおそらく同じように機能します、もう一方の「終わり」では、それを少しmacNいじって、「集約」をシミュレートするためにデバイスの速度を制限できるか、または「増加」のために10個の接続に負荷を分散できるかどうかを確認します帯域幅。Linuxですべてをtxqueuelen:10に設定した場合は、私はこれのもう一方の「終わり」にDragonflyBSDを持っています。GNS3を介して実際のルーターに接続しようとします。

Edit2:dhclientで必要な数だけ起動する簡単なスクリプトを次に示します。ルートとして実行する必要があります。それで、ファイルを作成し、可能であればchmod 750 <script>実行してsudoください。私はそれを次のように使用し./crazy-mac.sh 20ます。最初の引数を取り、それぞれ独自のMACアドレスとIPアドレスを持つ多くの新しいインターフェイスを作成します。健全性チェックはないので、賢く使うか、自分で追加してください;)

注:最初に通常のwlan0に接続してください。そうしないと機能しません。 how-to-connect-manually-to-a-wireless-ap また、それらがルーターのMACアクセスコントロールリストである場合は、ルーターが受け入れるMACアドレスのリストを取得するために、スニッフィングを行う必要がある場合があります。次に、スクリプトを編集して、そのリストを含むファイルを解析し、$iランダムなMACアドレスを作成できるようにする代わりに、シーケンスの各行を使用する必要があります。

注2:sleep <N>ループのどこかにaを置くと、多くの「デバイス」が順番に表示され、ネットワークに注意を払っている人がいる場合は、いくつかの赤いフラグが立てられる可能性があります。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アドレスのリストが必要な場合、ファイルがファイルの行ごとに1つの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

編集:私は、複数のインターフェイスを単一の「ラグ」インターフェイスに集約してパフォーマンスを向上させるか、何らかの理由でダウンした場合にフォールバックを提供するために使用できる「ラグ」デバイス(少なくともUNIXの場合)について読んでいました。

MACアドレスごとに帯域幅が制限されている状況でこれがどのように役立つかについて考えていたところです。このような状況で使用できるため、多くの仮想macNインターフェイスをすべて使用して、帯域幅を1つに集約できます。単一のインターフェース、そしておそらくそれを仮想ホストまたは何かに調整/タップします。これは私にとって興味深いものです。個人のwifiのMACアドレスごとに帯域幅の制限を設定してシナリオを再現し、これを試してみます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.