ネットワークアダプターまたはワイヤレスアダプターにいくつかの仮想MACアドレスを作成したいので、1台のコンピューターまたはラップトップから複数のIPアドレスでネットワークに接続できます。
どうすればできますか?(私の友人の1人が大学でそれを行っており、ネットワークに複数のIPアドレス(場合によっては最大255)を持っているため、それが可能であることを知っています)。
ネットワークアダプターまたはワイヤレスアダプターにいくつかの仮想MACアドレスを作成したいので、1台のコンピューターまたはラップトップから複数のIPアドレスでネットワークに接続できます。
どうすればできますか?(私の友人の1人が大学でそれを行っており、ネットワークに複数のIPアドレス(場合によっては最大255)を持っているため、それが可能であることを知っています)。
回答:
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
編集:仮想デバイスを設定するためのヒントを追加します。
最初に追加のデバイスをセットアップします。例:
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アドレスを割り当てることができます。正式に登録する必要はありません)。
eth0
と「eth0:1」に異なるMACアドレスを割り当てることはできません。eth0:1
説明どおりに作成するとします。確かに、私は自分のシステムでテストしました。最後のコマンド(ip link ...
)は、両方の「インターフェース」のMACアドレスを変更しました。これは、eth0
それ自体が新しいMACアドレスも取得したことを意味します。その理由は、ifconfig eth0:1 up
新しいリンクが作成されないためです。既存のIPアドレスにIPアドレスを追加するだけです。macvlan
リンクを作成するのが良い方法のようです。
これは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%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アドレスごとに帯域幅の制限を設定してシナリオを再現し、これを試してみます。