DHCPテスト用の「実際」2番目のネットワークインターフェイスを動的に生成します。

DHCPテスト用の「実際」2番目のネットワークインターフェイスを動的に生成します。

複数のLinuxリモートホストで対応するリモートDHCPサーバーをテストしたい(このサーバーは別のホストにあり、それにアクセスできません)。
SSHを使用してこれらのホストに接続して再起動したり、eth0設定を変更したくありません。

 

私は基本的なDHCP情報を取得する方法を知っています。nmap --script broadcast-dhcp-discover
これは非常に有用な情報を提供します。しかし、私たちはバグのあるDHCPサーバーを扱っているので、時間の経過とともにそれをテストするために「実際の」ネットワークインターフェースを設定したかったのです。

ネットワークインタフェースeth0:1を使用すると、dhclientは操作の実行を拒否します。

ip addr add 192.168.0.123/24 label eth0:1 dev eth0
dhclient -v eth0:1
# --> dhclient displays: Bind socket to interface: No such device

 

その後、仮想ネットワークインターフェイスを作成して接続してみました。ただし、これにより不要なeth0構成が変更されます。

ip link add br0 type bridge         # create a bridge

# in one line, so the ssh connection is not lost (can additionnaly be wise
# to use "screen" but I currently do the tests on a local computer):
ip addr del 192.168.0.30/24 dev eth0; \
ip addr add 192.168.0.30/24 dev br0;  \
ip link set dev eth0 master br0;      \
ip link set dev br0 up

modprobe  dummy                     # create dummy0 
ip link set dev dummy0 master br0

これで、eth0にDHCPをリースできます。dhclient -v eth0素晴らしい作品。
ただし、dhclient -v dummy0DHCPリースは取得されません(エラーは表示されません)。

 

--> eth0(eth0をブリッジの一部にするデバイス)に触れることなく、物理ネットワークに正しくブリッジされるネットワークインターフェイスをどのように生成しますか?

関連情報